Commit graph

21958 commits

Author SHA1 Message Date
Boris Chiou
87231e676d
style: Add percentage for opacity (i.e. <alpha-value>).
The following properties accept <alpha-value> [1], which is
"<number> | <percentage>", so we update the parser, spec links, and
their web-platform-tests.
1. opacity
2. flood-opacity
3. fill-opacity
4. stroke-opacity
5. stop-opacity
6. -moz-window-opacity

Besides, shape-image-threshold [2] still only accepts <number>, so we need
to support a different version of `Opacity::parse()`.

[1] https://drafts.csswg.org/css-color/#typedef-alpha-value
[2] https://drafts.csswg.org/css-shapes/#shape-image-threshold-property

Differential Revision: https://phabricator.services.mozilla.com/D37493
2019-07-23 22:54:04 +02:00
Emilio Cobos Álvarez
65bf72f131
style: Set the property restrictions flags from the centralized list.
Differential Revision: https://phabricator.services.mozilla.com/D37721
2019-07-23 22:54:04 +02:00
Emilio Cobos Álvarez
e33a799775
style: Centralize property restrictions.
The assertion in properties.mako.rs ensures I got this right.

Differential Revision: https://phabricator.services.mozilla.com/D37720
2019-07-23 22:54:03 +02:00
Emilio Cobos Álvarez
2a500eadd3
style: scroll-margin properties shouldn't apply to first-line / first-letter.
From https://drafts.csswg.org/css-scroll-snap-1/#placement:

> None of the properties in this module apply to the ::first-line and
> ::first-letter pseudo-elements.

Differential Revision: https://phabricator.services.mozilla.com/D37719
2019-07-23 22:54:02 +02:00
Emilio Cobos Álvarez
b8e3247b32
style: Update spec link for font-variation-settings.
It had got outdated.

Differential Revision: https://phabricator.services.mozilla.com/D37718
2019-07-23 22:54:01 +02:00
Emilio Cobos Álvarez
10cb9c07aa
style: Don't apply property restrictions to pseudo-elements in UA stylesheets.
And remove some of the ::placeholder and ::cue hacks where we need to use
!important to make the property not apply for content but apply on UA sheets.

The comment about the white-space property was wrong, we don't enforce it with
!important in the UA stylesheets for <input> (we do for <textarea> though), so
I've kept the flag since it really applies.

Differential Revision: https://phabricator.services.mozilla.com/D37717
2019-07-23 22:54:01 +02:00
Cameron McCormack
e3b57efc7e
style: Ignore pref-controlled properties in cached scrollbar style assertions.
Now if you add a new inherited, pref-controlled property, you must
declare whether it can have an effect on scrollbar styles.  If no,
then the property will be skipped in the assertions that check
whether our cached styles are equal to those we would compute.

Differential Revision: https://phabricator.services.mozilla.com/D37507
2019-07-23 22:54:00 +02:00
Boris Chiou
145acbf876
style: Part 2: Retire the support for 3-valued syntax for position.
According to this resolved spec issue:
https://github.com/w3c/csswg-drafts/issues/2140,
we retire the 3-valued <position> on
1. `object-position`
2. `perspective-origin`,
3. `mask-position`
4. `circle()` and `ellipse()`
, but still keep the support for `background-position`.

Besides, I simply run this python script to generate the .ini file:
```
s = sys.argv[1] + ".ini"
with open(s, "w") as f:
    f.write('[{}]\n'.format(sys.argv[1]))
    f.write('  expected: FAIL\n')
    f.write('  bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1559276\n')
```

Differential Revision: https://phabricator.services.mozilla.com/D37126
2019-07-23 22:53:59 +02:00
Jonathan Kew
6cf87d23f8
style: Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks.
Differential Revision: https://phabricator.services.mozilla.com/D36429
2019-07-23 22:53:59 +02:00
alwu
c00045b0c9
style: set CSS properties directly on '::cue'.
According to the spec [1], we have to set those CSS properties on the root node,
and then this root node would have a child node, background box [2], which would
contain all other child nodes.

In our case, the background box is `cueDiv` [3].

In theory, all those properties set on the root node should be inherited by the
background box. However, when the background box is a pseudo element `::cue`,
they won't be directly inherit from the the background box's parent, inherited
styles would acutally come from video instead.

Therefore, we have to directly set these properties on the pseudo element and
mark them as `!important` to avoid being overrided by user style script.

[1] https://www.w3.org/TR/webvtt1/#ref-for-list-of-webvtt-node-objects-9
[2] https://www.w3.org/TR/webvtt1/#webvtt-cue-background-box
[3] https://searchfox.org/mozilla-central/rev/11712bd3ce7454923e5931fa92eaf9c01ef35a0a/dom/media/webvtt/vtt.jsm#533-534

Differential Revision: https://phabricator.services.mozilla.com/D35694
2019-07-23 22:53:58 +02:00
bors-servo
dcce668d3a
Auto merge of #23820 - georgeroman:link_text_selectors_for_find_element_wd_commands, r=jdm
Implement Link and PartialLink text selectors for FindElement and related WebDriver commands

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

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

<!-- 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/23820)
<!-- Reviewable:end -->
2019-07-23 14:36:10 -04:00
bors-servo
4470035f75
Auto merge of #23822 - servo:rustup, r=jdm
Upgrade to rustc 1.38.0-nightly (273f42b59 2019-07-21)

<!-- 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/23822)
<!-- Reviewable:end -->
2019-07-23 11:58:54 -04:00
bors-servo
7afe2153e8
Auto merge of #23814 - Manishearth:events, r=asajeffrey
Partial support for events in WebXR

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

r? @asajeffrey

<!-- 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/23814)
<!-- Reviewable:end -->
2019-07-23 09:44:59 -04:00
bors-servo
fdbb317d7a
Auto merge of #23774 - sreeise:media_fragment_parser, r=ferjm
Media fragment parser

<!-- Please describe your changes on the following line: -->
Media fragment parser for audio and video.

---
<!-- 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 #22366 (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/23774)
<!-- Reviewable:end -->
2019-07-23 05:00:01 -04:00
Manish Goregaokar
3f95d304ec Support XRTest.disconnectAllDevices() 2019-07-23 00:52:33 -07:00
George Roman
0ec852eb41 Implement link and partial link text selectors for FindElement and related WebDriver commands 2019-07-23 09:55:47 +03:00
sreeise
dc11219496 Media fragment parser 2019-07-22 21:39:55 -04:00
Manish Goregaokar
b0002a003d Make use of ended flag, get rid of XRLayer 2019-07-22 09:32:01 -07:00
Manish Goregaokar
b66cbd364a Support end events and end() 2019-07-22 09:32:01 -07:00
Manish Goregaokar
638cc92e89 Add XRSessionEvent 2019-07-22 09:32:01 -07:00
Manish Goregaokar
c9204375eb Attach XR event callbacks 2019-07-22 09:32:01 -07:00
Fernando Jiménez Moreno
a3d0d95b61 Moar detach shadow improvements 2019-07-22 17:40:17 +02:00
Fernando Jiménez Moreno
ef02196dd8 More detach shadow changes 2019-07-22 17:40:17 +02:00
Fernando Jiménez Moreno
a8419c4a86 Fix media-controls resources naming 2019-07-22 17:40:16 +02:00
Fernando Jiménez Moreno
1f3c879a85 Detach shadow clean up 2019-07-22 17:40:16 +02:00
Fernando Jiménez Moreno
f8ae394cad Remove extra hash-map lookup unregistering media controls 2019-07-22 17:40:16 +02:00
Fernando Jiménez Moreno
5c39097edd Remove unused ShadowRoot constructor argument 2019-07-22 17:40:16 +02:00
Fernando Jiménez Moreno
1621076af7 Revert change to render media controls breaking inline layout 2019-07-22 17:40:16 +02:00
Fernando Jiménez Moreno
e344203c11 Only allow UA widgets as children of media elements
Do not allow pseudo-elements for replaced elements
2019-07-22 17:40:15 +02:00
Fernando Jiménez Moreno
23def72787 Implement method to remove media controls 2019-07-22 17:40:15 +02:00
Fernando Jiménez Moreno
142d42a833 Revert changes to load media styles as UA styles
Revert changes to set chrome url of user agent widget styles
2019-07-22 17:40:15 +02:00
Fernando Jiménez Moreno
82339a9295 Do not try to render controls if they are already rendered 2019-07-22 17:40:15 +02:00
Fernando Jiménez Moreno
3a99c6ba6a Do not render controls until we have metadata 2019-07-22 17:40:15 +02:00
Fernando Jiménez Moreno
f16cf2d6a4 Expose HTMLMediaElement.controls 2019-07-22 17:40:15 +02:00
Fernando Jiménez Moreno
9496dff529 Anchor controls inside bottom of video element 2019-07-22 17:40:14 +02:00
Fernando Jiménez Moreno
a664449681 Media UI basic functionality 2019-07-22 17:40:14 +02:00
Fernando Jiménez Moreno
1c02fc94a8 Barebones media UI 2019-07-22 17:40:14 +02:00
Fernando Jiménez Moreno
4f6b86f9f5 Render media controls 2019-07-22 17:40:14 +02:00
Simon Sapin
39c0a00f78 fmt 2019-07-22 16:05:35 +02:00
Simon Sapin
58c5506415 Upgrade to rustc 1.38.0-nightly (273f42b59 2019-07-21) 2019-07-22 09:35:43 +02:00
George Roman
bf6ea64e8c Implement tag name selector for FindElementsFromElement WebDriver command 2019-07-21 15:57:26 +03:00
George Roman
616a81fb27 Implement tag name selector for FindElementFromElement WebDriver command 2019-07-21 15:56:24 +03:00
George Roman
dec73e4cea Implement tag name selector for FindElements WebDriver command 2019-07-21 15:56:23 +03:00
George Roman
7d5b324bda Implement tag name selector for FindElement WebDriver command 2019-07-21 15:55:19 +03:00
bors-servo
410c3f0260
Auto merge of #23812 - tdelacour:ISSUE-21257, r=jdm
ISSUE-21257: set redirectEnd on PerformanceResourceTiming

<!-- Please describe your changes on the following line: -->
Added the appropriate attribute and setters. Included a Timer struct with a `Drop` function to set this value to zero in error cases. Set the value to `responseEnd` on success. Eliminated tests that now pass.

---
<!-- 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 #21257 (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/23812)
<!-- Reviewable:end -->
2019-07-20 08:49:06 -04:00
bors-servo
1128f40f4e
Auto merge of #23797 - asajeffrey:webxr-framebuffer, r=Manishearth
Added framebuffer and related attributes to XRWebGLLayer

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

Implement the `framebuffer` attribute of `XRWebGLLayer`.

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

<!-- 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/23797)
<!-- Reviewable:end -->
2019-07-19 18:40:44 -04:00
Thomas Delacour
18178fa107
ISSUE-21257: set redirectEnd on PerformanceResourceTiming 2019-07-19 21:36:24 +02:00
Alan Jeffrey
23f15c94ef Decoupled DOMErrorName from legacy error codes 2019-07-18 17:16:10 -05:00
Alan Jeffrey
c08ef4cb23 Dead code elimination 2019-07-18 17:16:09 -05:00
Alan Jeffrey
aa0a72df0f Added framebuffer and related attributes to XRWebGLLayer 2019-07-18 14:24:50 -05:00