Commit graph

37200 commits

Author SHA1 Message Date
Fernando Jiménez Moreno
2e5c058463 Implement concept of shadow including tree order 2019-04-26 10:17:46 +02:00
Fernando Jiménez Moreno
f6ba165882 Throw when trying to import or adopt a shadow root 2019-04-26 10:17:46 +02:00
Fernando Jiménez Moreno
6a85409ffe Throw NotSupported when trying to deep clone a shadow root 2019-04-26 10:17:46 +02:00
Fernando Jiménez Moreno
d6ddb08e23 Do not care about shadow roots when getting root element 2019-04-26 10:17:46 +02:00
Fernando Jiménez Moreno
c48ad0ff7e Introduce concept of composed parent node 2019-04-26 10:17:46 +02:00
Fernando Jiménez Moreno
1b036355ce Bind/unbind shadow host children to/from tree 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
df81debffc Set connected flag not only on elements 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
4740ce53a0 Make note_dirty_descendants jump around shadow roots 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
ea69bbc75b Node retargeting algorithm 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
441357b74e Add is_connected flag to node and use it to replace most uses of is_in_doc 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
640fc04743 Implement shadow-including root, set node as in doc when connected. Makes JS work in shadow trees 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
48975840dd Unify DocumentOrShadowRoot implementation 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
f3e707306f Test DOM isolation for shadow trees 2019-04-26 10:17:45 +02:00
Fernando Jiménez Moreno
ffdc9d255f Expose Element.AttachShadow under dom.shadowdom.enabled pref 2019-04-26 10:17:44 +02:00
Fernando Jiménez Moreno
091fcbecd1 Node shadow root owner 2019-04-26 10:17:44 +02:00
Fernando Jiménez Moreno
9022bd3d11 IS_IN_SHADOW_TREE flag 2019-04-26 10:17:44 +02:00
Fernando Jiménez Moreno
569b4fce10 Element attachShadow implementation 2019-04-26 10:17:44 +02:00
Fernando Jiménez Moreno
4304ee28dc Partial ShadowRoot implementation of DocumentOrShadowRoot 2019-04-26 10:17:44 +02:00
Fernando Jiménez Moreno
18ae0fcbd6 ShadowRoot interface 2019-04-26 10:17:44 +02:00
Fernando Jiménez Moreno
cbcf21c248 DocumentOrShadowRoot mixin 2019-04-26 10:17:44 +02:00
bors-servo
56c2e85cab
Auto merge of #23270 - Manishearth:audioparam-validation, r=ferjm
Add input validation for AudioParam methods

Waiting on a build to make WPT updates

Spec requires us to validate inputs, we aren't doing this here.

We don't need to check for things being finite since we already get the arguments as `Finite` values

<!-- 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/23270)
<!-- Reviewable:end -->
2019-04-26 03:32:48 -04:00
bors-servo
9b20187793
Auto merge of #23273 - servo-wpt-sync:wpt_update_26-04-2019, r=servo-wpt-sync
Sync WPT with upstream (26-04-2019)

Automated downstream sync of changes from upstream as of 26-04-2019.
[no-wpt-sync]
2019-04-26 01:35:36 -04:00
WPT Sync Bot
efca990ffe Update web-platform-tests to revision d3cf77a7b8c20c678b725238eaa8a72eca3787ae 2019-04-26 01:35:21 -04:00
bors-servo
b73956cc37
Auto merge of #23090 - miller-time:nav-fetch-referrer, r=gterzian
Add referrer to navigation fetch request

<!-- Please describe your changes on the following line: -->
Implement step 13 of [following hyperlinks](https://html.spec.whatwg.org/#following-hyperlinks-2) and step 14.3 of [window open](https://html.spec.whatwg.org/#window-open-steps), as well as other referrer- and fetch-related updates.

---
<!-- 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 #22890 (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/23090)
<!-- Reviewable:end -->
2019-04-25 20:21:23 -04:00
Manish Goregaokar
8a8a9f7135 Add input validation for AudioParam methods 2019-04-25 16:00:11 -07:00
bors-servo
880f3b8b7a
Auto merge of #23268 - asajeffrey:magicleap-package-fixes, r=jdm
Magicleap package fixes

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

A couple of fixes for magicleap packaging...
* Move the setting of the debuggable flag into the `.package` file where it belongs,
* Allow compiling with v0.20.0 of the SDK.

---
<!-- 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 do not require tests because it fixes the build

<!-- 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/23268)
<!-- Reviewable:end -->
2019-04-25 18:25:19 -04:00
bors-servo
36bb42525a
Auto merge of #23256 - jdm:clang-cl, r=asajeffrey
Use clang-cl for Windows builds

Depends on https://github.com/servo/mozjs/pull/178.

<!-- 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/23256)
<!-- Reviewable:end -->
2019-04-25 14:35:59 -04:00
Alan Jeffrey
73a874f742 Work around deprecated API when packaging for magicleap 2019-04-25 13:02:56 -05:00
Alan Jeffrey
82fcab38a4 Move debuggable flag setting for magicleap package to package file 2019-04-25 12:56:37 -05:00
bors-servo
caac107ae8
Auto merge of #23262 - paulrouget:cursor-update, r=jdm
Update SetCursor behavior

We were initially sending a SetCursor message on every mouse move because of a winit bug, which is now fixed.

Also, we had a layout SetCursor message that was never used.

Fix #18599

<!-- 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/23262)
<!-- Reviewable:end -->
2019-04-25 12:28:08 -04:00
bors-servo
e877dc2759
Auto merge of #23263 - servo:rustup, r=jdm
Upgrade to rustc 1.36.0-nightly (e305df184 2019-04-24)

This includes a `size_of` regression for a few DOM types, due to https://github.com/rust-lang/rust/pull/58623 which replaces the implementation of `HashMap` in the standard library to Hashbrown.

Although `size_of<HashMap>` grows, it’s not obvious how total memory usage is going to be impacted: Hashbrown only has one `u8` instead of one `usize` of overhead per hash table bucket for storing (part of) a hash, and so might allocate less memory itself.

Hashbrown also typically has better run time performance: https://github.com/rust-lang/hashbrown#performance

Still, I’ve filed https://github.com/rust-lang/hashbrown/issues/69 about potentially reducing the `size_of<HashMap>` regression.

<!-- 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/23263)
<!-- Reviewable:end -->
2019-04-25 10:58:23 -04:00
Josh Matthews
0136e5a2db Update mozjs. 2019-04-25 10:55:17 -04:00
Josh Matthews
c038ba4c7c Force the use of clang-cl.exe for Windows builds. 2019-04-25 10:55:16 -04:00
Simon Sapin
51d6b6350e Upgrade to rustc 1.36.0-nightly (e305df184 2019-04-24)
This includes a `size_of` regression for a few DOM types,
due to https://github.com/rust-lang/rust/pull/58623 which replaces the
implementation of `HashMap` in the standard library to Hashbrown.

Although `size_of<HashMap>` grows, it’s not obvious how total memory usage
is going to be impacted: Hashbrown only has one `u8` instead of one `usize`
of overhead per hash table bucket for storing (part of) a hash,
and so might allocate less memory itself.

Hashbrown also typically has better run time performance:
https://github.com/rust-lang/hashbrown#performance

Still, I’ve filed https://github.com/rust-lang/hashbrown/issues/69
about potentially reducing the `size_of<HashMap>` regression.
2019-04-25 13:52:09 +02:00
Aron Zwaan
e2e6e2ac94 Pass InCompartment by value 2019-04-25 11:37:35 +02:00
Paul Rouget
7858ede29f Update SetCursor behavior 2019-04-25 09:39:16 +02:00
bors-servo
07d1559141
Auto merge of #23250 - servo-wpt-sync:wpt_update_24-04-2019, r=servo-wpt-sync
Sync WPT with upstream (24-04-2019)

Automated downstream sync of changes from upstream as of 24-04-2019.
[no-wpt-sync]

<!-- 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/23250)
<!-- Reviewable:end -->
2019-04-24 20:25:39 -04:00
bors-servo
0b1a790683
Auto merge of #23252 - servo:jdm-patch-36, r=SimonSapin
Allow mac WPT jobs to run longer than 60 minutes

This should fix #23251 which has been hitting us lately as we run more tests.

<!-- 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/23252)
<!-- Reviewable:end -->
2019-04-24 17:35:35 -04:00
Josh Matthews
817aa49dc7
Update cmake for MSVC builds. 2019-04-24 15:07:31 -04:00
Aron Zwaan
1b6949d4cf Add proof parameter to Promise::new_in_current_compartment 2019-04-24 19:46:10 +02:00
Josh Matthews
facfa6a417
Allow mac WPT jobs to run longer than 60 minutes 2019-04-24 09:50:53 -04:00
Aron Zwaan
7b293ee8cb Add proof that code is executed in compartment 2019-04-24 12:44:33 +02:00
WPT Sync Bot
d4dc41672a Update web-platform-tests to revision 7a7e16ad8d1a1b843340f47101c0a5c24c9bba57 2019-04-24 00:13:37 -04:00
bors-servo
ec680de063
Auto merge of #23248 - asajeffrey:liblzma-dev-dependency, r=jdm
Added liblzma-dev dependency on Debian

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

This fixes a link error on Debian Linux
```
  = note: /usr/bin/ld.gold: error: cannot find -llzma
          collect2: error: ld returned 1 exit status
```

---
<!-- 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 do not require tests because it's a README

<!-- 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/23248)
<!-- Reviewable:end -->
2019-04-23 21:52:59 -04:00
bors-servo
155fad62b3
Auto merge of #23246 - servo:jdm-patch-30, r=SimonSapin
Don't run full WPT testsuite twice.

<!-- 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/23246)
<!-- Reviewable:end -->
2019-04-23 18:26:28 -04:00
bors-servo
03b005c7b2
Auto merge of #23178 - tdelacour:ISSUE-21263, r=jdm
Add PerformanceResourceTiming: ResponseEnd

<!-- Please describe your changes on the following line: -->
1. Added `ResponseEnd` to `ResourceAttribute` enum in `net_traits` and added it to the `set_attribute` function on `ResourceFetchTiming`
2. Added `response_end` field to `performanceresourcetiming.rs`
3. In `http_loader.rs`, set ResponseEnd after response body read is complete, or before return due to network error.

I could use a little guidance on testing. After building and running `wpt` tests, I noticed that some tests now "Pass" when they were expected to "Fail". As per the wiki instructions, I've removed those expectations from the `metadata`.

I noticed that there are a handful of other "failing" test expectations associated with `responseEnd`, but those still do not pass. I looked through some similar PRs (`connectEnd`, `redirectStart`, etc) and saw that they also still have a few failing test expectations here and there. Does that mean this is OK for now? How can I better understand which tests we expect to resolve for a given issue? Thanks!

---
<!-- 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 #21263 (GitHub issue number if applicable)

<!-- Either: -->
- [X] 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/23178)
<!-- Reviewable:end -->
2019-04-23 16:49:12 -04:00
bors-servo
4c8d29f5a7
Auto merge of #23200 - krk:webidl-lint, r=jdm
Webidl lint

Parse webidl files and lint for inheritance correctness.

---

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

<!-- 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/23200)
<!-- Reviewable:end -->
2019-04-23 15:24:33 -04:00
Alan Jeffrey
61f7f12f58 Updated bootstrap.py 2019-04-23 12:02:40 -05:00
Alan Jeffrey
3aa58eed16 Added liblzma-dev dependency on Debian 2019-04-23 11:42:38 -05:00
Thomas Delacour
fdbec9835c ISSUE-21263: implemented attribute setting in http loader 2019-04-23 12:33:28 -04:00