Commit Graph

229 Commits

Author SHA1 Message Date
Bobby Holley
e02608275b servo: Merge #16702 - Use a custom arc in the style system (from bholley:custom_arc); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1360889

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b1006936a27232fb77fef5893cc141e66bb12b7
2017-05-02 20:01:10 -05:00
Emilio Cobos Álvarez
3e29671b45 servo: Merge #16648 - Bug 1360508: Adjust text-combine properly. r=jryans (from emilio:combine); r=jryans
Text style is always resolved via ServoStyleSet::ResolveStyleForText, either
from the frame constructor initially, or from
ServoRestyleManager::ProcessPostTraversalForText.

So text-only adjustments should go there instead. Since that doesn't call into
cascade(), all the code that passes `pseudo` there is dead code we can remove.

MozReview-Commit-ID: jpbBYpLlUL
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

Source-Repo: https://github.com/servo/servo
Source-Revision: bc690d67ebe1c6136a798099d176c6de7b0a0414
2017-04-28 10:25:21 -05:00
Anthony Ramine
e77bb9c254 servo: Merge #16609 - Implement unitless length quirk (from nox:quirks); r=Manishearth,emilio
The Gecko side doesn't propagate its quirks mode yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: d8bcc0db1aad26e007b7e2bdeda3cea4953c0db0
2017-04-27 22:32:24 -05:00
Emilio Cobos Álvarez
3d9f14f89f servo: Merge #16641 - Bug 1360399: Don't deduplicate revalidation selectors. r=bholley (from emilio:dupedupedupedupe); r=bholley
It's unfortunate, but it's a correctness issue. I was looking at the
expectations update here:

 * https://hg.mozilla.org/integration/autoland/rev/659cddddd434

And investigating it I realised that it's wrong to coalesce selectors like that,
because we keep the bloom filter flags.

So in the test cases disabled, we have a selector that looks like this:

```
msub > :not(:first-child),
msup > :not(:first-child),
msubsup > :not(:first-child),
mmultiscripts > :not(:first-child) {
    -moz-script-level: +1;
    -moz-math-display: inline;
}
```

And an element that looks like this:

```
<msubsup><mi></mi><mi></mi></msubsup>
```

We're only inserting the first selector msub > :not(:first-child) into the set,
so when we're going to match the <mi> elements we fast-reject it in both cases
due to the bloom filter, so they share style.

I can't see an easy way to fix this keeping the deduplication. If we keep it, we
need to remove the bloom filter optimization, which means that we'd trash the
cache for every first-child in the document (the :not(:first-child) effectively
becomes a global rule).

MozReview-Commit-ID: 9VPkmdj9zDg
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

Source-Repo: https://github.com/servo/servo
Source-Revision: eb975ab890b21c6a5c55716151c0c5eb144cb0d9
2017-04-27 19:59:25 -05:00
J. Ryan Stinnett
2f33cd2039 servo: Merge #16634 - Stylo: Text combine upright style adjustment (from jryans:text-combine-upright-fixup); r=heycam
Ports the text-combine-upright writing mode adjustment to Servo.

Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1359603.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab3f5b0d9f72d32d500170eaf5e45f2708081dc3
2017-04-27 11:42:43 -05:00
Emilio Cobos Álvarez
1ad6102849 servo: Merge #16630 - Make stylo traverse Native Anonymous Content, fixing a bunch of restyle bugs (from emilio:nac); r=bholley,hiro
Source-Repo: https://github.com/servo/servo
Source-Revision: c633e291c93c942d34c731fe6ceb4db3b7347a16
2017-04-27 07:39:42 -05:00
Brian Birtles
874612788b servo: Merge #16625 - SMIL support for Gecko (from birtles:smil-support); r=hiro,heycam
PR for [Gecko bug 1355348](https://bugzilla.mozilla.org/show_bug.cgi?id=1355348)

---
- [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 are tested on the Gecko side

Source-Repo: https://github.com/servo/servo
Source-Revision: 8824a68063aa4f3ca87454468f382e4d2be66487
2017-04-27 00:48:21 -05:00
Simon Sapin
d54f7055a7 servo: Merge #16455 - Bug 1354970 - Add @counter-style rules (from servo:counter-style); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 2eff661ebb2737979b80367ada3ac99d73a06fc4
2017-04-26 00:59:58 -05:00
Bobby Holley
392497f42a servo: Merge #16578 - Fix up the style sharing cache (from bholley:fix_style_sharing_cache); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1358694

Source-Repo: https://github.com/servo/servo
Source-Revision: a26079d3229beefa90949a93e13ff374649374cc
2017-04-23 14:45:29 -05:00
Emilio Cobos Álvarez
3981e751b2 servo: Merge #16575 - style: trivially cleanup the matching code (from emilio:cleanup-matching); r=Wafflespeanut
I'm reworking this, and found this cleanup that I think is worth to land.

Source-Repo: https://github.com/servo/servo
Source-Revision: dfe0f4c2019001a204b0d6ef91fe10a358e20ce7
2017-04-23 04:55:34 -05:00
Bobby Holley
d7e9eaf5d6 servo: Merge #16549 - store simple selectors and combinators inline (from bholley:inline_selectors); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1357973

Source-Repo: https://github.com/servo/servo
Source-Revision: f44e3cdae29a9847e1e212a55490285a11b3ba5c
2017-04-20 17:05:31 -05:00
Boris Chiou
723a8ec17b servo: Merge #16496 - stylo: Bug 1341372 - Detect new transitions and let it run (from BorisChiou:stylo/transition/trigger); r=heycam
These are interdependent patches of Bug 1341372. We let animation-only restyle also work for RESTYLE_CSS_TRANSITIONS, and check if we need to update transitions by each transition property. If it is necessary to create/replace/cancel transitions, we create a SequentialTask for CSS_TRANSITIONS.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1341372
- [X] These changes do not require tests because there are tests in Gecko already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4d8c9c10cb011084e71a04b7d236282bf54c9fab
2017-04-17 05:07:23 -05:00
Bobby Holley
49316faf7f servo: Merge #16432 - Coalesce duplicate selector flags and improve LRUCache (from bholley:faster_selector_flags); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1356148

Source-Repo: https://github.com/servo/servo
Source-Revision: ea20bd6f6362191875bba7bce376c9d805588cbe
2017-04-13 08:56:03 -05:00
Emilio Cobos Álvarez
97397a1a44 servo: Merge #16424 - style: relax assertions in dom::element when setting selector flags (from servo:assert-layout); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 3011f7613929052acd84c0936a89cc7a8e6acd44
2017-04-13 04:49:30 -05:00
Bobby Holley
3487be8ea0 servo: Merge #16369 - Store style system options in the global style data and shared style context (from bholley:style_system_options); r=SimonSapin
I wanted to add an environmental variable to disable the style sharing
cache for gecko, but the current pattern involves lazy_static!, which
involves an atomic operation on lookup, which is a bit hot to do each
time we try to share styles. This makes that work happen once per
process.

Source-Repo: https://github.com/servo/servo
Source-Revision: 54ecfb155dba40382764ee20186a31f067a507be
2017-04-12 02:27:02 -05:00
Bobby Holley
0cbb6088ed servo: Merge #16358 - Fix up the style sharing cache (from bholley:style_sharing_fixes); r=emilio
Reviewed in:
https://bugzilla.mozilla.org/show_bug.cgi?id=1354895
https://bugzilla.mozilla.org/show_bug.cgi?id=1332525

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ba3f1e4f3064ec3054b2346062758375b8ab117
2017-04-11 22:52:23 -05:00
Hiroyuki Ikezoe
be5f5e96ea servo: Merge #16344 - Call process_animation only if it's not animation-only restyles (from hiikezoe:animation-only-restyle-fix); r=emilio,heycam
<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1354426

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's for stylo.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: e6a89899b0bf3e24e7f119e59a4e933bf967bb8d
2017-04-11 14:16:21 -05:00
Manish Goregaokar
50902f0605 servo: Merge #16316 - stylo: Make font base size computation threadsafe (from Manishearth:stylo-threadsafe); r=emilio
r=emilio https://bugzilla.mozilla.org/show_bug.cgi?id=1351200

Source-Repo: https://github.com/servo/servo
Source-Revision: d77d7529905e52c29597048422556a2416550b76
2017-04-09 06:15:51 -05:00
Emilio Cobos Álvarez
43200e34ed servo: Merge #16293 - style: Refactor the selectors crate to remove ad-hoc logic (from emilio:refactor-selectors); r=bholley
Also refactors a lot of the restyle hint code to use these new hooks, and removes a lot of hacks in servo that shouldn't be needed because of correct handling of restyles due to attribute changes.

I just smoketested this, so going for a full try run now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 949931ec0caa20b9f38a12863f610da562950b90
2017-04-09 05:17:55 -05:00
Cameron McCormack
1533a6fd42 servo: Merge #16309 - style: add a "for frame reconstruction" mode for restyle traversal (from heycam:restyle-reconstruct); r=bholley
This is the Servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1351535.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f67f69e895206135012c7445a86fb07d6e3b6b5
2017-04-09 01:04:57 -05:00
Sebastian Hengst
f0d71b08b9 Backed out changeset d44f633899ce (bug 1351535) 2017-04-08 16:52:51 +02:00
Sebastian Hengst
a08d5c191a Backed out changeset b1a425c54b79 (bug 1351535) 2017-04-08 16:52:47 +02:00
Cameron McCormack
f423178d4a Bug 1351535 - Part 6: Handle TraversalRestyleBehavior::ForReconstruct in the Servo restyle. r=bholley
MozReview-Commit-ID: 6vz9gHgzK87
2017-04-04 19:32:47 +08:00
Cameron McCormack
96e93dbf57 Bug 1351535 - Part 5.1: Move TraversalFlags into SharedStyleContext. r=bholley
MozReview-Commit-ID: IfLzJ9h6vKT
2017-04-08 16:36:09 +08:00
Emilio Cobos Álvarez
1cb7f87100 servo: Merge #16070 - selectors: Get rid of hashing overhead using the precomputed hash atoms have (from emilio:selectors-bloom-hash-less); r=bholley
I realized of this when @bzbarsky  mentioned the bloom filter in https://bugzilla.mozilla.org/show_bug.cgi?id=1348935#c7.

Right now we hash (the hash) all the time, when we can do better.

This requires a change in string-cache, which is at https://github.com/servo/string-cache/pull/183.

Source-Repo: https://github.com/servo/servo
Source-Revision: a811776df478a009ac6a7785ad13684e3a8e0925
2017-04-07 19:03:12 -05:00
Xidorn Quan
db3cfc0fac servo: Merge #16297 - Remove servo_url dependency for geckolib (from upsuper:stylo-servo-url); r=SimonSapin
It seems mod attr is not used for geckolib at all, and that is the only place where servo_url is still referenced for geckolib, so we can just remove it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 12a4cc875d44a1a516412dc4c6044e897c0c6e47
2017-04-07 04:34:47 -05:00
Bobby Holley
5c74171efd servo: Merge #16291 - Hoist possibly_expired_animations into CurrentElementInfo (from bholley:possibly_expired); r=emilio
The current mechanism requires threading a lot of this state through a bunch of
callsites that are several layers of abstraction above the code that actually
uses this vector (which is only compiled for servo). Putting it in
CurrentElementInfo gets it nicely out of the way.

Source-Repo: https://github.com/servo/servo
Source-Revision: 48a412abc7d56529770bdbe2cf0f5e6af852538e
2017-04-06 20:07:48 -05:00
Bobby Holley
ed4c76d0fc servo: Merge #16289 - Cascade the primary style before matching pseudos (from bholley:primary_before_pseudos); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1353960

Source-Repo: https://github.com/servo/servo
Source-Revision: 3beaa8d2e98bd077ba8badf4a2e3bc3ddc51ed0e
2017-04-06 16:32:14 -05:00
Hiroyuki Ikezoe
3df81c5be9 servo: Merge #16280 - Handle base style (from hiikezoe:handle-base-style); r=heycam,birtles
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1311257

---
<!-- 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] These changes do not require tests because it's for stylo.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: d7fb2cc27f666c53bfa79bf95f924b2b87e9b0f2
2017-04-05 22:53:30 -05:00
Bobby Holley
8250ac9631 servo: Merge #16250 - Don't use a HashMap for pseudo-element styles (from bholley:pseudo_repr); r=emilio
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1335708

@bors-servo try

Source-Repo: https://github.com/servo/servo
Source-Revision: eee25e23132b0f5d4cb50e5af4691b6e4bf75978
2017-04-03 18:04:34 -05:00
Hiroyuki Ikezoe
1811871e87 servo: Merge #16147 - Update effect properties for animations (from hiikezoe:update-effect-properties); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1350754
---
<!-- 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] These changes do not require tests because it's for stylo

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e2b36a97a9391e274d924227a8857024dbe4774
2017-03-27 03:47:47 -07:00
Hiroyuki Ikezoe
0801d9d9b1 servo: Merge #16145 - Animation only restyles (from hiikezoe:animation-only-restyles); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1344966

---
<!-- 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] These changes do not require tests because it's for stylo.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: d77fceaf241843d0fee246c1c910072fe041a69e
2017-03-26 21:13:44 -07:00
Hiroyuki Ikezoe
9c3412e2b1 servo: Merge #16111 - Add functions for after-change style of CSS Transition (from hiikezoe:after-change-style); r=emilio
Add functions for after-change style of CSS Transition

<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1346663

---
<!-- 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] These changes do not require tests because it's for stylo

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 089c71b5872839c5a6c32d1988ce4d42a73860e4
2017-03-23 19:05:03 -07:00
Emilio Cobos Álvarez
b96bb79541 servo: Merge #16077 - Bug 1345950: stylo: Fix slow selector flags. r=bholley (from emilio:slow-flags); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 545f8744126157d273158c5404d07fb09621d3ea
2017-03-22 03:23:51 -07:00
Simon Sapin
80dfe1b881 servo: Merge #16014 - Per-process lock for CSSOM objects (from servo:style-ref); r=emilio
<!-- Please describe your changes on the following line: -->

Before this PR, every object reflected in CSSOM is in `Arc<RwLock<_>>` to enable safe (synchronized) mutable aliasing. Acquiring all these locks has significant cost during selector matching:

* https://bugzilla.mozilla.org/show_bug.cgi?id=1311469
* https://bugzilla.mozilla.org/show_bug.cgi?id=1335941
* https://bugzilla.mozilla.org/show_bug.cgi?id=1339703

This PR introduce a mechanism to protect many objects with the same `RwLock` that only needs to be acquired once.

In Stylo, there is one such lock per process (in a `lazy_static`), used for everything.

I non-Stylo Servo, I originally intended to have one such lock per document (for author-origin stylesheets, and one per process for user-agent and user sytlesheets since they’re shared across documents, and never mutated anyway). However I failed to have the same document-specific (or pipeline-specific) `Arc` reachable from both `Document` nodes and `LayoutThread`. Recursively following callers lead me to include this `Arc` in `UnprivilegedPipelineContent`, but that needs to be serializable. So there is a second process-wide lock.

This was previously #15998, closed accidentally.

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: bb54f0a429de0e8b8861f8071b6cf82f73622664
2017-03-19 14:31:19 -07:00
Hiroyuki Ikezoe
a26c163d32 servo: Merge #16005 - Compose animation with servo's hashmap (from hiikezoe:animation-compose); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1340958

---
<!-- 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] These changes do not require tests because it's for stylo.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 36234d717f7155d61a631e98f0a435110e1ec161
2017-03-17 03:09:31 -07:00
Emilio Cobos Álvarez
8e3c61a268 servo: Merge #15931 - style: Kill SharedStyleContext::default_computed_values (from emilio:die-defaultvalues-die); r=mbrubeck
This is on top of https://github.com/servo/servo/pull/15928.

Now that cascade() gets a Device ref, we can use the default computed values
from there to avoid propagating that state all over the place.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c8edb8731dc01d254839d0922590fba72f278c6
2017-03-13 16:50:26 -07:00
Emilio Cobos Álvarez
6f8a92bd3e servo: Merge #15913 - Use the proper viewport size for stylo (from emilio:viewport-size); r=heycam,hiro
Reviewed upstream at [bug 1303229](https://bugzil.la/1303229).

Source-Repo: https://github.com/servo/servo
Source-Revision: 06f99c13f233bad71a42affccb10c86295ff014b
2017-03-11 04:40:31 -08:00
Emilio Cobos Álvarez
22714ca00f servo: Merge #15891 - style: Iterate the LRU cache contents from back to front (from emilio:lru-back-to-front); r=bholley,mbrubeck
This is on top of #15888. Only the second commit needs review.

We put the more recently used item last, so iterating then from left to right is
pointless.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fa4a94bb154449702e5ae9422c3008a5195c714
2017-03-11 02:31:25 -08:00
Hiroyuki Ikezoe
bec556e4fa servo: Merge #15900 - Process css animations for gecko (from hiikezoe:process-css-animations); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1341985 .

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's for stylo

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 63bed270734aee1956d1c1ec131aa1de9d5bb5a0
2017-03-09 20:23:21 -08:00
Emilio Cobos Álvarez
e3a1dfcb03 servo: Merge #15888 - style: Simplify style sharing code (from emilio:caching); r=Ms2ger
No functional changes, just some code cleanup.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c46e86546a607b7151758d8f18601febe4ce4f3
2017-03-09 11:33:33 -08:00
Hiroyuki Ikezoe
03f1040566 servo: Merge #15848 - Pass transition properties to gecko's struct (from hiikezoe:transition); r=emilio
<!-- Please describe your changes on the following line: -->
This is a servo side fix for  https://bugzilla.mozilla.org/show_bug.cgi?id=1343751

All patches have been reviewed by @emilio
---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this change is only for gecko.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e3cc2dd283ada1bd0197911f2f77a1c706c830df
2017-03-06 22:45:50 -08:00
Xidorn Quan
73f1cda766 servo: Merge #15836 - Fix animation shorthand parsing (again) (from upsuper:animation); r=emilio,bholley
This is from [bug 1343168](https://bugzilla.mozilla.org/show_bug.cgi?id=1343168) and mostly same as #15793 which was backed out in #15814.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d497857e8a5cf85f8165e4c2fd8df878f683206
2017-03-06 19:24:01 -08:00
Bobby Holley
65887477ef servo: Merge #15814 - Revert #15793 for crashes and test failures on stylo (from bholley:backout_15793); r=bholley
Looks like #15793 busted autoland. Given that it's the weekend for Xidorn I'm going to back out the patch.

CC @upsuper

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ca6ee2f7fc7cb5eda2930a66f854be05c4e5567
2017-03-03 11:53:52 -08:00
Xidorn Quan
a6362e2a56 servo: Merge #15793 - Fix animation shorthand parsing (from upsuper:animation); r=emilio,bholley
which is somehow broken after #15779.

But it seems there are various issue around the animation shorthand parsing, so I try to fix it to make it match the spec.

I expect this change to fix most parsing failures in Gecko's test suite, although I haven't tested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7cd4c69c40f90b2db6371bff27cfbd70fb045f5d
2017-03-03 03:28:21 -08:00
Emilio Cobos Álvarez
86879f8f0b servo: Merge #15736 - Bug 1341083: Implement dynamic restyling for display: contents (from servo:display-contents); r=heycam
Reviewed upstream by @heycam

cc @bholley, didn't end up renaming the `layout_parent` thing, because it made the cascade way more verbose (and difficult to understand IMO) unnecessarily, and you said you were ok-ish with it.

Source-Repo: https://github.com/servo/servo
Source-Revision: b77140a0375dcad9e15d4692edf8f15d5fe4597c
2017-02-25 11:00:07 -08:00
Bobby Holley
e59f7e85ce servo: Merge #15599 - Implement "handled for descendants" tracking for RestyleDamage (from bholley:damage_handled); r=emilio
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1340022

Source-Repo: https://github.com/servo/servo
Source-Revision: eb916f290334f9f56c4c8680e25224a16e4c7d59
2017-02-17 10:20:44 -08:00
Bobby Holley
685e0ab700 servo: Merge #15480 - Refactor style computation (from bholley:refactor_style_computation); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1338382

Source-Repo: https://github.com/servo/servo
Source-Revision: 0dd4afcf6dd3efb8e9f6e620e8e0dc7b135f8eee
2017-02-10 10:34:57 -08:00
Bobby Holley
3fcc873d0e servo: Merge #15462 - Accumulate parent elements that need selector bits set on the ThreadLocalStyleContext (from bholley:accumulate_selector_flags); r=emilio
Discussion and review in https://bugzilla.mozilla.org/show_bug.cgi?id=1336646

Source-Repo: https://github.com/servo/servo
Source-Revision: cbfd4464270f8690b90b9b96c395523a3a39e2de
2017-02-08 19:33:27 -08:00
Emilio Cobos Álvarez
40e295109a servo: Merge #15317 - style: Avoid selector-matching when only the style attribute is changed (from emilio:style-attr-restyle); r=bholley
r? @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: fb7f65fc5711f41b991b72ed97d7286dd16301ed
2017-02-02 03:00:22 -08:00