Commit graph

7942 commits

Author SHA1 Message Date
CYBAI
f43c604bf3 Implement URLSearchParams.prototype.sort() 2019-01-08 16:48:19 +08:00
CYBAI
b5276194f4 Combine two impls into one 2019-01-08 15:54:40 +08:00
Josh Matthews
ec6a936f5c Use incumbent global for postmessage origin check. 2019-01-07 22:19:26 -05:00
Josh Matthews
51ab14086c Synchronously update the pipeline of same-origin iframe elements as soon as the child document begins parsing. 2019-01-07 22:19:26 -05:00
Josh Matthews
45619db0ba Provide the source window as part of postMessage events. 2019-01-07 22:19:25 -05:00
Emilio Cobos Álvarez
97bd8fc280 Fix Servo build. 2019-01-07 00:59:30 +01:00
Manish Goregaokar
4328fc23a7 Clean up HTMLMediaElement::Play 2019-01-04 15:05:07 -08:00
Manish Goregaokar
611dc4bc70 Remove now-unnecessary must_root and allow(unrooted_must_root) annotations 2019-01-04 15:05:07 -08:00
Manish Goregaokar
6df1c6d7e7 Explain unrooted_must_root on ServiceWorkerContainer::Register 2019-01-04 09:34:04 -08:00
Manish Goregaokar
e28e73c81f Exempt Rc<Promise> from unrooted_must_root
fixes #22504
2019-01-04 09:34:04 -08:00
Simon Sapin
cf05e37c0b Fix new warnings 2019-01-04 15:27:23 +01:00
Simon Sapin
5f422b6161 Upgrade to rustc 1.33.0-nightly (c0bbc3927 2019-01-03)
CC https://github.com/rust-lang/rust/issues/56105#issuecomment-451457706
2019-01-04 15:27:12 +01:00
bors-servo
c4a6dcfe4b
Auto merge of #22528 - Manishearth:webxr, r=jdm,MortimerGoro
Preliminary WebXR support

This implements just enough WebXR to display to 3DOF devices in
immersive mode only.

Couple missing things:

 - [ ] Handling reference spaces (even if just supporting eye-level spaces)
 - [x] Spec links
 - [ ] We enter immersive mode when baseLayer is set, but it seems like
we're supposed to do this when requestSession is called (https://github.com/immersive-web/webxr/issues/453)
 - [ ] VR/XR should block less (https://github.com/servo/servo/issues/22505)
 - [x] More pref-gating
 - [x] `views` is a method instead of an attribute because we don't support FrozenArray

<s>Once I add spec links and pref gating</s> this can be landed as-is for further experimentation.

r? @jdm @MortimerGoro

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22528)
<!-- Reviewable:end -->
2019-01-04 02:54:16 -05:00
Manish Goregaokar
e544462b6c Remove unrooted_must_root 2019-01-03 23:53:50 -08:00
Manish Goregaokar
4d73eac27c NonNull::new() 2019-01-03 23:53:50 -08:00
Manish Goregaokar
cfa539751c Link to relevant issues 2019-01-03 23:53:50 -08:00
Manish Goregaokar
309bd63c70 Remove Cell in XRSpace 2019-01-03 23:53:50 -08:00
Manish Goregaokar
c3b93a967d Silence unused warnings 2019-01-03 23:53:50 -08:00
George Roman
a2d5d4f3da Serialize the children of void html elements as empty strings 2019-01-03 07:49:13 +02:00
bors-servo
e68585a26f
Auto merge of #22576 - Eijebong:itertools, r=Manishearth
Update itertools to 0.8

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22576)
<!-- Reviewable:end -->
2019-01-02 13:05:04 -05:00
Bastien Orivel
b3fd2233b3 Update itertools to 0.8 2018-12-30 16:09:34 +01:00
Simon Sapin
be69f9c3e6 Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
Simon Sapin
82fc6d9f49 Upgrade to rustc 1.33.0-nightly (fb86d604b 2018-12-27) 2018-12-28 13:16:55 +01:00
George Roman
deb02ab6d7 Implement HTMLMediaElement defaultPlaybackRate and playbackRate attributes 2018-12-26 22:20:51 +02:00
bors-servo
7bc6c8d18f
Auto merge of #22555 - CYBAI:new-urlsearchparams, r=jdm
Construct URLSearchParams from array or object

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22554, fix #22556 and also fix #22557
- [x] There are tests in `url/urlsearchparams-constructor.any.js` for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22555)
<!-- Reviewable:end -->
2018-12-26 08:36:00 -05:00
CYBAI
115b73f636 Use IndexMap for WebIDL Record 2018-12-26 18:05:43 +08:00
CYBAI
4ba0ab7bd0 Construct URLSearchParams from array or object 2018-12-26 18:05:42 +08:00
bors-servo
66223ee105
Auto merge of #22121 - gterzian:remove_constellation_block_in_navigation, r=paulrouget
Remove sync constellation -> embedder communication

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #22042 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22121)
<!-- Reviewable:end -->
2018-12-26 01:53:20 -05:00
CYBAI
9de8e7adc0 Remove leading question mark when constructing URLSearchParams 2018-12-25 12:23:05 +08:00
CYBAI
66e3d545eb Implement URL's toJSON() 2018-12-24 20:45:43 +08:00
bors-servo
6840c18389
Auto merge of #22540 - CYBAI:update-sw-webidl, r=jdm
Update ServiceWorker webidl

About the `void postMessage`, I found the spec doesn't have `[Throws]`; however, as the implementation for `postMessage` in spec, we should have `[Throws]` for it because it will throw errors. Then, I realized that `[Throws]` is not part of standard webidl. Btw, there's a issue discussing about if `[Throws]` should be standardized or not at heycam/webidl#603.

Also, per the spec, `ServiceWorker` will `includes` `AbstractWorker` instead of `implements` so I filed #22539 for it. We can update it after the issue is fixed.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #19302
- [x] These changes do not require tests because it just updates the webidl and the changes should have no impact to current implementation.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22540)
<!-- Reviewable:end -->
2018-12-23 15:21:08 -05:00
bors-servo
248d8596d5
Auto merge of #22538 - CYBAI:update-sw-container, r=jdm
Update ServiceWorkerContainer Webidl

Looks like the spec has changed a lot. Maybe it's better to update the implementation for these methods in a separate PR.

Let's just update webidl in this PR?

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of  #19302
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22538)
<!-- Reviewable:end -->
2018-12-23 12:17:40 -05:00
Emilio Cobos Álvarez
006e71c7de style: Make Servo use a single thread-pool for layout-related tasks per-process.
Instead of per-document. This also allows to reuse this thread-pool if needed
for other stuff, like parallel CSS parsing (#22478), and to share more code with
Gecko, which is always nice.
2018-12-23 13:00:56 +01:00
bors-servo
27bb33cb9e
Auto merge of #22490 - cdeler:fix-22484-issue, r=ferjm
#22484 small cleanup

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22484 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's a small code cleanup

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22490)
<!-- Reviewable:end -->
2018-12-23 05:24:33 -05:00
Gregory Terzian
cca354b217 set document ready state to complete in step 4 of parser abort 2018-12-23 17:39:20 +08:00
Gregory Terzian
7530faa4ea check for a document being "fully-active" before reflows 2018-12-23 17:39:20 +08:00
Gregory Terzian
eb82e781a3 implement windowproxy "delay-load-event-mode", and partially document "completely-loaded" 2018-12-23 17:39:13 +08:00
CYBAI
370ee8984f Update ServiceWorker webidl 2018-12-23 15:52:01 +08:00
Manish Goregaokar
feb2a2d3c9 Switch viewerpose to an any attribute 2018-12-22 23:02:40 -08:00
Manish Goregaokar
64a64a8d6d Properly support depthNear and depthFar 2018-12-22 22:53:38 -08:00
Manish Goregaokar
c6c6b518cb Add spec links 2018-12-22 22:30:42 -08:00
Manish Goregaokar
241d93340b Add dom.webxr.enabled pref 2018-12-22 22:19:35 -08:00
bors-servo
31c618895b
Auto merge of #22458 - denismerigoux:master, r=jdm
Fixed bug in textinput::adjust_vertical concerning selection_origin

<!-- Please describe your changes on the following line: -->
The `adjust_vertical` function of the `TextInput` module was forgetting to update the `selection_origin`.

I discovered the bug and figured out how it fix it using formal verification. More precisely, I manually translated the Rust code in a [F*](https://www.fstar-lang.org/) program that was functionally equivalent. Then I used the `assert_ok_selection` as a post-condition on the following functions :

* `select_all`
* `clear_selection`
* `adjust_selection_for_horizontal_change`
* `clear_selection_to_limit`
* `adjust_vertical`
* `perform_horizontal_adjustment`
* `adjust_horizontal`
* `adjust_horizontal_to_line_end`

I managed to prove automatically (using the Z3 backend of F*) that the post-condition held for all the functions except for `adjust_vertical`. I used the error messages from F* to infer the missing code so that the postcondition could hold and manually translated it to this PR diff.

I also added a simple unit test that would fail without this patch, and observed that the assertion failures noted in https://github.com/servo/servo/issues/22457 disappeared with this patch.

This verification work also allows me to say that the code of all the functions is now functionally correct in the sense that they all yield a valid selection in the sense of `asssert_ok_selection`, in all cases.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22457 (GitHub issue number if applicable)

<!-- Either: -->
- [x] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22458)
<!-- Reviewable:end -->
2018-12-23 01:00:12 -05:00
CYBAI
2f48f439d8 Update ServiceWorkerContainer Webidl 2018-12-23 13:47:44 +08:00
bors-servo
27577955aa
Auto merge of #22456 - dlrobertson:fix_src, r=ferjm
Update src/href attributes to be a USVString

The following IDLs have the src/href attributes typed as a `DOMString`
while in the spec the attribute has been updated to be a `USVString`:

 - [HTMLIFrameElement]
 - [HTMLImageElement]
 - [HTMLInputElement]
 - [HTMLLinkElement]
 - [HTMLMediaElement]
 - [HTMLScriptElement]

Fixes: #22454

[HTMLIFrameElement]: https://html.spec.whatwg.org/multipage/#htmliframeelement
[HTMLImageElement]: https://html.spec.whatwg.org/multipage/#htmlimageelement
[HTMLInputElement]: https://html.spec.whatwg.org/multipage/#htmlinputelement
[HTMLLinkElement]: https://html.spec.whatwg.org/multipage/#htmllinkelement
[HTMLMediaElement]: https://html.spec.whatwg.org/multipage/#htmlmediaelement
[HTMLScriptElement]: https://html.spec.whatwg.org/multipage/#htmlscriptelement

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22456)
<!-- Reviewable:end -->
2018-12-22 23:50:40 -05:00
bors-servo
47eb8fe3db
Auto merge of #22533 - CYBAI:rm-sw-foreign, r=jdm
Remove `foreign` service-workers mode

Bringing in the spec changes from whatwg/fetch#596

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because the corresponding tests should already be removed.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22533)
<!-- Reviewable:end -->
2018-12-22 22:36:03 -05:00
CYBAI
3082b577a5 Remove foreign service-workers mode 2018-12-23 01:48:45 +08:00
Denis Merigoux
e1ea8fbd35 Fixed bug in textinput::adjust_vertical concerning selection_origin update
This bug was discovered using the F* formal verification framework.

Style changes (match -> if let)

Replace if let Some(_) by .is_some()
2018-12-22 17:50:24 +01:00
bors-servo
cc0e7fde21
Auto merge of #22100 - Eijebong:once, r=jdm
Implement AddEventListenerOptions: once

Fixes #13242

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22100)
<!-- Reviewable:end -->
2018-12-22 11:35:44 -05:00
Bastien Orivel
50c832762f Implement AddEventListenerOptions: once
Fixes #13242
2018-12-22 17:11:30 +01:00