Commit graph

21500 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
93d3004c17 style: Use skip_if for translate serialization.
Trivial drive-by cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D21860
2019-03-13 15:08:22 +01:00
Emilio Cobos Álvarez
9b24a451f6 style: When deriving something with an output type, map preconditions as well.
Otherwise, deriving ToComputedValue and ToAnimatedValue in structs or enums with
other where clauses just doesn't work.

Differential Revision: https://phabricator.services.mozilla.com/D21859
2019-03-13 15:08:20 +01:00
Emilio Cobos Álvarez
35b8b95263 style: Implement a version of #[css(skip_if)] that takes more context.
I called it contextual_skip_if, though better names welcome.

Differential Revision: https://phabricator.services.mozilla.com/D21858
2019-03-13 15:08:19 +01:00
Emilio Cobos Álvarez
94686df11b style: Use rust lengths for the SVG lengths.
As it turns out we need this to avoid losing precision both during painting and
during serialization.

This patch also changes to serialize `context-value` if it's the computed value.

I could keep the previous behavior, but it makes no sense to serialize the
initial value. We're the only ones to support this value anyway, and I couldn't
find a definition or spec for this.

Also update tests and expectations for:

 * New unexpected passes.
 * Always serializing the unit in getComputedStyle.
 * Calc and interpolation support.

Chrome also always serializes the unit in getComputedStyle, so I'm pretty sure
this is compatible with them. Chrome is inconsistent and keeps numbers in
specified style, but that's inconsistent with itself and with other quirky
lengths, so I updated the tests instead.

Differential Revision: https://phabricator.services.mozilla.com/D21819
2019-03-13 15:08:17 +01:00
Emilio Cobos Álvarez
f1b5d5c06a style: Cleanup and fix interpolation of SVG lengths.
Instead of storing them as LengthPercentage | Number, always store as
LengthPercentage, and use the unitless length quirk to parse numbers instead.

Further cleanups to use the rust representation can happen as a followup, which
will also get rid of the boolean argument (since we can poke at the rust length
itself). That's why I didn't bother to convert it to an enum class yet.

Differential Revision: https://phabricator.services.mozilla.com/D21804
2019-03-13 15:08:15 +01:00
Emilio Cobos Álvarez
9e0d38a64f style: Make word-break: break-word behave like word-break: normal; overflow-wrap: anywhere.
Differential Revision: https://phabricator.services.mozilla.com/D21398
2019-03-13 15:08:14 +01:00
Emilio Cobos Álvarez
7d01114cbf style: Add a Zero trait that doesn't require Add, and use it in place of num_traits and IsZeroLength.
Use it to be consistent in InsetRect serialization and storage between Servo and
Gecko.

Differential Revision: https://phabricator.services.mozilla.com/D21493
2019-03-13 15:08:14 +01:00
Emilio Cobos Álvarez
4496411edc style: Fix computed value clamping.
Differential Revision: https://phabricator.services.mozilla.com/D21268
2019-03-13 15:08:13 +01:00
Hiroyuki Ikezoe
52db71c0bf style: Explicitly specify animation_value_type for scroll-padding.
Otherwise the Trait for clamping negative animation value isn't generated thus
negative animating results are exposed in computed values.

Differential Revision: https://phabricator.services.mozilla.com/D21153
2019-03-13 15:08:12 +01:00
Emilio Cobos Álvarez
197065f6bc style: Use rust lengths for border corners.
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-03-13 15:08:12 +01:00
Emilio Cobos Álvarez
aad4dac5b4 style: Make the generic size not use euclid under the hood.
The euclid size is not really used for anything. Also rename it to Size2D to
avoid cbindgen conflicts with values::length::Size.

Differential Revision: https://phabricator.services.mozilla.com/D20959
2019-03-13 15:08:11 +01:00
Emilio Cobos Álvarez
ebeb7b228f style: Simplify border-radius serialization.
Differential Revision: https://phabricator.services.mozilla.com/D20958
2019-03-13 15:08:10 +01:00
bors-servo
c12e341c0c
Auto merge of #23007 - BartGitHub:remove-pipeline-visibility-checks, r=jdm
Remove pipeline visibility checks

<!-- Please describe your changes on the following line: -->
This includes the following changes/clean-ups:

- Remove ```is_visible``` field from ```Pipeline``` struct
- Remove ```SetVisible``` script message, and related message sending/handling.

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

<!-- Either: -->
- [x] These changes do not require tests because the issue description states having a passing build is enough for a pull request.

<!-- 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/23007)
<!-- Reviewable:end -->
2019-03-13 08:33:26 -04:00
Aron Zwaan
39c652ed13 Remove SetVisible message from iframe 2019-03-12 11:26:41 +01:00
bors-servo
9513544e91
Auto merge of #23008 - georgeroman:implement_webdriver_find_elem_from_elem, r=Manishearth
Implement WebDriver FindElementFromElement command

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

<!-- 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/23008)
<!-- Reviewable:end -->
2019-03-11 20:47:27 -04:00
bors-servo
90e5f6264c
Auto merge of #23013 - servo:rm-rooted-reference, r=jdm
Simplify RootedReference and make it specifically about slices

It's now called `DomSlice<T>`.

<!-- 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/23013)
<!-- Reviewable:end -->
2019-03-11 14:32:13 -04:00
bors-servo
f2ea73f360
Auto merge of #22802 - gterzian:only_run_tasks_for_fully_active_docs, r=nox
In BC event-loop, only run tasks related to fully-active documents

<!-- 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 #22792 (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/22802)
<!-- Reviewable:end -->
2019-03-11 12:32:03 -04:00
Anthony Ramine
4d527b20ee Simplify RootedReference and make it specifically about slicesIt's now called DomSlice<T>. 2019-03-11 16:25:39 +01:00
bors-servo
6890347cd5
Auto merge of #22966 - Goncalerta:22962, r=jdm
Simplify VideoTrackList::set_selected

---
<!-- 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
- [x] These changes fix #22962 (GitHub issue number if applicable)
- [x] These changes do not require tests because just refactors existing code

<!-- 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/22966)
<!-- Reviewable:end -->
2019-03-11 11:21:10 -04:00
Anthony Ramine
1744a42dad Don't use RootedReference for Option<T> in codegen anymore 2019-03-10 18:24:35 +01:00
Anthony Ramine
5fe5e5d6de Remove most RootedReference uses
We can replace all uses of RootedReference for Option<T> by Option::deref calls.
2019-03-10 17:51:35 +01:00
bors-servo
169b8cf144
Auto merge of #22851 - georgeroman:make_blank_target_imply_noopener, r=cybai,jdm
Make blank target imply noopener, implement "opener" link type

<!-- 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 part of #22845

<!-- 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/22851)
<!-- Reviewable:end -->
2019-03-09 16:49:00 -05:00
George Roman
46cd0d17ee Implement WebDriver FindElementFromElement command 2019-03-09 16:56:51 +02:00
bors-servo
db29cb01b0
Auto merge of #22995 - servo:jdm-patch-28, r=nox
Remove an unnecessary synchronous full reflow.

We already reflow any nodes that are dirtied during any turn of the event loop. There is no reason to synchronously reflow the entire document, especially when we don't even modify it in this method.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22988
- [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/22995)
<!-- Reviewable:end -->
2019-03-08 13:27:10 -05:00
bors-servo
34a5a824b8
Auto merge of #23000 - jdm:invisible-webgl, r=nox
Make webgl behave better with session history

This prevents the compositor from animating pages that are not actually visible, so pages using webgl do not needlessly impact the performance of the rest of the browser. Additionally, this fixes a problem that was alluded to in [this code](b5228c098b/src/draw_buffer.rs (L282-L285)), causing Servo to delete arbitrary resources when a GC occurred in content that used three.js.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22987 and fix #22977 and fix #20934 and fix #20953 and fix #20930 and fix #20950 and fix #20924
- [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/23000)
<!-- Reviewable:end -->
2019-03-08 10:46:52 -05:00
Josh Matthews
056edbbd15 Ensure that removed contexts are made active before removal. 2019-03-08 09:49:52 -05:00
bors-servo
ac3c002138
Auto merge of #22999 - jdm:iframe-replace, r=asajeffrey,cbrewster
Fix replacement logic when navigating nested browsing contexts

These changes also fix a bug where traversing the session history in a nested browsing context did not update the iframe's contentWindow appropriately.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22996
- [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/22999)
<!-- Reviewable:end -->
2019-03-07 21:20:14 -05:00
Josh Matthews
c2ce7d72a1 Make nested browsing context navigations check the loaded status of the active document of the nested browsing context. 2019-03-07 19:01:54 -05:00
Josh Matthews
edfd15c36f Ensure iframe's contentWindow is updated when traversing the session history. 2019-03-07 18:58:53 -05:00
Josh Matthews
0e30666d18 Mark pipelines not visible when updating the active pipeline for a browsing context. 2019-03-07 18:47:49 -05:00
Josh Matthews
a8683bc3d8
Remove an unnecessary synchronous full reflow. 2019-03-07 10:42:36 -05:00
bors-servo
defc176333
Auto merge of #22992 - jdm:offscreen-begone, r=asajeffrey
Remove offscreen_gl_context dependency from canvas_traits and script

This makes it much easier to tinker with rust-offscreen-rendering-context, since it no longer cause a recompile of the script crate.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [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/22992)
<!-- Reviewable:end -->
2019-03-07 09:28:04 -05:00
Josh Matthews
3121f42d52 Remove offscreen_gl_context dependency from canvas_traits and script. 2019-03-07 09:27:36 -05:00
bors-servo
008368fa67
Auto merge of #22808 - servo:jdm-patch-10, r=asajeffrey
Avoid locking network timing data unnecessarily.

<!-- 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/22808)
<!-- Reviewable:end -->
2019-03-06 18:57:35 -05:00
Gregory Terzian
ecfb9c639a in BC event-loop, only run tasks related to fully-active documents 2019-03-06 14:18:18 +08:00
bors-servo
55347aa39f
Auto merge of #22953 - asajeffrey:webvr-glwindow, r=paulrouget
Use a test VRDisplay that renders to a GL window

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

Add a `dom.webvr.test` pref that registers a new VR display, which registers to a GL window.

The matching webvr PR is https://github.com/servo/rust-webvr/pull/66.

---
<!-- 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 #22795
- [X] These changes do not require tests because we need a followup PR to support reftests which use the VR display

<!-- 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/22953)
<!-- Reviewable:end -->
2019-03-05 15:02:24 -05:00
Alan Jeffrey
cc2d203151 Use a test VRDisplay that renders to a GL window 2019-03-05 12:54:12 -06:00
PedroGonçaloCorreia
4b01d8ce0d Simplify VideoTrackList::set_selected 2019-03-05 11:50:48 +00:00
bors-servo
cfb401eea9
Auto merge of #22871 - jdm:simpleml, r=ajeffrey,paul
Use simpleservo embedding API for Magic Leap

This removes the duplication between the two ports and makes it easier to improve all of our embeddings simultaneously.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22065
- [x] These changes do not require tests because no automated tests for embedded devices.

<!-- 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/22871)
<!-- Reviewable:end -->
2019-03-04 13:46:28 -05:00
Josh Matthews
5b7be2548a Build MagicLeap port using libsimpleservo. 2019-03-04 12:43:49 -05:00
Manish Goregaokar
ce635b715b Add support for default dict values being boolean, use in MediaStreamConstraints 2019-03-04 15:31:47 +05:30
Manish Goregaokar
caa05948bf Add aspect/frameRate/sampleRate parameters 2019-03-04 15:31:47 +05:30
Manish Goregaokar
dd7b69b6d8 Add support for basic MediaTrackConstraints 2019-03-04 15:31:47 +05:30
bors-servo
28c6dec62d
Auto merge of #22958 - Manishearth:attrs-on-types, r=nox
Add support for attributes on types in WebIDL

WebIDL moved `[Clamp]`, `[RangeEnforced]`, and `[TreatNullAs]` to applying directly to types in https://github.com/heycam/webidl/pull/286.

I implemented parser support for this upstream in [bug 1359269](https://bugzilla.mozilla.org/show_bug.cgi?id=1359269). This pull request downstreams those changes and updates codegen as well as any webidls to conform.

Needed to land #22874

r? @nox

<!-- 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/22958)
<!-- Reviewable:end -->
2019-03-04 03:36:27 -05:00
Manish Goregaokar
7b48df53a1 Update WebIDL.py to 4166cae81546
https://hg.mozilla.org/integration/autoland/rev/4166cae81546f54accae807413f806d20bf30920

Pulls in changes from https://bugzilla.mozilla.org/show_bug.cgi?id=1359269
2019-03-04 14:03:31 +05:30
bors-servo
d3ad9d6ffb
Auto merge of #22963 - servo:rustup, r=jdm
Upgrade to rustc 1.34.0-nightly (0ea22717a 2019-03-02)

<!-- 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/22963)
<!-- Reviewable:end -->
2019-03-03 14:49:25 -05:00
Simon Sapin
99b898753f Upgrade to rustc 1.34.0-nightly (0ea22717a 2019-03-02) 2019-03-03 19:32:42 +01:00
bors-servo
4ccbd1e87e
Auto merge of #22622 - sreeise:audio_video_tracks, r=jdm
Added AudioTrack, AudioTrackList, VideoTrack, and VideoTrackList inte…

…rfaces

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

Added AudioTrack, AudioTrackList, VideoTrack, VideoTrackList, and TrackEvent interfaces to support multiple media tracks.

---
<!-- 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 #22301  (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/22622)
<!-- Reviewable:end -->
2019-03-03 10:31:44 -05:00
sreeise
cac4aa56f7 Added AudioTrack, AudioTrackList, VideoTrack, VideoTrackList, and TrackEvent interfaces 2019-03-03 09:04:50 -05:00
Yuki Toyoda
c1e96b452d implement historical cancelBubble attribute for Event interface 2019-03-03 16:55:22 +09:00