Commit graph

7927 commits

Author SHA1 Message Date
Manish Goregaokar
a90a42012b Add XRInputSourcesChangeEvent 2020-01-09 08:16:25 +05:30
Manish Goregaokar
82002765be Add select events 2020-01-09 08:16:25 +05:30
Manish Goregaokar
225254a6b3 Add disconnect()/reconnect() 2020-01-09 08:16:25 +05:30
Manish Goregaokar
e03fd0ef1c Add pointer/grip mocking 2020-01-09 08:16:25 +05:30
Manish Goregaokar
506a0afca3 Add FakeXRDevice::simulateInputSourceConnection() 2020-01-09 08:16:25 +05:30
Manish Goregaokar
7046f543a1 Expose targetRayMode 2020-01-09 08:16:25 +05:30
Manish Goregaokar
11e882385d Correctly initialize grip space 2020-01-09 08:16:25 +05:30
Manish Goregaokar
bf30bf26a4 Add blank FakeXRInputController interface 2020-01-09 08:16:25 +05:30
Manish Goregaokar
9ecb13d83f Add SimulateVisibilityChange() 2020-01-08 23:35:01 +05:30
bors-servo
1e7c206ac4
Auto merge of #25449 - pshaughn:select-adding, r=Manishearth
Implement HTMLSelectElement.add() and indexed setter

HTMLSelectElement.add and its indexed setter just needed to forward to matching methods in HTMLOptionsCollection, which they now do. It was also necessary to change codegen slightly; it had accidentally assumed that if an indexed setter existed, a named getter or setter also would.

I expect this and #25446 will combine to pass more tests than either alone does.

---
<!-- 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 #25003

<!-- 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. -->
2020-01-07 21:26:48 -05:00
bors-servo
3f5cb0e2f5
Auto merge of #25344 - jdm:webgl2-program-link, r=asajeffrey
Set more ANGLE shader translation properties for WebGL 2

Fixes #25034.
2020-01-07 18:26:40 -05:00
bors-servo
e185423fc7
Auto merge of #25310 - pshaughn:attr_node, r=Manishearth
Attr is a Node, with consequences for many Node methods

<!-- Please describe your changes on the following line: -->
Attr is now a Node, as current WHATWG specs require. I think I did some unidiomatic things to make compareDocumentPosition work and it could use a look by someone more familiar with how to write concise Rust code. I also think the new cases in compareDocumentPosition lack tests; it is possible to compare the position of two attributes, or of an attribute and an element, and I don't think any tests are exercising that functionality.

---
<!-- 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 #25124

<!-- Either: -->
- [ ] There are tests for these changes (existing cases of Node methods are well-tested, and there is a WPT test specifically for whether Attr is Node, but I'm not sure about new Node method cases)

<!-- 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. -->
2020-01-07 18:13:40 -05:00
Patrick Shaughnessy
c1b71fcc4d Implement HTMLSelectElement.add() and indexed setter, fix test that was relying on add to be a stub 2020-01-07 11:05:31 -05:00
Josh Matthews
156ad646a0 webgl: Set more ANGLE shader translation properties for WebGL 2. 2020-01-07 10:22:40 -05:00
Patrick Shaughnessy
a322c6079b Now passing output tests as well as anyone 2020-01-06 15:28:55 -05:00
bors-servo
fd2950e903
Auto merge of #25424 - pshaughn:labelfixes, r=Manishearth
Make labelable element .labels a live list in tree order

This is not the highest-performance solution possible but it's visibly spec-aligned in a way a faster-performing implementation would be harder to verify, and I don't expect label-getting to deal with more than a few nodes at once in practice.
I added a macro by analogy with some of the existing make_XXX_getter! macros; I will change it if it doesn't seem right.
Remaining test failures are because keygen, shadow DOM, and ElementInternals are unimplemented. Shadow DOM should already be handled by the existing code when it is implemented, and keygen should just be able to add a labels_node_list and use the macro like the other labelable elements. ElementInternals labels are slightly different and might need another NodeList case.

---
<!-- 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 #25391

<!-- Either: -->
- [X] There are tests for these changes, although there's room for more (see https://github.com/web-platform-tests/wpt/issues/21028)

<!-- 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. -->
2020-01-06 13:52:26 -05:00
Patrick Shaughnessy
036e8dabe2 Labels are a live list in tree order 2020-01-06 10:39:36 -05:00
bors-servo
5c7a4db5f4
Auto merge of #23545 - CYBAI:support-module-script, r=jdm,manishearth
Support type=module script element

This is still WIP but hope can be reviewed first to see if I'm on the right track. Thanks! 🙇‍♂️

- [x] Support external module script
- [x] Support internal module script
- [x] Compile cyclic modules

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23370 (GitHub issue number if applicable)
- [x] There are tests 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/23545)
<!-- Reviewable:end -->
2020-01-06 10:31:55 -05:00
Manish Goregaokar
9460b43f90 Use IndexSet for storing descendants
Fixes intermittent failures in `/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html`
2020-01-06 12:24:58 +05:30
bors-servo
afa1b85766
Auto merge of #25426 - kunalmohan:25149-EventOrigin, r=jdm
Remove `origin` parameter from `Worker::handle_message`

<!-- Please describe your changes on the following line: -->
Test in  `workers/interfaces/DedicatedWorkerGlobalScope/postMessage/message-event.html` was failing because worker.onmessage was seeing non-empty event.origin. Removing `origin` parameter from `Worker::handle_message` and sending `None` to `MessageEvent::dispatch_jsval` solves the issue.

r?@jdm

---
<!-- 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 #25149  (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. -->
2020-01-03 21:42:13 -05:00
bors-servo
2488213d18
Auto merge of #25414 - pshaughn:activeparserabort, r=jdm
Add "active parser was aborted boolean" to Document

Aborting the document now definitely prevents a subsequent document.open from working, per spec as seen in #24458.

---
<!-- 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 #24458 and fix #21279

<!-- Either: -->
- [X] There are tests for these changes (currently intermittent in #21279, this will make them deterministically pass)

<!-- 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. -->
2020-01-03 17:45:45 -05:00
bors-servo
33bea4a089
Auto merge of #25409 - pshaughn:nomenubutton, r=jdm
Remove "menu" from legal button types

Just cleanup from a spec change, passing a WPT test for it.

---
<!-- 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 #25382

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

<!-- 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. -->
2020-01-03 17:11:32 -05:00
Kunal Mohan
0692a26bcc
Remove origin parameter from Worker::handle_message 2020-01-04 02:22:43 +05:30
bors-servo
7d986a2eb1
Auto merge of #25397 - teapotd:input-cloning-steps, r=jdm
Implement HTMLInputElement cloning steps

This change adds missing [cloning steps for input elements](https://html.spec.whatwg.org/multipage/#the-input-element%3Aconcept-node-clone-ext).

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #25385
- [X] There are tests for these changes
2020-01-03 14:40:09 -05:00
bors-servo
77db7ea0ee
Auto merge of #25393 - teapotd:option-constructor, r=jdm
Implement HTMLOptionElement named constructor

This change implements `Option` named constructor for `HTMLOptionElement`.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #25380
- [X] There are tests for these changes
2020-01-03 14:23:21 -05:00
teapotd
155f69ce48 Implement HTMLOptionElement named constructor 2020-01-03 14:45:31 +01:00
bors-servo
171b543a8a
Auto merge of #25410 - pshaughn:ceupgrade, r=jdm
Implement CustomElementRegistry.upgrade

<!-- Please describe your changes on the following line: -->
An additional small change will be needed if whatwg/html#5126 lands, which will pass an infinite recursion test this is currently failing in custom-elements/upgrading.html (right now the test is asking for behavior that isn't in the spec).
The remaining test in custom-elements/custom-element-registry/upgrade.html is because it needs shadow DOM.

---
<!-- 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 #24989

<!-- 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. -->
2020-01-03 02:57:01 -05:00
bors-servo
3892d85fe0
Auto merge of #25407 - pshaughn:radiocase, r=jdm
Radio button grouping is now case-sensitive

Just catching up with a spec update, as explained in #25389

---
<!-- 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 #25389

<!-- 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. -->
2020-01-02 23:56:36 -05:00
CYBAI
1cc6435cfc Implement nomodule attribute 2020-01-03 13:04:21 +09:00
CYBAI
5c9536acdc Support module script credentials mode 2020-01-03 13:04:19 +09:00
CYBAI
cfad32cffd Support integrity for module script 2020-01-03 13:03:18 +09:00
CYBAI
f2007751dd Scaffold module script 2020-01-03 13:02:31 +09:00
bors-servo
d47f0ad1f6
Auto merge of #25364 - kunalmohan:22912-MediaTracks, r=jdm
Add `track_list` member to AudioTrack, VideoTrack, TextTrack structs

Add member to the track structs pointing at their associated tracklist
and update it when the track is added or removed from a tracklist.

r?@jdm

<!-- 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: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22912  (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. -->
2020-01-02 21:34:24 -05:00
bors-servo
097a91112e
Auto merge of #25358 - pshaughn:looser_header_validation, r=jdm
Header values no longer have to be ASCII or UTF-8

<!-- Please describe your changes on the following line: -->
This passes some failed tests related to header validity when handling ByteStrings outside the printable ASCII range. A few failures remain because the HeaderValue class is stricter than WHATWG/WPT, disallowing various control-code bytes that the spec and tests expect to be allowed.

---
<!-- 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 some of the test cases described in #24903

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

<!-- 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. -->
2020-01-02 21:05:08 -05:00
Simon Sapin
fdcc7653f2 Fix some warnings in future Rust nightlies 2020-01-02 19:22:03 +01:00
Patrick Shaughnessy
3bd30afcf3 Just the code, no metadata for now 2020-01-02 10:23:44 -05:00
Manish Goregaokar
666ee5ceff Kick the raf loop in inline sessions 2020-01-02 13:56:16 +05:30
Patrick Shaughnessy
065bcee371 CustomElementRegistry.upgrade works by current spec 2020-01-01 22:23:44 -05:00
Patrick Shaughnessy
3da1251488 No more menu button 2019-12-31 20:03:30 -05:00
Patrick Shaughnessy
b20881639e Radio button grouping is now case-sensitive 2019-12-31 17:57:59 -05:00
Manish Goregaokar
01f27e9c69 Do not wait for rAF to be requested in render loop 2019-12-29 00:01:35 -08:00
teapotd
386dc9fd75 Implement HTMLInputElement cloning steps 2019-12-26 17:53:18 +01:00
Patrick Shaughnessy
0c08849d1c Headers no longer have to be ASCII or UTF-8, though there is some disagreement with http::header::HeaderValue 2019-12-24 11:08:15 -05:00
bors-servo
dadbc36f8c
Auto merge of #25373 - pshaughn:ce_options_string, r=jdm
let document.createElement[NS] accept a string for options

The string actually does nothing, but spec and WPT don't want it to do anything. https://dom.spec.whatwg.org/#dom-document-createelement only cares about the options value when it's a dictionary, and the WPT test on the string case is just that it isn't throwing an exception.

---
<!-- 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 #25008

<!-- 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. -->
2019-12-23 22:21:47 -05:00
bors-servo
8791849291
Auto merge of #25367 - pshaughn:ce_undefined_is, r=jdm
apply is: to Document.createElement even when name isn't registered yet

The "is" option to Document.createElement should be respected even when the name hasn't been registered yet, in which case the name gets looked up again at the time the element should be upgraded. This change does that.
I'm now seeing a few test timeouts that aren't in the metadata, but I suspect they're slowness on my local configuration and not actual breakage.

---
<!-- 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 #25009 fix #24997 and fix #24998

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

<!-- 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. -->
2019-12-23 19:44:15 -05:00
Patrick Shaughnessy
67e9fc8c0a Attr is a Node, with consequences for many Node methods 2019-12-23 19:10:16 -05:00
Patrick Shaughnessy
8184a25c17 createElement can now take an ignored string for options 2019-12-23 11:35:32 -05:00
bors-servo
7e8a305394
Auto merge of #25366 - pshaughn:hasinstance, r=jdm
Remove obsolete HasInstance behavior per heycam/webidl #356

This turns one WPT test from fail to pass and it leaves Servo with a little less platform object special-case code to worry about.

---
<!-- 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 #25039

<!-- 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. -->
2019-12-23 02:20:36 -05:00
Patrick Shaughnessy
14d278ff1c apply is: to Document.createElement even when name isn't registered yet 2019-12-22 20:46:31 -05:00
Patrick Shaughnessy
c99e0d1b98 Remove obsolete behavior per heycam/webidl #356 2019-12-22 17:58:26 -05:00