Commit graph

158 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
d7bfa8a3bb Bug 1460382: Make element-backed pseudos inherit from NAC subtree roots and other NAC inherit from their parents. r=heycam
Currently, NAC always inherits from the closest non-NAC ancestor element,
regardless of whether it is for an element-backed pseudo or not.

This patch changes the inheritance so that for element-backed pseudos, we
inherit from the closest native anonymous root's parent, and for other NAC we
inherit from the parent.

This prevents the following two issues and allows us to remove the
NODE_IS_NATIVE_ANONYMOUS flag:

 * Avoiding inheriting from the non-NAC ancestor in XBL bindings bound to NAC.

   - This is no longer a problem since we apply the rule only if we're a
     pseudo-element, and all pseudo-elements are in native anonymous subtrees.

   - This also allows to remove the hack that propagates the
     NODE_IS_NATIVE_ANONYMOUS flag from the ::cue pseudo-element from
     BindToTree.

 * Inheriting from the wrong thing if we're a nested NAC subtree.

   - We no longer look past our NAC subtree, with the exception of
     ::-moz-number-text's pseudo-elements, for which we do want to propagate
     ::placeholder to.

A few rules from forms.css have been modified because they're useless or needed
to propagate stuff to the anonymous form control in input[type="number"] which
previously inherited from the input itself.

MozReview-Commit-ID: IDKYt3EJtSH
2018-05-30 10:14:46 +02:00
Bobby Holley
b515de0c66 servo: Merge #20603 - Run rustfmt on selectors, servo_arc, and style (from bholley:rustfmt_style); r=Manishearth
Now that rustfmt is getting close to stable, and work on the style system has died down a bit, it seemed like an opportune time to auto-format the style crates.

The first commit disables import reordering, since tidy and rustfmt don't currently agree on the correct ordering. The second commit does a bunch of manual fixups such that the output of rustfmt passes tidy. The third commit runs rustfmt on the three aforementioned crate.

There are a few dozen warnings in the style crate about lines longer than 100 characters. It would be good to fix these, but I don't have time for that now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a900ef019cd643bff961d7b20db6da69f3edb29

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2b228d52a084bc832444ac686290840c4369f98d
2018-04-10 21:00:11 -04:00
Emilio Cobos Álvarez
d178469908 servo: Merge #20082 - style: Cleanup always-false argument to Servo_ResolveStyleLazily (from emilio:ignore-existing-styles); r=bholley
I changed this setup in https://bugzilla.mozilla.org/show_bug.cgi?id=1414999,
because it was totally unsound.

Source-Repo: https://github.com/servo/servo
Source-Revision: 691f3be24a6fcc90ae7d0b9b0783abf8674e1b0f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a6a2851157d91b46caf11d52b534268f3a24cba
2018-02-21 06:09:15 -05:00
Emilio Cobos Álvarez
a1ac90919c servo: Merge #19426 - style: Require an nth-index cache for invalidation (from emilio:cache-invalidation); r=xidorn
Source-Repo: https://github.com/servo/servo
Source-Revision: 95aac490a5150fd1a354f25c61b01ee0406a1e84

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ca65470776263fe2a7f0bb65ad54a64034c956d5
2017-11-29 16:36:48 -06:00
Emilio Cobos Álvarez
58cb2b2abf servo: Merge #19380 - style: Bring back the optimization to avoid traversing XBL subtrees that will likely change (from emilio:my-existence-seems-a-continuous-fight-with-xbl); r=heycam
Bug: 1420496
Reviewed-by: heycam
MozReview-Commit-ID: 3sIGtcVOt0r
Source-Repo: https://github.com/servo/servo
Source-Revision: 769b643c0f03054ed58542005356085312c77d9f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f094a1d45de724ccc72f72b056efc8fd3d0a2634
2017-11-27 13:35:28 -06:00
Emilio Cobos Álvarez
7c2ab483b0 servo: Merge #19367 - style: Make a Servo-only assertion apply to Gecko too (from emilio:gecko-assert); r=upsuper
Gecko passes it now, and we want to know if that ever changes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8349be1b3e768b85fbb09ecb3dd4e9480a24f29e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2582aced86ba89e34fe59bef17af04c8fdb587a6
2017-11-24 14:51:46 -06:00
Emilio Cobos Álvarez
9e30ad94e8 servo: Merge #19296 - style: Get rid of unstyled children only traversals (from emilio:bye-unstyled-only); r=heycam
They're useless now, provided we remove the hack to not traverse XBL-bound
elements on initial styling.

Bug: 1418456
Reviewed-by: heycam
MozReview-Commit-ID: AvBVdyF1wb6
Source-Repo: https://github.com/servo/servo
Source-Revision: e4cfff8364cebd0ae2236cc8c39ba93072b35148

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b9ae9d359687ae32609a11d9ad5e8457c548e941
2017-11-20 04:18:30 -06:00
Emilio Cobos Álvarez
c5a664a70b servo: Merge #19264 - style: Remove unused argument in element_needs_traversal (from emilio:unused-arg); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: bd6caef234f9a1c29cc01c907255a4f307fbc827

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9cc9fff568acbbfddb185ff5aa5c2f59320f65f8
2017-11-17 10:03:05 -06:00
Emilio Cobos Álvarez
b64c46808f servo: Merge #19164 - style: More traversal cleanup (from emilio:more-traversal-cleanup); r=nox
This is cleanup that allows me to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1415013 in a more straight-forward way.

Source-Repo: https://github.com/servo/servo
Source-Revision: d117694eccc8d8f89d14213e88a9931d3adee572

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6c775f7727561cf39ddf0f84f454d6b24d90f975
2017-11-15 06:51:27 -06:00
Bastien Orivel
b5ec6408a9 servo: Merge #18967 - Bump bitflags to 1.0 (from Eijebong:bitflags2.0); r=mbrubeck
See #18809

Still haven't had time to test it but it should fix the tests failures that appeared in m-c

Source-Repo: https://github.com/servo/servo
Source-Revision: fe4139b779b3af749ec1426ddf4e1393c7b85442

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a0549d7dd8a99315ba3f8eec5d0f9fdf9eb4c0f
2017-10-30 18:25:45 -05:00
Sebastian Hengst
bfad5a393e Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE
--HG--
extra : amend_source : c80f31aec994c03e9ada2840b097efb3f894014e
2017-10-19 23:23:30 +02:00
Bastien Orivel
6c1dbf46fe servo: Merge #18809 - Update bitflags to 1.0 in every servo crate (from Eijebong:bitflags); r=nox
It still needs dependencies update to remove all the other bitflags
versions.

- [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 a dependency update

Source-Repo: https://github.com/servo/servo
Source-Revision: fe16c1d5c3c9084da0ccb85af599d6ec0f8ab20b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb9d52a22bee6d1fe773718f649c977b07840719
2017-10-19 10:35:08 -05:00
Emilio Cobos Álvarez
3c160750e2 servo: Merge #18904 - style: Stop threading the ElementData around the invalidator (from emilio:invalidator-less-dependencies); r=heycam,jdm,nox
style: Stop threading the ElementData around the invalidator.

Source-Repo: https://github.com/servo/servo
Source-Revision: c1e0889971582488ed7a4d3a3af21a49bf497abc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e7648a93a0b2ee03a02355cff9d6a4d7af9169b8
2017-10-17 05:18:29 -05:00
Emilio Cobos Álvarez
9327a21b5c servo: Merge #18703 - style: Allow passing an nth-index-cache to the invalidation code (from emilio:nth-index-cache-invalidate); r=bholley
style: Allow passing an nth-index-cache to the invalidation code.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2a5121357a76e2b558ecd0dae7689d709b6a2b41

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 698ea0c490b0fa689461e29c8c97ab6f2de3ce95
2017-10-03 00:40:03 -05:00
Emilio Cobos Álvarez
5683e3bf17 servo: Merge #18699 - Remove some cfg'd imports (from emilio:remove-cfg); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e13f5a656af682add10cdc41fb8e625c04b60347

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 631b6ee36e9ded68a23de00f436bb959b1867eaa
2017-10-02 02:10:25 -05:00
Emilio Cobos Álvarez
975f7353ea servo: Merge #18638 - style: Lazily tweak the traversal root to account for sibling invalidations (from emilio:invalidation-lazy); r=heycam
Bug: 1403078
Reviewed-by: heycam
MozReview-Commit-ID: Ij3nMOKu5FO
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

Source-Repo: https://github.com/servo/servo
Source-Revision: 3dbb97922d75f7ba4c542cb67e9c30c28c7a0699

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : beada9b873383acc78c6f5365f68c34dd3e01f39
2017-09-26 06:58:04 -05:00
Emilio Cobos Álvarez
8ca796bf7a servo: Merge #18602 - style: Make sure to not run any style invalidation in an unstyled children only traversal (from emilio:invalidation-unstyled-only); r=bholley
Bug: 1402472
Reviewed-by: bholley
MozReview-Commit-ID: IFPA7LJpvsZ
Source-Repo: https://github.com/servo/servo
Source-Revision: 5a6b90b14ff709eab41493a05c8235c522d35250

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 15e1c869a5b3495e08cb403527539c54d2f6756d
2017-09-22 21:16:43 -05:00
Emilio Cobos Álvarez
5efaf40765 servo: Merge #18547 - style: Resolver cleanup and sharing by rule node fixes (from emilio:self-sharing); r=heycam
See the individual commits for details.

This is the only coherent story I have for crashes like:

  https://crash-stats.mozilla.com/report/index/bcdfe629-ca1f-4e4d-aa17-27f890170917

(And the fact that there are crashes like it on the main thread kinda indicates it's the case)

Source-Repo: https://github.com/servo/servo
Source-Revision: 2387dbedbb27629cd9e8c4657e8328ae04ff6d58

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2cebeca9acb1d40d2bc4eb3d2646f49ba24a3437
2017-09-17 21:58:06 -05:00
Bobby Holley
13b57fdac1 servo: Merge #18532 - Undo #18497 in the MatchAndCascade case (from bholley:more_cache_insertion); r=emilio
It's easy to construct examples where not inserting in those cases causes performance
to get worse (for example, any long list of siblings that match the same selectors
while having some non-effectual differences in LocalName/Class/Id/etc). And the LRU
nature of the cache already does the right thing of pruning non-useful entries.

Fixing this causes several hundred more sharing hits on wikipedia.

Source-Repo: https://github.com/servo/servo
Source-Revision: da64abc4298549362debc96e5843bd36e6d23b7f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 922bde27f4689396f789f7e0fa1a7b9ee2c70dac
2017-09-16 02:09:20 -05:00
Emilio Cobos Álvarez
a47c2d6ea7 servo: Merge #18497 - style: Don't cache styles that got a cache hit on the second pass (from emilio:no-cache-if-cached); r=heycam
This avoids doing wasted work, at least in the recascade case, and pretty likely
in the other as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 988728e9d5c66e6bf2f9e0e03a50a814d0e1f2ab

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 68555686bb062ce696e70ffcbdbd07fe6960a5da
2017-09-14 05:23:09 -05:00
Bobby Holley
07f69fd053 servo: Merge #18496 - do a second pass on the style sharing cache after computing the rule node (from bholley:2ndpass); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1397976

Source-Repo: https://github.com/servo/servo
Source-Revision: 298b1363ffd7e830a6ad28424421ead6628ac9b7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 368154dfadc7643768e909e0fdcc28d36442f2de
2017-09-14 00:07:52 -05:00
Bobby Holley
dd927d1f81 servo: Merge #18465 - Eliminate RestyleData (from bholley:kill_restyledata); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1399011

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f0fda836ff97d33169cd1fc0d23d2d07ad74c6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 58ef9c5edac56e311c7067427c63cb7a6d2fe830
2017-09-12 13:16:26 -05:00
Bobby Holley
00681c0e88 servo: Merge #18453 - Refactor the style cache (from bholley:style_cache_refactor); r=emilio
This is the first set of patches from https://bugzilla.mozilla.org/show_bug.cgi?id=1398658

Source-Repo: https://github.com/servo/servo
Source-Revision: def983c29566133ab02ed40b9ab8c5e99da8e53e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f176a42fb43f1e36a3d8ac0c8a8fd07db4b878e
2017-09-12 03:25:36 -05:00
Emilio Cobos Álvarez
e3cc6120a0 servo: Merge #18391 - style: Stop the cascade when only reset structs change (from emilio:cascade-stoph); r=heycam
From https://bugzilla.mozilla.org/show_bug.cgi?id=1395227

Source-Repo: https://github.com/servo/servo
Source-Revision: 9802214aba97287afa729c7efcac5e44316dc591

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f90777bddda7427e67330f0bb6be076fb5670184
2017-09-06 07:55:08 -05:00
Emilio Cobos Álvarez
7b31481d83 servo: Merge #18342 - style: Remove the for reconstruction traversals (from emilio:die-forreconstruct-die); r=bholley
One less hack, a few more to go.

Bug: 1374235
Reviewed-by: bholley
MozReview-Commit-ID: 6katL1EGn2U
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

Source-Repo: https://github.com/servo/servo
Source-Revision: 876b70b02c7a3c8aad26b26dcbcfddaa5c747493

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c421be7da780736f47930015ff021477f04fcef7
2017-09-01 08:56:58 -05:00
Bobby Holley
1ad4801a38 servo: Merge #18246 - stylo: followup fixes for restyle roots (from bholley:restyle_root_followups); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1392863

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fd0edf158bb479b420fb6ddc76470d82c88cb61

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e8f1719c27589efb90b7f844eadaa4ed68b62137
2017-08-26 12:22:33 -05:00
Bobby Holley
b1eb48ffa3 servo: Merge #18248 - stylo: Check stack depth in invalidation machinery and re-enable limits (from bholley:more_stack_limits); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1376884

Source-Repo: https://github.com/servo/servo
Source-Revision: 3c42792efade03a31b9eeca8be457992cf83722c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f02582172bef70c26d97eb8bff9304956f3f911a
2017-08-25 23:29:46 -05:00
Bobby Holley
16249a5a0b servo: Merge #18238 - Replace the sequential/parallel distinction with a unified adaptive traversal (from bholley:adaptive_driver); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1393632

Source-Repo: https://github.com/servo/servo
Source-Revision: 72c59ff830b256ca5bd6df7736a9d9acfc9d3e52

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c20e0e7691cc57e8d96627501e64962588c3eea5
2017-08-25 12:23:41 -05:00
Emilio Cobos Álvarez
0742692421 servo: Merge #18215 - style: Only store applicable ::before / ::after pseudo styles during the traversal (from emilio:applicable-pseudo); r=heycam
This should help memory usage quite a bit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 772a8464eb8dcd4fd50cd342b7c6fa165745dd1e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b775b7ef0f0ac287ccafe6a84b0511065e0f9751
2017-08-25 02:30:50 -05:00
Clément DAVID
14926dcf7c servo: Merge #18179 - Automatically verify that derive() lists are alphabetically ordered #… (from davidcl:master); r=jdm
<!-- Please describe your changes on the following line: -->
Automatically verify that derive() lists are alphabetically ordered #18172

---
<!-- 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 #18172 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 474369618965569407d127b1e8c481e757cc59d3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 421aa68def8e17f70580477a4203494db3b69382
2017-08-23 17:18:31 -05:00
Bobby Holley
d32b53f415 servo: Merge #18196 - stylo: Maintain a restyle root and use it to cull the traversal (from bholley:restyle_roots); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1383332

Source-Repo: https://github.com/servo/servo
Source-Revision: 20c73e7f7d620600f161f3c00cbe5a80b5e2a5a9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f6d27d7a11f08cecc12ac2d0b964bf09825f4dc
2017-08-22 22:04:34 -05:00
Emilio Cobos Álvarez
fe7e89f9dc servo: Merge #18184 - style: Inline a bunch of trivial stuff we're paying function calls for in Geckolib (from emilio:inline); r=upsuper
Reviewed by Xidorn in https://bugzilla.mozilla.org/show_bug.cgi?id=1392170.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1059ef4fdeb5c76102c3da22293d836942740033

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bfcc99ae9cb5e84ab6bbaaa7b516f4dcadda87ed
2017-08-22 05:48:37 -05:00
Bobby Holley
a1922629ac servo: Merge #18097 - Avoid recursion in clear_descendant_data (from bholley:avoid_recursion_clear_descendant_data); r=emilio
This will allow us to have a tight stack limit in https://bugzilla.mozilla.org/show_bug.cgi?id=1376883

Source-Repo: https://github.com/servo/servo
Source-Revision: 467316e35bb494b9e9b2b4c480b3eda17c3a91b9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7cc83e7926d491aa74695a99290f0955cb70cebe
2017-08-16 04:22:23 -05:00
Bobby Holley
2e9da9004e servo: Merge #18094 - Avoid leaving stale ANCESTOR_WAS_RECONSTRUCTED bits in the tree (from bholley:ancestor_reconstruct); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1390179

Source-Repo: https://github.com/servo/servo
Source-Revision: 99b4b7e9602ea1440d2d2ae6c32be30bd0c4f721

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 81f873ffd15c3cf538c5450eff5530fe49cd3c44
2017-08-15 17:07:20 -05:00
Bobby Holley
91435fb8ed servo: Merge #18048 - More refactoring of the traversal in preparation for restyle roots (from bholley:more_traversal_refactoring_for_restyle_roots); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1389347

Source-Repo: https://github.com/servo/servo
Source-Revision: 8fb7836f40b03c94d0e87929965ee3c19b171091

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a9172b1db6fb8e016ff403d247c147713a82042
2017-08-11 16:47:12 -05:00
Bobby Holley
0863e1a0da servo: Merge #18026 - Continue cleaning up the traversal entry point machinery (from bholley:continue_traversal_cleanup); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1388623

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b92a7e82d49b8fcead78f91abbabdedf2a569c1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e28cb4237e8d72d6fb2b911d3d9a8112e66b65f7
2017-08-09 13:03:00 -05:00
Hiroyuki Ikezoe
364262e43d servo: Merge #18005 - Don't clear animation only dirty bit during style recalc (from hiikezoe:dont-unset-animation-only-dirty-bit); r=birtles
Unless the element is in a display:none subtree.

After bug 1356141, the setup of animation-only dirty bit should have matched
to normal dirty bit's one (Though they don't match in post traversal due to
throttled animation flush). An unset_animation_only_dirty_descendants call
removed in this patch cleared dirty bits which are needed for post traversal if
there is a second animation-only traversal and if there is no need to restyle
for the second animation-only traversal.

The reftest in this patch fails without either this fix or the fix for bug
1367975.

See [Gecko bug 1384435 comment 12](https://bugzilla.mozilla.org/show_bug.cgi?id=1384435#c12)
for more detail what's going on at that time.

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1384435
---
<!-- 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

Source-Repo: https://github.com/servo/servo
Source-Revision: 689dadc75174eff892e1da9d072ee9f109ede925

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d753d57193dc192e0eda506dce7925b9ce4816eb
2017-08-07 20:13:32 -05:00
Bobby Holley
a0324a142f servo: Merge #17980 - Introduce a new flag and use it to be more permissive about cousin sharing (from bholley:fix_initial_sharing); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1387116

Source-Repo: https://github.com/servo/servo
Source-Revision: b701d726f2840d61573d213f2e2008335dc9831e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4f81898b45e85740b61ae598a7f855708d8c0f2b
2017-08-05 03:23:55 -05:00
Cameron McCormack
18350e6b56 servo: Merge #17972 - style: Allow styles to be computed ignoring existing element data (from heycam:ignore-existing); r=bholley
From https://bugzilla.mozilla.org/show_bug.cgi?id=1384824.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac37f81c1f70f6994444ca0c40ad9d91a228ec87

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0caf23c831e67a51eb6375817f45ef6ba4670f81
2017-08-04 21:33:59 -05:00
Alan Jeffrey
9f89278c5a servo: Merge #17810 - Script paint worklets speculative evaluation (from asajeffrey:script-paint-worklets-speculative-evaluation); r=emilio
<!-- Please describe your changes on the following line: -->

This PR speculatively calls paint worklets during style, which increases the concurrency, since it increases the chance that the cache will have the right result in it when it comes to layout. The speculation is wasted effort if the size of the element has changed, but this is often not the case.

---
<!-- 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 #17486 and #17369.
- [X] These changes do not require tests because it's a performance improvement

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ab914804642ce2d739a3a441c8691e8041e67958
2017-07-31 13:13:26 -05:00
Bobby Holley
68cdedacfc servo: Merge #17895 - Clean up traversal modes (from bholley:clean_up_traversal); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1384769

Source-Repo: https://github.com/servo/servo
Source-Revision: 255c9d00da8d6837a5625ad19d9b1cd623286c3b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b4716821f6c722713c2546ed9bf8fb77dbcffddb
2017-07-27 18:29:29 -05:00
Emilio Cobos Álvarez
030c94cbf2 servo: Merge #17834 - stylo: Fix the interaction of frame construction restyles with animation restyles (from emilio:animation-fc-crash); r=heycam
Fixes bug 1383001.

Source-Repo: https://github.com/servo/servo
Source-Revision: 30d6d6024bd0a082424395621f620dc9580970e5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3e0c8e604a67a2b35341c8537ed10c974d90e30c
2017-07-24 01:09:24 -07:00
Emilio Cobos Álvarez
9b4972da8a servo: Merge #17782 - style: Unify needs_traversal logic (from emilio:needs-traversal); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 9b060cf4bf5ff49b05370da6dfb82af5ea46f370

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d2aa60edd5fde51b4ef72c91ca942ee1efd37120
2017-07-19 04:57:23 -07:00
Emilio Cobos Álvarez
4c1df51aa3 servo: Merge #17773 - style: Cleanup post #17767 (from emilio:removing-the-ugly); r=manishearth
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1381764

Source-Repo: https://github.com/servo/servo
Source-Revision: 66e06578ee68b98c94029fba3cfc3ae7d3782044

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 58815fbe282d109ca50b75b025dc06ef5fe718fe
2017-07-18 09:23:03 -07:00
Hiroyuki Ikezoe
4c893720fa servo: Merge #17770 - Avoid snapshot handling in animation only restyle (from hiikezoe:snapshot-in-animation-only-restyle); r=emilio
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1381431

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

Source-Repo: https://github.com/servo/servo
Source-Revision: e57ed3d42f818630157102e824867a763964291e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ce8d09787930c54db8fe7de8b20d07fc82e4daf
2017-07-18 04:55:30 -07:00
Manish Goregaokar
da00e55f45 servo: Merge #17767 - stylo: Fuse ServoStyleContext and ServoComputedValues (from Manishearth:stylo-fuse); r=bholley
r=bholley https://bugzilla.mozilla.org/show_bug.cgi?id=1367904

Source-Repo: https://github.com/servo/servo
Source-Revision: d746abaa9e69e6cf0ad187d2b46be661bbe03a9f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b3f72c771f92d5cd6a68f560092698f328f581d7
2017-07-17 19:44:25 -07:00
Emilio Cobos Álvarez
09183a0042 servo: Merge #17751 - style: Fix a typo that makes us resolve styles for the whole spin to the root (from emilio:embarrasing-typo); r=heycam
For undisplayed elements, at least.

Source-Repo: https://github.com/servo/servo
Source-Revision: d8ba8cad58a21210270faf2b337bef4f1c44aad6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3258595cafc95c61e4e3aeb3ac6152ed8a4a86f2
2017-07-16 17:53:41 -07:00
Bobby Holley
497e5345cc servo: Merge #17741 - Trim some fat from the traversal (from bholley:trim_traversal_fat); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1380877

Source-Repo: https://github.com/servo/servo
Source-Revision: 17f99e2a7bb0d7eec167eac952f12a7feafd647d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4e5e24b864f4a1f80808930aa629917de1b44c8d
2017-07-15 15:07:51 -07:00
Emilio Cobos Álvarez
936015e90b servo: Merge #17746 - style: Remove some no longer needed type arguments (from emilio:always-be-removing-the-ugly); r=wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: c69cc88a6aec5a1bfa0630edf54ab90b0d49deee

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 94c43090a3b0445cc3831d57c557c60e8f7fadf6
2017-07-15 10:04:25 -07:00
Emilio Cobos Álvarez
097003e6f1 servo: Merge #17744 - script: Move the layout_wrapper outside of script (from emilio:ensure-data); r=nox
This allows us to have ensure_data() and clear_data() functions on the TElement
trait, instead of hacking around it adding methods in random traits.

This also allows us to do some further cleanup, which I'd rather do in a
followup.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3497bbbf1d092dd8ab274e21b33b6394afa61d8a

--HG--
rename : servo/components/script/layout_wrapper.rs => servo/components/layout_thread/dom_wrapper.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9f6c194ea4b1056ff3cd3854726a7a5ae43f4aa7
2017-07-15 07:44:08 -07:00