Commit graph

35257 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
ebb57eff22
style: Add a mechanism to serialize shorthands for getComputedStyle().
This implements the mechanism reusing the animation machinery for now, so it
asserts in a few cases that this wouldn't handle correctly.

For shorthands that have colors and other bits we'd need a more sophisticated
mechanism with a bit more code (that resolves colors and such), but it'd look
something like this regardless, and we should have this in any case.

Differential Revision: https://phabricator.services.mozilla.com/D11944
2018-11-17 09:56:05 +01:00
Emilio Cobos Álvarez
60331f01d0
style: Make the serialization of the mask shorthand more compact.
This helps to preserve the old longhand form when possible (mask used to be a
longhand), which will be relevant when we serialize this for the computed
value.

Differential Revision: https://phabricator.services.mozilla.com/D11943
2018-11-17 09:56:04 +01:00
Emilio Cobos Álvarez
0e7adcf18a
style: Simplify background-repeat.
This way we always serialize in the shortest form, and take less space.

This is useful because when serializing uncomputed values we'd like to compare
to the initial value to avoid serializing parts of a shorthand, but with the
existing implementation we would generate always a second keyword, which means
that we'll never match it.

This also matches Chrome and WebKit, incidentally, so I'm pretty confident the
behavior change when serializing specified style is web-compatible.

Differential Revision: https://phabricator.services.mozilla.com/D11941
2018-11-17 09:56:04 +01:00
Emilio Cobos Álvarez
a5f0eb9205
style: Also move page-break-inside outside of mako.
Differential Revision: https://phabricator.services.mozilla.com/D11876
2018-11-17 09:56:04 +01:00
Emilio Cobos Álvarez
d9de68ad6a
style: Move the page-break-{before,after} properties to not use mako.
And respect the computed value of `left` / `right` / etc.

Differential Revision: https://phabricator.services.mozilla.com/D11872
2018-11-17 09:56:03 +01:00
Timothy Guan-tin Chien
9f28242def
Remove dom.webcomponents.customelements.enabled pref.
This patch removes the following functions:

* nsContentUtils::IsCustomElementsEnabled()
* CustomElementRegistry::IsCustomElementEnabled(JSContext* aCx, JSObject* aObject)
* CustomElementRegistry::IsCustomElementEnabled(nsIDocument* aDoc)

and all references of the pref.

Depends on D11183

Differential Revision: https://phabricator.services.mozilla.com/D11249
2018-11-17 09:56:03 +01:00
Timothy Guan-tin Chien
3977854ee2
Remove dom.webcomponents.shadowdom.enabled.
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

Differential Revision: https://phabricator.services.mozilla.com/D11183
2018-11-17 09:56:02 +01:00
Cameron McCormack
dad9ad6b31
style: Store MediaFeatureDescription references as an index into the MEDIA_FEATURES array.
The current use of a static reference is incompatible with sharing style sheet data
across processes.

Differential Revision: https://phabricator.services.mozilla.com/D11845
2018-11-17 09:56:02 +01:00
Cameron McCormack
1576dd4c5b
style: Store variable references with a boxed slice rather than a PrecomputedHashSet.
Once we've parsed the variable references, there is no need to keep an entire HashSet
object around, as all we do is iterate over the values.

Differential Revision: https://phabricator.services.mozilla.com/D11735
2018-11-17 09:56:01 +01:00
Boris Chiou
41d2f7f3a2
style: Support keywords [x|y|z] on rotate.
Update the parser and the serialization to support the keywords, [x|y|z].

Differential Revision: https://phabricator.services.mozilla.com/D11531
2018-11-17 09:56:01 +01:00
Emilio Cobos Álvarez
f486ef7e47
style: Add an atom bit to know whether we're ascii lowercase.
And thus massively speed up ascii-case-insensitive atom comparisons when both
atoms are lowercase (which is the common case by far).

This removes almost all the slow selector-matching in this page, and it seems
an easier fix than storing the lowercased version of all class-names in quirks
mode in elements and selectors...

Differential Revision: https://phabricator.services.mozilla.com/D10945
2018-11-17 09:56:01 +01:00
Boris Chiou
d8bd29292e
style: Parse any order of number and angle for Rotate.
Rotate accepts rotate axis and angle in any order
(i.e. <number>{3} <angle> or <angle> <number>{3}), so we rewrite the
parser.

Differential Revision: https://phabricator.services.mozilla.com/D11417
2018-11-17 09:56:00 +01:00
Boris Chiou
0b9ecbccfe
style: Rewrite the interpolation of Rotate to return correct type.
The original implementation always returns Rotate::Rotate3D, but it is
not correct, so we have to rewrite it:
1. If both from value and to value are none, we don't have to convert it
   into identity value, so just return None.
2. If one of the value is none, we replace it with an identity value based on
   the other one's rotate axis.
3. If we only have 2D rotation, we just animate the <angle>.
4. Otherwise, we do interpolation by 3D rotation.

Differential Revision: https://phabricator.services.mozilla.com/D11247
2018-11-17 09:56:00 +01:00
Emilio Cobos Álvarez
c75a3e4db1
style: Remove serialize_basicshape_position.
Per https://github.com/w3c/csswg-drafts/issues/2274. There's a whole lot of new failures, but those need to be updated along with the spec changes in that issue.

We did resolve that position serialized the same everywhere though.

Differential Revision: https://phabricator.services.mozilla.com/D1933
2018-11-17 09:55:59 +01:00
Emilio Cobos Álvarez
6b5117d82d
style: Remove outdated comment. 2018-11-17 09:55:59 +01:00
Emilio Cobos Álvarez
4c3646eff0
style: Allow user-select: -moz-text on user-agent stylesheets only.
It's only used in contenteditable.css, and same usage in comm-central. That
sheet is loaded as a ua sheet so let's restrict it to that. No relevant
external usage either. This value was introduced in bug 1181130.

Differential Revision: https://phabricator.services.mozilla.com/D11584
2018-11-17 09:55:59 +01:00
Emilio Cobos Álvarez
4bc9bc11e1
style: Remove user-select: -moz-all.
It's an attempt of an alias to `all`, except it doesn't get handled in all
places.

Seems unused both in comm-central and mozilla-central, and all external usage I
could find is followed by -webkit-user-select: all.

Differential Revision: https://phabricator.services.mozilla.com/D11582
2018-11-17 09:55:55 +01:00
Emilio Cobos Álvarez
0c8b1a9004
style: Remove unimplemented values of the user-select property.
Can't believe we literally had no code to handle them.

Differential Revision: https://phabricator.services.mozilla.com/D11581
2018-11-17 09:55:51 +01:00
Emilio Cobos Álvarez
1aa6725f9a
style: Move user-select outside of mako.
This is the first step to unprefix user-select.

This has no behavior change, it's just a nicer way to do the same thing which
allows us to unship individual values more easily using parse(condition).

Differential Revision: https://phabricator.services.mozilla.com/D11580
2018-11-17 09:55:47 +01:00
Emilio Cobos Álvarez
fcada8a71e
style: Remove outdated comment. 2018-11-17 09:52:52 +01:00
bors-servo
679fb36924
Auto merge of #22176 - servo:jdm-patch-20, r=KiChjang
Don't try to use test-css command in CI.

<!-- 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/22176)
<!-- Reviewable:end -->
2018-11-17 00:37:38 -05:00
bors-servo
ef9e892aa1
Auto merge of #22210 - asajeffrey:magicleap-very-well-hidden-flag, r=jdm
Add debuggable flag to magicleap taildata

<!-- 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 do not require tests because they fix a crash

<!-- 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/22210)
<!-- Reviewable:end -->
2018-11-16 21:50:35 -05:00
bors-servo
e50e2621fe
Auto merge of #22191 - mandreyel:update-sw-global-scope, r=paulrouget
Update webidl of ServiceWorkerGlobalScope

Part of #19302.

---
<!-- 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 are part of #19302  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they just update the webidl for `ServiceWorkerGlobalScope`; related tests should be updated when we start to implement its functions.

<!-- 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/22191)
<!-- Reviewable:end -->
2018-11-16 19:55:30 -05:00
bors-servo
0ab2c3f8a3
Auto merge of #22196 - paulrouget:ndkfilter, r=Manishearth
Add only one architecture per apk

Fix #22192

<!-- 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/22196)
<!-- Reviewable:end -->
2018-11-16 18:14:37 -05:00
bors-servo
1517298820
Auto merge of #22175 - servo:jdm-patch-19, r=jdm
Fix linux-rel-intermittent build.

<!-- 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/22175)
<!-- Reviewable:end -->
2018-11-16 16:18:03 -05:00
bors-servo
fa77675488
Auto merge of #22171 - CYBAI:sw-up-to-date, r=jdm
Update webidl of ServiceWorkerRegistration

I'll start to work on #19302 and I'd like to update these sw related webidl one by one.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes is part of #19302
- [x] These changes do not require tests because it just updates the webidl for `ServiceWorkerRegistration`; related tests should be updated when we start to implement its functions.

<!-- 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/22171)
<!-- Reviewable:end -->
2018-11-16 15:11:25 -05:00
Alan Jeffrey
ff07fc3132 Add debuggable flag to magicleap taildata 2018-11-16 13:29:58 -06:00
bors-servo
369983211d
Auto merge of #22170 - CYBAI:fix-promiserejectevent, r=jdm
Fix PromiseRejectionEvent constructor when promise argument is None

Due to lack of `required` of the `promise` argument in webidl, we need to handle this so that it can be correct behavior. And then the constructor test will be passed!

---
- [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/22170)
<!-- Reviewable:end -->
2018-11-16 12:27:08 -05:00
bors-servo
831f966b0c
Auto merge of #21978 - jimberlage:input-value-fix, r=jdm
Fixes panic on DOMString::strip_leading_and_trailing_ascii_whitespace

<!-- Please describe your changes on the following line: -->
This changes `DOMString::strip_leading_and_trailing_ascii_whitespace` to handle multi-byte unicode characters.

---
<!-- 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 #21963 (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/21978)
<!-- Reviewable:end -->
2018-11-16 11:10:32 -05:00
bors-servo
a2937d9488
Auto merge of #21804 - AgustinCB:unify-task-source-canceller-api, r=gterzian
Unify the task source and task canceller API

To do so, I created a struct `TaskManagement(TaskSource,
TaskCanceller)` and made `*_task_source` return that instead of just
the task source.

Next, I refactored all places in which `task_canceller` by basically
removing them in favour of a previously called `*_task_source`.

I tried to make `task_canceller` a private method in `Window`, with the
hope of enforcing the use of `*_task_source`. However, it's used in
components/script/dom/globalscope.rs:575 in such a way that will make it
harder to avoid. I decided to leave it that way.

It'd be possible to unify `*_task_source` in such a way that we would
have only one method. However, I decided not to do it because one of the
`TaskSource` implementations is special:
`history_traversal_task_source`. Not wanting to over complicate things,
I decided to leave the structure this way.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21154 (github issue number if applicable).

- [x] These changes do not require tests because it's refactoring code that should already be tested.

<!-- 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/21804)
<!-- Reviewable:end -->
2018-11-16 09:54:40 -05:00
bors-servo
050b2bca70
Auto merge of #22165 - pyfisch:assert-glyph, r=jdm
Enable old glyph assertion

The assertion had a note that it should be enabled
when something like debug_assert is available.

This must have been disabled since before Rust 1.0 as it uses invalid syntax.

<!-- 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/22165)
<!-- Reviewable:end -->
2018-11-16 08:22:43 -05:00
bors-servo
24cb7491d6
Auto merge of #22149 - CYBAI:rejectionhandled, r=jdm
Implement rejectionhandled event

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22006 .
- [x] There are more tests `PASS`ed 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/22149)
<!-- Reviewable:end -->
2018-11-15 16:51:30 -05:00
bors-servo
4620f0b8c8
Auto merge of #22180 - asajeffrey:magicleap-nightly, r=jdm
Package and release the Servo magicleap app

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

Package the Magic Leap Servo2D app, and build and release it nightly.

---
<!-- 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 we don't test ML

<!-- 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/22180)
<!-- Reviewable:end -->
2018-11-15 15:34:37 -05:00
bors-servo
b8281b4374
Auto merge of #22185 - servo:tc-mac, r=Manishearth
Taskcluster: add dev build and unit tests on macOS

For simplicity, Salt is used in [agentless](https://docs.saltstack.com/en/getstarted/ssh/) mode for now.

I’m also hoping to have most of the dependencies be installed by tasks for themselves, so that changes can be made in the same `servo/servo` PR that uses them without redeploying servers.

<!-- 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/22185)
<!-- Reviewable:end -->
2018-11-15 13:35:25 -05:00
Simon Sapin
1c7dbe1036 Taskcluster: Add dev build and unit tests on macOS 2018-11-15 17:38:21 +01:00
Simon Sapin
79bd98b679 generic-worker on macOS: more docs, move minion config out of roster 2018-11-15 17:38:13 +01:00
Simon Sapin
2017bc8931 UTC 2018-11-15 17:38:13 +01:00
Simon Sapin
ef4e72ca7d generic-worker on macOS: move generic-worker.plist template to a separate file 2018-11-15 17:38:13 +01:00
Simon Sapin
fe0e1ae7d3 generic-worker on macOS: read-only config 2018-11-15 17:38:13 +01:00
Simon Sapin
ff1e2c2394 generic-worker on macOS: configure livelog 2018-11-15 17:38:13 +01:00
Simon Sapin
a5089885ac generic-worker on macOS: restart service on config change 2018-11-15 17:38:13 +01:00
Simon Sapin
70f507879f generic-worker on macOS: run as unprivileged user, start as a service 2018-11-15 17:38:13 +01:00
Simon Sapin
889d479935 Initial generic-worker config file 2018-11-15 17:38:13 +01:00
Simon Sapin
11b9391e90 Initial agentless SaltStack config for generic-worker on macOS 2018-11-15 17:38:13 +01:00
bors-servo
13e322183d
Auto merge of #22199 - servo-wpt-sync:wpt_update_14-11-2018, r=jdm
Sync WPT with upstream (14-11-2018)

Automated downstream sync of changes from upstream as of 14-11-2018.
[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/22199)
<!-- Reviewable:end -->
2018-11-15 11:17:18 -05:00
bors-servo
359ec7a76f
Auto merge of #22201 - servo:jdm-patch-24, r=simonsapin
Remove android emulator tests from buildbot CI.

This works around #22187 on CI, since I have not been able to figure out what changed yet. I can reproduce the problem locally, so I can keep poking at it without holding up all the other work going on.

<!-- 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/22201)
<!-- Reviewable:end -->
2018-11-15 09:58:01 -05:00
Josh Matthews
cf998d5c58
Mock android x86 task instead of commenting it. 2018-11-15 09:57:39 -05:00
Josh Matthews
cdb5b60202
Remove android emulator tests from taskcluster. 2018-11-15 09:26:07 -05:00
Josh Matthews
0780f8c37e
Remove android emulator tests from buildbot CI. 2018-11-15 09:24:22 -05:00
WPT Sync Bot
ff06f1d031 Update web-platform-tests to revision 6856483bcc86322198f10e0c42385a7f9127eb66 2018-11-14 22:29:47 -05:00