Commit graph

36542 commits

Author SHA1 Message Date
Peter Hall
1e9de470ea Fixed inconsistency in import of gl::Gl
All other uses of `Gl` in this file use the qualified path `gl::Gl`.
2019-02-27 19:27:05 +00:00
bors-servo
3d32efad2a
Auto merge of #22939 - asajeffrey:vrdisplay-gets-gl-bindings, r=jdm
Pass the GL context to the VRDisplay when rendering

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

Allow the VRDisplay access to the WebGL thread's GL bindings.

---
<!-- 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 behind-the-scenes plumbing

<!-- 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/22939)
<!-- Reviewable:end -->
2019-02-27 12:01:41 -05:00
Alan Jeffrey
8ddde7eacc Pass the GL context to the VRDisplay when rendering 2019-02-27 08:57:02 -06:00
bors-servo
2fb00d1d5a
Auto merge of #22941 - servo-wpt-sync:wpt_update_25-02-2019, r=jdm
Sync WPT with upstream (25-02-2019)

Automated downstream sync of changes from upstream as of 25-02-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/22941)
<!-- Reviewable:end -->
2019-02-27 09:29:14 -05:00
bors-servo
42ebf46172
Auto merge of #22917 - ksqsf:master, r=KiChjang
Add optional annotations for initEvent method of Event interface

Added `optional` and default values to parameters `bubbles` and `cancelable` of `initEvent` of `Event`.

I tried to update test results, but there seem to be no differences at all.

I checked similar code where `optional` is used, and there seems to be no special handling in Rust. If that is not the case with this issue, please let me know and I'll commit more follow-ups.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22883

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

<!-- 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/22917)
<!-- Reviewable:end -->
2019-02-27 04:05:57 -05:00
bors-servo
ec7a5f21c8
Auto merge of #22938 - asajeffrey:webvr-future-frame-data, r=paulrouget
Use webvr future_frame_data to avoid blocking the WebGL thread

<!-- Please describe your changes on the following line: -->
This PR fixes a potential deadlock caused by the WebGL thread being blocked on a VR device. Rather than blocking on the VR device, it forwards a future to the script thread, and then then script thread blocks.

---
<!-- 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 fixing a potential deadlock

<!-- 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/22938)
<!-- Reviewable:end -->
2019-02-27 02:20:30 -05:00
Alan Jeffrey
c9087013b1 Use webvr future_frame_data to avoid blocking the WebGL thread 2019-02-26 11:07:42 -06:00
_rika
fd2341bc78 Add optional annotations for initEvent method of Event interface 2019-02-26 18:10:43 +08:00
bors-servo
be3ecc5dc1
Auto merge of #22937 - servo:rustup, r=nox
Upgrade to rustc 1.34.0-nightly (097c04cf4 2019-02-24)

<!-- 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/22937)
<!-- Reviewable:end -->
2019-02-26 04:59:56 -05:00
Simon Sapin
4464354e2e Reformat 2019-02-26 08:18:33 +01:00
bors-servo
694a1ed2bf
Auto merge of #22940 - asajeffrey:webvr-start-stop, r=Manishearth
Call start_present and stop_present on VRDisplay

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

We never call `start_present` or `stop_present` on `VRDisplay`s. Not calling `start_present` isn't so bad, since displays can keep track of their own state, but not calling `stop_present` means the display never gets told to reclaim resources.

---
<!-- 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 #22924
- [X] These changes do not require tests because it's all internal APIs

<!-- 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/22940)
<!-- Reviewable:end -->
2019-02-26 00:41:35 -05:00
WPT Sync Bot
85fe63f512 Update web-platform-tests to revision 38bd28fe2368c650cf6e57be205cf3118dbd4997 2019-02-25 22:50:55 -05:00
Alan Jeffrey
d6c064e9a9 Call start_present and stop_present on VRDisplay 2019-02-25 12:53:09 -06:00
Simon Sapin
7bb7c9a1e3 Upgrade to rustc 1.34.0-nightly (097c04cf4 2019-02-24) 2019-02-25 13:35:41 +01:00
bors-servo
a28e15e4ea
Auto merge of #22347 - stevesweetney:master, r=ferjm
Implement HTMLMediaElement muted and defaultMuted attributes

<!-- Please describe your changes on the following line: -->
PR for issue  #22291

---
<!-- 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  #22291 (github issue number if applicable).
- [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. -->

<!-- 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/22347)
<!-- Reviewable:end -->
2019-02-25 05:05:09 -05:00
bors-servo
427003210b
Auto merge of #22930 - emilio:gecko-sync, r=emilio
style: Sync changes from mozilla-central.

See individual commits for details.

<!-- 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/22930)
<!-- Reviewable:end -->
2019-02-24 08:31:08 -05:00
bors-servo
f18d64ce58
Auto merge of #22929 - servo-wpt-sync:wpt_update_23-02-2019, r=jdm
Sync WPT with upstream (23-02-2019)

Automated downstream sync of changes from upstream as of 23-02-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/22929)
<!-- Reviewable:end -->
2019-02-24 01:34:12 -05:00
Emilio Cobos Álvarez
3a1539ccde style: Appease tidy. 2019-02-23 21:05:34 -08:00
Emilio Cobos Álvarez
44ae191e72 Fix servo build. 2019-02-23 21:05:34 -08:00
Emilio Cobos Álvarez
f6b6465ec6 style: Remove unnecessary derive. 2019-02-23 21:05:33 -08:00
Emilio Cobos Álvarez
be616c31e8 style: Rustfmt recent changes. 2019-02-23 21:05:32 -08:00
Emilio Cobos Álvarez
71daec59eb style: Use Rust types from transform-origin / perspective-origin.
Differential Revision: https://phabricator.services.mozilla.com/D20382
2019-02-23 21:05:23 -08:00
Emilio Cobos Álvarez
74d7d5bc42 style: Use Rust types for perspective and z-index.
Differential Revision: https://phabricator.services.mozilla.com/D20381
2019-02-23 21:05:17 -08:00
Asfiya
6428ed726d style: Convert NS_STYLE_FLEX_DIRECTION to an enum class in nsStyleConsts.h
Converted the #define variable NS_STYLE_FLEX_DIRECTION to an enum class in nsStyleConsts.h and made changes in other files that access it

Differential Revision: https://phabricator.services.mozilla.com/D20291
2019-02-23 21:05:07 -08:00
scharing
85718c3b5a style: Convert NS_STYLE_MASK_MODE_* to enum class.
Differential Revision: https://phabricator.services.mozilla.com/D20063
2019-02-23 21:05:00 -08:00
Emilio Cobos Álvarez
73d5b82f9f style: Improve #[derive(Parse)].
I want to do this so that I can get rid of Either<>. The reasons for getting rid
of either are multiple:

 * It doesn't generate as nice C++ code using cbindgen.
 * It isn't that nice to use either from Rust.
 * cbindgen has bugs with zero-sized types.

I started using this for ColorOrAuto and a few others, for now.

Differential Revision: https://phabricator.services.mozilla.com/D19844
2019-02-23 21:04:44 -08:00
Emilio Cobos Álvarez
6118e4d993 style: Use Rust types for some misc properties.
-moz-tab-size, border-image-outset and border-image-slice.

This is not a particularly interesting patch, just removes some code. We can
remove way more code when a few related properties are also ported.

Differential Revision: https://phabricator.services.mozilla.com/D19825
2019-02-23 21:04:33 -08:00
Emilio Cobos Álvarez
eefd440656 style: Remove nsFont::featureValueLookup.
It's a global object, it doesn't have to be stored in nsFont. Pass it from the
caller like the user font set and co.

Depends on D20141

Differential Revision: https://phabricator.services.mozilla.com/D20142
2019-02-23 21:04:26 -08:00
Emilio Cobos Álvarez
dcfe30ff18 style: Remove a couple trivial dependencies on nsPresContext.
Differential Revision: https://phabricator.services.mozilla.com/D20141
2019-02-23 21:04:19 -08:00
Emilio Cobos Álvarez
3231714758 style: Include anon boxes in CSSPseudoElementType, to remove ComputedStyle::mPseudoTag.
This is more consistent with what the Rust bits of the style system do, and
removes a pointer from ComputedStyle which is always nice.

This also aligns the Rust bits with the C++ bits re. not treating xul pseudos as
anonymous boxes. See the comment in nsTreeStyleCache.cpp regarding those.

Can't wait for XUL trees to die.

Differential Revision: https://phabricator.services.mozilla.com/D19002
2019-02-23 21:04:03 -08:00
Hiroyuki Ikezoe
22e12a0f52 style: Implement scroll-snap-align parser and serializer.
https://drafts.csswg.org/css-scroll-snap-1/#scroll-snap-align

Differential Revision: https://phabricator.services.mozilla.com/D20205
2019-02-23 21:03:55 -08:00
Hiroyuki Ikezoe
7cbaaf6734 style: Implement scroll-padding parser and serializer.
Differential Revision: https://phabricator.services.mozilla.com/D20103
2019-02-23 21:03:47 -08:00
Hiroyuki Ikezoe
79a5e97c13 style: Implement scroll-margin parser and serializer.
The reason why we use  RelaxedAtomBool is that
ScrollSnapUtils::GetSnapPointForDestination() is called both from the main and
the compositor threads, and the function will have a branch depending on the
pref value.

Differential Revision: https://phabricator.services.mozilla.com/D20101
2019-02-23 21:03:29 -08:00
Jonathan Kingston
d6750de0c3 style: Add support for CSS prefers-color-scheme media feature.
Bug: 1494034
Reviewed-by: emilio
2019-02-23 21:03:07 -08:00
Brian Birtles
71d9fe5d60 style: Don't share styles when an element has animations applied to it.
We already avoid putting styles in the shared style cache for an element that
has animations[1] but if we are doing the initial style of two siblings where
the _second_ has animations applied, there is nothing to stop us from trying to
share with the first (un-animated) element. This patch adds a check to prevent
sharing in that case since sharing style between animated elements is unsound
for the reasons described in [1].

A number of tests including:

  testing/web-platform/tests/web-animations/animation-model/animation-types/visibility.html

will fail without this fix once we remove the style flush from
KeyframeEffect::SetKeyframes later in this patch series.

[1] https://searchfox.org/mozilla-central/rev/6e3cc153566f5f288ae768a2172385b8436d61dd/servo/components/style/sharing/mod.rs#597

Differential Revision: https://phabricator.services.mozilla.com/D18913
2019-02-23 21:02:53 -08:00
Emilio Cobos Álvarez
07cb325402 style: Use rust types for background-size.
Hopefully straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D19625
2019-02-23 21:02:46 -08:00
Emilio Cobos Álvarez
1e6338e1ee style: Use Rust types for Position.
This one should be much easier to review / much more pleasant to see :-)

Differential Revision: https://phabricator.services.mozilla.com/D19563
2019-02-23 21:02:36 -08:00
Emilio Cobos Álvarez
d4ad12bee4 style: Preserve calc() rounding behavior.
See the comment. I don't really this is ideal, I filed bug 1528114 to
investigate changing that.

Differential Revision: https://phabricator.services.mozilla.com/D19584
2019-02-23 21:02:27 -08:00
Emilio Cobos Álvarez
f7a59bf0ee style: Use Rust sizes for flex-basis, width, height, and their min/max properties.
Really sorry for the size of the patch :(

Only intentional behavior change is in the uses of HasLengthAndPercentage(),
where it's easier to do the right thing. The checks that used to check for
(IsCalcUnit() && CalcHasPercentage()) are wrong since bug 957915.

Differential Revision: https://phabricator.services.mozilla.com/D19553
2019-02-23 21:02:18 -08:00
WPT Sync Bot
8c91d13e13 Update web-platform-tests to revision 8805f23ef629338b6d28ae25cc13839e99acea1b 2019-02-23 23:29:05 -05:00
bors-servo
e12c76982d
Auto merge of #22927 - servo-wpt-sync:wpt_update_22-02-2019, r=jdm
Sync WPT with upstream (22-02-2019)

Automated downstream sync of changes from upstream as of 22-02-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/22927)
<!-- Reviewable:end -->
2019-02-23 06:12:02 -05:00
WPT Sync Bot
4334a9c855 Update web-platform-tests to revision 70df598b894bfa4a7122720608a3110cb25ceb42 2019-02-22 22:40:32 -05:00
bors-servo
7f495fdd61
Auto merge of #22925 - servo-wpt-sync:wpt_update_21-02-2019, r=jdm
Sync WPT with upstream (21-02-2019)

Automated downstream sync of changes from upstream as of 21-02-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/22925)
<!-- Reviewable:end -->
2019-02-22 03:03:05 -05:00
WPT Sync Bot
0355b8e70d Update web-platform-tests to revision 181f8381fe9373e027f4b5ba5d1439843ad2c2e6 2019-02-21 23:28:36 -05:00
bors-servo
0dda115609
Auto merge of #22919 - servo-wpt-sync:wpt_update_20-02-2019, r=jdm
Sync WPT with upstream (20-02-2019)

Automated downstream sync of changes from upstream as of 20-02-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/22919)
<!-- Reviewable:end -->
2019-02-20 23:53:12 -05:00
WPT Sync Bot
7680aab725 Update web-platform-tests to revision 91b1effe848fac6e73a203037fc333b0fff3174d 2019-02-20 23:29:47 -05:00
bors-servo
6bb98ad17a
Auto merge of #22916 - servo-wpt-sync:wpt_update_19-02-2019, r=jdm
Sync WPT with upstream (19-02-2019)

Automated downstream sync of changes from upstream as of 19-02-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/22916)
<!-- Reviewable:end -->
2019-02-20 07:55:29 -05:00
WPT Sync Bot
459fbb1a34 Update web-platform-tests to revision eb6b0210d6f0b1b44bc74385de04a2291ce2575c 2019-02-19 23:01:14 -05:00
bors-servo
cc8a9fa928
Auto merge of #22911 - Manishearth:xr-spec-fixes, r=jdm
Some XR spec fixes

Tie in some concepts that were previously left out of the
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/22911)
<!-- Reviewable:end -->
2019-02-19 11:09:22 -05:00
bors-servo
6441f383dd
Auto merge of #22910 - paulrouget:fix-jni-logs, r=jdm
Fix log filter. simpleservo::api doesn't exist anymore

<!-- 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/22910)
<!-- Reviewable:end -->
2019-02-19 08:10:38 -05:00