Commit graph

9062 commits

Author SHA1 Message Date
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
bors-servo
7281336116
Auto merge of #25343 - Manishearth:autoraf, r=jdm
Do not wait for rAF to be requested in render loop

Servo-side of https://github.com/servo/webxr/pull/114

r? @jdm
2020-01-02 03:30:56 -05:00
Manish Goregaokar
666ee5ceff Kick the raf loop in inline sessions 2020-01-02 13:56:16 +05:30
Patrick Shaughnessy
1506643f9a Now using eq_ignore_case on WASM mimetype, per #25317 2019-12-31 18:26:45 -05:00
Manish Goregaokar
01f27e9c69 Do not wait for rAF to be requested in render loop 2019-12-29 00:01:35 -08: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
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
Kunal Mohan
9b59b9602c
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.
2019-12-23 01:06:58 +05:30
bors-servo
43a5f65940
Auto merge of #25359 - pshaughn:auto_ct_header, r=jdm
Autocomputed content-type header now reaches net request

The spec expects that for a DOM Request r, r.headers and r.request can actually refer to the same header list in RAM, with changes to one affecting the other. This is mostly unobservable, but it happens to come up at the point in the Request constructor that auto-infers a content type from the body, so now after inferring the content type it injects it into both header lists instead of one.
Remaining test failures are due to the way Hyper crates normalize semicolons in MIME types, and an actually separate problem about content-lengths that I haven't sniffed out yet.

---
<!-- 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 WPT results from #24904

<!-- 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-22 11:12:56 -05:00
Patrick Shaughnessy
b9c4b64978 Autocomputed content-type header now reaches net request 2019-12-21 19:37:38 -05:00
lberrymage
cd9195056c Add lint check for &DomRoot<T>
`&DomRoot<T> is strictly less expressive than `&T`, so using it is
pointless.
2019-12-21 12:44:35 -09:00
bors-servo
bac9903fbe
Auto merge of #24123 - gterzian:redo_blob, r=jdm
Restructure Blob, structured serialization

<!-- Please describe your changes on the following line: -->
FIX #24052 and also address the "cloning" half of FIX #23917

---
<!-- 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 #___ (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/24123)
<!-- Reviewable:end -->
2019-12-19 16:16:56 -05:00
Warren Fisher
5c3bda0251 Remove Optional pipeline_id 2019-12-19 02:25:43 -04:00
Kunal Mohan
cb1cb40a51
Implement MessageEvent.InitMessageEvent
InitMessageEvent had to be implemented as required by wpt.
For this few keys of struct `MessageEvent` are now wrapped inside
DomRefCell wrapper.
2019-12-18 23:01:53 +05:30
Istvan Miklos
ebfcd0f27f Initial implementation of GPUBuffer for WebGPU
Added WebIDL bindings for GPUBuffer, GPUBufferDescriptor, GPUBufferUsage
Implemented the `createBuffer` and `createBufferMapped` functions of GPUDevice
2019-12-17 11:00:08 +01:00
bors-servo
6ccad53937
Auto merge of #25254 - pshaughn:stop_creating_outofspec_events, r=jdm
Removed createEvent cases, removed now-unused new_uninitializeds

<!-- Please describe your changes on the following line: -->
document.createEvent was creating some event types WHATWG now says shouldn't be created that way. This was the only caller of a few new_uninitialized methods, so those are removed too.

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

<!-- 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-17 02:13:13 -05:00
bors-servo
b274d59875
Auto merge of #25236 - pshaughn:safelistct, r=jdm
De-deplicate is_cors_safelisted_request_header helper functions

<!-- Please describe your changes on the following line: -->
Separate is_cors_safelisted_request_header implementations in script::dom::request and net::fetch::methods have been merged to a single implementation in net_traits::request, with additional logic for spec requirements that weren't previously there. This doesn't pass all the failing tests, but it doesn't fail any passing ones either and it reduces confusion about what's supposed to happen where.

---
<!-- 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 #25235 and some but not all subcases in #25175

<!-- Either: -->
- [X] There are tests for these changes, in that the WPT CORS tests that did already pass still do

<!-- 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-16 20:51:09 -05:00
bors-servo
d205194618
Auto merge of #25070 - cagandhi:named-form-getter, r=jdm
Named form getter

This PR contains changes related to adding named getter in Servo for getting the list of all meaningful property names for a HTMLFormElement object, and getting the value of a specific property name. The following changes have been made:

* uncomment the [named getter](f63b404e0c/components/script/dom/webidls/HTMLFormElement.webidl (L30)) from HTMLFormElement.webidl
* add the missing `NamedGetter` and `SupportedPropertyNames` methods to [HTMLFormElement](f63b404e0c/components/script/dom/htmlformelement.rs (L113))
* implement `SupportedPropertyNames` according to [the specification](https://html.spec.whatwg.org/multipage/forms.html#the-form-element:supported-property-names):
  * create an enum to represent the `id`, `name`, and `past` states for the sourced names
  * create a vector of `(SourcedName, DomRoot<HTMLElement>)` by iterating over `self.controls` and checking the element type and calling methods like `HTMLElement::is_listed_element`
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16479 (GitHub issue number if applicable)
2019-12-16 18:10:12 -05:00
bors-servo
c9baa5b9fc
Auto merge of #25211 - kunalmohan:6631-Worker-Id, r=jdm
`worker_id` type changed to uuid

<!-- Please describe your changes on the following line: -->
Fixes #6631
`worker_id` is now generate as uuid and saved as string.

---
<!-- 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 #6631  (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. -->
2019-12-16 11:31:44 -05:00
Patrick Shaughnessy
67827debd8 Now just one is_cors_safelisted_request_header, with closer spec alignment 2019-12-16 09:07:02 -05:00
Anshul Jethvani
254bbc3b8c removed duplicate entries from sourcedNamesVec for step 7 of SupportedPropertyNames 2019-12-16 01:41:59 -05:00
Shinichi Morimoto
7d184c1b01 #23330 fix clear_entries_by_name_and_type bug 2019-12-13 13:41:48 -05:00
Shinichi Morimoto
d25d658219 #24468 call update_entry API from process_response_eof 2019-12-13 13:41:48 -05:00
Shinichi Morimoto
baf2b6e4ab #24468 add a update_entry method to Performance 2019-12-13 13:41:48 -05:00
Shinichi Morimoto
91287216f5 #24468 Performance::queue_entries return the index of the added performance entry 2019-12-13 13:41:47 -05:00
Shinichi Morimoto
faee09ffa9 #24468 call submit_resource_timing after creating the document parser 2019-12-13 13:41:47 -05:00
Shinichi Morimoto
2457a6be0f #23330 modified performance interface's timing member to attribute 2019-12-13 13:41:47 -05:00
bors-servo
e8d6ed09c4
Auto merge of #25272 - pshaughn:domexception_inherits_tostring, r=Manishearth
DOMException now inherits its Javascript toString from Error

<!-- Please describe your changes on the following line: -->
stringifier is out of the DOMException IDL, and Stringifier(&self) is moved into the main body of DOMException where it can continue to be called internally.

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

<!-- 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-12 22:50:26 -05:00
bors-servo
068a210da0
Auto merge of #25267 - jdm:devtools-module-script-warning, r=Manishearth
Issue warning to devtools when module scripts in use.

This makes it easier to identify why content isn't working in environments which don't have access to the RUST_LOG output.
2019-12-12 22:17:06 -05:00
Patrick Shaughnessy
981d13dcfc Stringifier is sno longer exposed 2019-12-12 20:20:31 -05:00
bors-servo
748edb2cd9
Auto merge of #25259 - Manishearth:wpt-fixes, r=asajeffrey
Various webxr WPT fixes

Needs https://github.com/servo/webxr/pull/108

r? @asajeffrey

Went through most of the failing tests and fixed them. Many of the remaining ones fail due to unsupported features that I can slowly whittle away.
2019-12-12 18:13:15 -05:00
Josh Matthews
55eb34b8a9 Issue warning to devtools when module scripts in use. 2019-12-12 15:42:37 -05:00
Patrick Shaughnessy
ec70f42638 Removed createEvent cases, removed now-unused new_uninitializeds 2019-12-12 11:33:32 -05:00
Manish Goregaokar
d12f8e31a3 Allow spawning inline sessions without interaction 2019-12-11 23:34:25 -08:00
bors-servo
82fd8d1daf
Auto merge of #25159 - garasubo:fix-composition-event, r=jdm
implement composition event creation in Document.createEvent

Solved the problem mentioned in https://github.com/servo/servo/issues/24724#issuecomment-562326328

Add logic to create composition event for Document.createEvent. This resolved some WPT test failure, so updated the metadata as well

Ref: https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent

---
<!-- 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
- [ ] These changes fix #___ (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. -->
2019-12-12 01:33:04 -05:00
Manish Goregaokar
fe7cbd7843 Construct viewports for inline sessions 2019-12-11 22:12:07 -08:00
Manish Goregaokar
3414c8d22d Correctly clamp ivfov and depth values 2019-12-11 22:12:07 -08:00
Manish Goregaokar
f52a6f0e8f Set inlineVerticalFieldOfView to null for immersive sessions 2019-12-11 22:12:07 -08:00
Manish Goregaokar
5b3132ebb7 Clean up mock view code, support mono views 2019-12-11 22:12:07 -08:00
Manish Goregaokar
c2d3c646ef Handle FOV values in mock API 2019-12-11 22:12:07 -08:00
Manish Goregaokar
bc1bd22d47 Use actual floor origin for local-floor 2019-12-11 22:12:07 -08:00
Manish Goregaokar
322463450d Support nullable origins and floors 2019-12-11 22:12:06 -08:00
Manish Goregaokar
e27687497b Use correct timestamps 2019-12-11 22:11:23 -08:00