Commit graph

96 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
772d9c43fe Bug 1481162 - Cleanup invalidation processor constructor. r=xidorn
It used to be this way because of lifetime issues (plus the shadow
datas were in RwLocks at some point IIRC). Now we guarantee that as long as the
element is away the cascade data is as well, so we don't need to thread it
around.

Differential Revision: https://phabricator.services.mozilla.com/D2768

--HG--
extra : moz-landing-system : lando
2018-08-07 10:36:18 +00: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
2bc468b78a servo: Merge #20597 - style: Implement the non-functional :host selector (from emilio:host); r=xidorn
Kinda tricky because :host only matches rules on the shadow root where the rules
come from. So we need to be careful during invalidation and style sharing.

I didn't use the non_ts_pseudo_class_list bits because as soon as we implement
the :host(..) bits we're going to need to special-case it anyway.

The general schema is the following:

 * Rightmost featureless :host selectors are handled inserting them in the
   host_rules hashmap. Note that we only insert featureless stuff there. We
   could insert all of them and just filter during matching, but that's slightly
   annoying.

 * The other selectors, like non-featureless :host or what not, are added to the
   normal cascade data. This is harmless, since the shadow host rules are never
   matched against the host, so we know they'll just never match, and avoids
   adding more special-cases.

 * Featureless :host selectors to the left of a combinator are handled during
   matching, in the special-case of next_element_for_combinator in selectors.
   This prevents this from being more invasive, and keeps the usual fast path
   slim, but it's a bit hard to match the spec and the implementation.

   We could keep a copy of the SelectorIter instead in the matching context to
   make the handling of featureless-ness explicit in match_non_ts_pseudo_class,
   but we'd still need the special-case anyway, so I'm not fond of it.

 * We take advantage of one thing that makes this sound. As you may have
   noticed, if you had `root` element which is a ShadowRoot, and you matched
   something like `div:host` against it, using a MatchingContext with
   current_host == root, we'd incorrectly report a match. But this is impossible
   due to the following constraints:

    * Shadow root rules aren't matched against the host during styling (except
      these featureless selectors).

    * DOM APIs' current_host needs to be the _containing_ host, not the element
      itself if you're a Shadow host.

Bug: 992245
Reviewed-by: xidorn
MozReview-Commit-ID: KayYNfTXb5h
Source-Repo: https://github.com/servo/servo
Source-Revision: cb754b262747e7cab794411df55588f0f0b30b5e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2ebbb2578ff9dbadfe905ae501cd52bd61a9fe9a
2018-04-09 06:41:59 -04:00
Emilio Cobos Álvarez
93ea7b41e1 servo: Merge #20229 - style: Separate the XBL and shadow dom styling bits (from emilio:finally); r=xidorn
Bug: 1441022
Reviewed-by: xidorn
MozReview-Commit-ID: 2W0BmZ8wWXg
Source-Repo: https://github.com/servo/servo
Source-Revision: 6272233c50071534ddbab118b64ecdb8fdda7c8a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0ce28863b2082d97c58833aae1c092b1723e1aa9
2018-03-07 10:06:05 -05:00
Jon Leighton
ec2ff2cabb servo: Merge #19881 - Add layout RPC query for getting an element's style (from jonleighton:issue-19811); r=emilio
This enables us to implement Element::has_css_layout_box() in a more
direct way, and also enables us to remove some of the existing more
specific queries.

Fixes #19811.

r? @emilio

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 715f36d9bedb88b8bba29eff16913cb31a426305
2018-01-28 05:52:56 -06:00
Emilio Cobos Álvarez
543216dd9a servo: Merge #19747 - style: Add a document state invalidator (from emilio:doc-state-invalidator); r=upsuper
Don't use it yet (since I was working from a Servo tree). Will hook it up and improve in the Gecko bug.

Right now it takes a `StyleRuleCascadeData`, which means that if all the origins in the document have state selectors we could do just one walk over the tree and not multiple, that will be improved.

Other than that, this is completely untested of course, but I prefer to land it, given I don't think it's complex, and work on the Gecko integration separately. The reason for this is that I also plan to fix the `<slot>` bugs, which will change `StyleRuleCascadeData` and such, and I want the two bugs to conflict as little as possible.

Source-Repo: https://github.com/servo/servo
Source-Revision: 50e4171958d4ff7f1c76d133a8f89e7d5995376f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4f1c7698b9912d4782d744a4dbd9e80afa7fe0cf
2018-01-12 05:09:04 -06:00
Emilio Cobos Álvarez
765b6f3069 servo: Merge #19744 - style: A few trivial changes in preparation for document state invalidation (from emilio:doc-invalidation-preparation); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 9b3fc43f5a576f4cc466a779e2a308e53a8a46f7

--HG--
rename : servo/components/style/invalidation/element/collector.rs => servo/components/style/invalidation/element/state_and_attributes.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f1071c0458393a3ccf72cbb360fd789de7f7afc2
2018-01-11 07:50:55 -06:00
Emilio Cobos Álvarez
d09192fc43 servo: Merge #19721 - style: Support ::slotted better (from emilio:slotted); r=heycam
This allows to selector-match ::slotted, though we still don't parse it.

Bug: 1425834, 1424607, 1425755
Reviewed-by: heycam
MozReview-Commit-ID: ItELHkf2PMl
Source-Repo: https://github.com/servo/servo
Source-Revision: bb34b7f54aa85cde600c6d675360d03714cf1f8b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c92bde66c55c112ea537384d89a698ccb5eba798
2018-01-09 07:26:28 -06:00
Emilio Cobos Álvarez
f6572324f9 servo: Merge #19500 - style: Make all keywords CamelCase for consistency (from emilio:camel-case-all-the-way); r=nox
style: Make all keywords CamelCase for consistency.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9d8fcab8dc2664b0282591a370d6f17e93e00a58
2017-12-05 19:35:25 -06: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
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
Emilio Cobos Álvarez
39758fd86f servo: Merge #19163 - style: Remove the skip_applying_damage "optimization" (from emilio:useless-opt); r=nox
We already remove all change hints down the tree when finding a reframe hint
using ClearServoRestyleFromSubtree in ServoRestyleManager, so this is useless.

MozReview-Commit-ID: 1twx7iPt79x
Source-Repo: https://github.com/servo/servo
Source-Revision: 20ccde9a75e52f3dc7adccf0136f5753deb41158

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4e8d88923fef766a3d9eeca267356ef6962809c6
2017-11-09 08:25:25 -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
Emilio Cobos Álvarez
7a1b70c7ff servo: Merge #18988 - stylo: querySelector / querySelectorAll machinery (from emilio:qs); r=heycam
Bug: 1410624
Reviewed-by: heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: eaba7ede232c9b556f22d67698eca5dc64ad4075

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 96a43c005a9eb406d51d9b1630d0b8198288ec59
2017-10-23 08:14:35 -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
695eafbf83 servo: Merge #18847 - style: Split the invalidation processing from the invalidator step (from emilio:invalidation-generic); r=heycam
This is the first step in reusing the invalidation machinery for other stuff,
potentially including QuerySelector / QuerySelectorAll.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7198886d00a3f6364703f0d7ff41fa9f8486ec44
2017-10-13 06:14:42 -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
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
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
Nicholas Nethercote
43983aa52e servo: Merge #18452 - Overhaul MallocSizeOf and related things (from nnethercote:bug-1398737); r=jdm
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf
stuff already in Servo, except better. In particular, it adds deriving support
for MallocSizeOf, which will make it easier to improve coverage.

The patch does the following.

- Combines servo/components/style/stylesheets/memory.rs and the heapsize crate
  into a new crate, malloc_size_of.

- Forks the heapsize_derive crate, calling it malloc_size_of, so that
  MallocSizeOf can be derived.

- Both the new crates have MIT/Apache licenses, like heapsize, in case they are
  incorporated into heapsize in the future.

- Renames the methods within MallocSizeOf and the related traits so they are
  more concise.

- Removes MallocSizeOfWithGuard.

- Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an
  equivalent or almost-equivalent hand-written implementation.

- Adds stuff so that Rc/Arc can be handled properly.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because tested on Gecko side.

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

--HG--
rename : servo/components/hashglobe/LICENSE-APACHE => servo/components/malloc_size_of/LICENSE-APACHE
rename : servo/components/hashglobe/LICENSE-MIT => servo/components/malloc_size_of/LICENSE-MIT
rename : servo/components/jstraceable_derive/Cargo.toml => servo/components/malloc_size_of_derive/Cargo.toml
rename : servo/components/hashglobe/LICENSE-APACHE => servo/components/malloc_size_of_derive/LICENSE-APACHE
rename : servo/components/hashglobe/LICENSE-MIT => servo/components/malloc_size_of_derive/LICENSE-MIT
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a8254c4ae15901b764d918355e900a1e74d6eb03
2017-09-11 22:11:25 -05:00
Wei-Cheng Pan
db698c7b45 servo: Merge #18271 - Propagate dirty bits after invalidation if needed (from legnaleurc:propagate_dirty_bits); r=emilio
<!-- Please describe your changes on the following line: -->

Follow up for [bug 1388298](https://bugzil.la/1388298).

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

<!-- 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: 122e49d516c7c22d8672e40929760b11682df272

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4fffb9b7e1bfcf8d42de1d61ea00b58bc82db41d
2017-09-05 14:18:52 -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
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
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
Nicholas Nethercote
cb12286e7a servo: Merge #18065 - Overhaul ComputedValues measurement, and add style structs measurement (from nnethercote:bug-1387956); r=bholley
<!-- Please describe your changes on the following line: -->

See https://bugzilla.mozilla.org/show_bug.cgi?id=1387956.

---
<!-- 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 the tests are in Gecko.

<!-- 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: 0eabba3c6fa232fd732eb2127f8fe285efd04288

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b7934ee159cccbbd1908828b700c4ff5c8fda5a4
2017-08-13 21:07:01 -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
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
Nicholas Nethercote
5340159477 servo: Merge #17953 - stylo: Measure Elements and ComputedValues (from nnethercote:bug-1383977); r=Manishearth
This is for https://bugzilla.mozilla.org/show_bug.cgi?id=1383977.

<!-- Please describe your changes on the following line: -->
The patch provides FFI access to Gecko's SeenPtrs type from Rust, in
order to record what has already been measured when measuring Arcs. (The
SeenPtrs must be initialized on the Gecko side because the same table is
reused for measuring all Elements within a window, because Elements can
share ComputedValues.) I have confirmed with DMD that this is working
correctly.

The patch also introduces MallocSizeOfRepeats, which is like
MallocSizeOf but takes a SizeOfState, which holds a SeenPtrs table.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because testing is done on mozilla-central CI.

<!-- 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: 32e2e546ac452cf83a0fb7e1d4521df23ec5eeda

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 99f0e9952564cf20c7a2a1594d86f29c55062492
2017-08-02 19:39:15 -05:00
Boris Zbarsky
72e398a73d servo: Merge #17909 - Don't reconstruct the layout object when going from no pseudo to pseudo with no content for ::before and ::after (from bzbarsky:dont-reframe-before-after); r=emilio
Fixes Gecko bug 1376073.  r=emilio

<!-- 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 fix https://bugzilla.mozilla.org/show_bug.cgi?id=1376073

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because there are Gecko 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. -->

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2725f0bf7478421d225730e1641864a802ef1eb2
2017-07-28 20:12:37 -05:00
Emilio Cobos Álvarez
3fa27b8306 servo: Merge #17837 - style: Avoid looking at descendant hints to check whether the element needs a restyle (from emilio:assert-fix); r=hiikezoe
This makes us hit some assertions in Gecko.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ae0e07a5ec6e096ffed718463f616fcbf03ef913
2017-07-24 04:49:08 -07: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
Bobby Holley
2a5b9c20fb servo: Merge #17791 - Bring back concise logging for ElementData (from bholley:less_verbose_cv); r=heycam
This was removed recently in the ComputedValues patch, and makes traversal
logging rather unusable.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 37d96f5ca9cf6df08dcb9a98455cbf297ec22cff

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed1e3f1a7d8600447fc6a7c446812399752aef60
2017-07-19 21:02:28 -07:00
Michael Partheil
3ff096ba27 servo: Merge #17775 - Replace all uses of the style::stylearc alias with servo_arc (from michael-p:rename-stylearc-to-servo-arc); r=emilio
The `stylearc` alias is left there temporarilly and will be removed completely in a later commit/PR where also `components/style/gecko/generated/structs_{debug|release}.rs` are re-generated (they still use the old alias).

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because no new features / only refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 31228c18499d1c7f68b6b64b559354c768e81215

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4d7b64e8a000a80d9daf9b1a511682416f456ff5
2017-07-19 06:03:17 -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
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
8708f24703 servo: Merge #17747 - style: Remove unused ElementStyles::styles_and_restyle_mut (from emilio:more-stuff-going-away); r=wafflespeanut
Never enough code going away.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 19e990e27df70b7ae5e1b44a26217448834bb007
2017-07-15 11:11:13 -07:00
Hiroyuki Ikezoe
951ca9e4d5 servo: Merge #17740 - Post traversal fix triggered by animation-only restyle for event handling (from hiikezoe:post-traversal-fix); r=emilio
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1371450

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cff83db1f2d332805835091f3e0ebcc38de51e77
2017-07-14 21:07:38 -07:00
Emilio Cobos Álvarez
430c593c07 servo: Merge #17713 - style: Kill some style sharing code (from emilio:less-code-is-lovely); r=heycam
It's trivial to do so after #17688.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 13330c26af646ba7d48b10fbcc90cc02272e145c
2017-07-14 00:25:37 -07:00
Emilio Cobos Álvarez
ae76578b49 servo: Merge #17688 - style: Split style resolution and dynamic change computation (from emilio:split-style-resolution); r=heycam,BorisChiou
This is the Servo side of Mozilla bug 1379505.

Source-Repo: https://github.com/servo/servo
Source-Revision: 16d6dc133b40a5d48e33b1f8e2aeafa88e36a6e3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 83b8dd3ca19e1436b65f1b3d5a019c2ac4324def
2017-07-12 00:28:44 -07:00
Bobby Holley
f47e6c9832 servo: Merge #17504 - Make EagerPseudoStyles use an Arc, not a Box (from bholley:arc_pseudos); r=bholley
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1371049

Fixes #17300

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5afe2398f112e628ae4f4ddc0452c9700ea90b3b
2017-06-23 20:07:45 -07:00
J. Ryan Stinnett
d605e3dc6d servo: Merge #17481 - Stylo: Move match and cascade temporaries to CurrentElementInfo (from jryans:move-rule-node); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1370719

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2ca8a42570127cf787f3a77f23511391fa104dc7
2017-06-22 17:46:55 -07:00
Emilio Cobos Álvarez
7a567b8052 servo: Merge #17348 - style: Inline RestyleData (from emilio:bup); r=bholley
Bug: 1368236
MozReview-Commit-ID: 49s3SO0PMHf
Source-Repo: https://github.com/servo/servo
Source-Revision: 33766b2714443399808c950e5bb74b1f124f2bc4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 690c18bca1352a15a9f9f891faeb1aae94563de0
2017-06-15 20:28:56 -07:00
Emilio Cobos Álvarez
33e4402929 servo: Merge #17317 - Kill StoredRestyleHint, and shrink RestyleData (from emilio:die-storedrestylehint-die); r=bholley
These are the already-reviewed parts of bug 1368236.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8837c80540327db28a6569f0661816b998b65b9f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ee031d0dcf1b49cf1554ff144be5591d58bd1b94
2017-06-14 04:16:24 -07:00
Hiroyuki Ikezoe
3e6bb34824 servo: Merge #17305 - Don't process RestyleKind::MatchAndCascade during animation-only rest… (from hiikezoe:restyle-kind-fix); r=emilio
…yle.

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1372335

---
- [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 for stylo

Source-Repo: https://github.com/servo/servo
Source-Revision: 5b3fb62b0914e81a161fcefbf1cf5230661af73e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7fd1ffec9a39b45d9e89ca5079b0eee7ab04ee1d
2017-06-13 20:28:18 -07:00
Emilio Cobos Álvarez
25b326679c servo: Merge #17292 - style: Implement a more fine-grained invalidation method (from emilio:better-style-invalidation); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 07f6e114850896eae2fd206351808fb31cceaaf0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 404a65bc41b59d8019a0dbdc83f7d2df165594d2
2017-06-13 04:56:09 -07:00
Boris Zbarsky
382e81563f servo: Merge #17245 - Share styles for elements with eager pseudo-elements attached to them (from bzbarsky:share-pseudo-styles); r=emilio
<!-- 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 fix https://bugzilla.mozilla.org/show_bug.cgi?id=1329361

<!-- Either: -->
- [ ] 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: 310408a82851d05db3b310ac5b9cdf49a33e1990

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : eb5ace9ef5748ac7679eac3997104e4f3a7e8f0b
2017-06-08 15:25:10 -07:00
Cameron McCormack
504c700905 servo: Merge #17151 - style: Recascade the document when rem units are used and the root font-size changes (from heycam:rem-recascade); r=emilio
<!-- Please describe your changes on the following line: -->

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

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

<!-- 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: 6d6f03974dda8b3cccdbb692488bc2f708008cf2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ad26d6b90c5f40c874d924520830af41eb6d1add
2017-06-03 19:04:45 -07:00