Commit Graph

95 Commits

Author SHA1 Message Date
Bobby Holley
196912c9bf 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
2018-04-10 21:00:11 -04:00
Emilio Cobos Álvarez
fd154499a4 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
2018-04-09 06:41:59 -04:00
Emilio Cobos Álvarez
5433e8d3b9 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
2018-03-07 10:06:05 -05:00
Jon Leighton
d5108675c7 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
2018-01-28 05:52:56 -06:00
Emilio Cobos Álvarez
e865a61abf 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
2018-01-12 05:09:04 -06:00
Emilio Cobos Álvarez
7ada63a4b6 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
2018-01-11 07:50:55 -06:00
Emilio Cobos Álvarez
17ac2d9d1e 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
2018-01-09 07:26:28 -06:00
Emilio Cobos Álvarez
034c3d82a4 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
2017-12-05 19:35:25 -06:00
Emilio Cobos Álvarez
e2f064667f 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
2017-11-29 16:36:48 -06:00
Emilio Cobos Álvarez
3a6552934e 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
2017-11-15 06:51:27 -06:00
Emilio Cobos Álvarez
fcfd57faa7 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
2017-11-09 08:25:25 -06:00
Bastien Orivel
113ffac80e 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
2017-10-30 18:25:45 -05:00
Emilio Cobos Álvarez
726f98d5af 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
2017-10-23 08:14:35 -05:00
Sebastian Hengst
97c840e765 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 2017-10-19 23:23:30 +02:00
Bastien Orivel
a7068a599d 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
2017-10-19 10:35:08 -05:00
Emilio Cobos Álvarez
9f898f11f2 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
2017-10-17 05:18:29 -05:00
Emilio Cobos Álvarez
879f135b6a 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
2017-10-13 06:14:42 -05:00
Emilio Cobos Álvarez
79b9004638 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
2017-10-03 00:40:03 -05:00
Emilio Cobos Álvarez
d449e355e5 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
2017-09-17 21:58:06 -05:00
Bobby Holley
acd012cddf 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
2017-09-14 00:07:52 -05:00
Bobby Holley
6a7fe3a3f6 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
2017-09-12 13:16:26 -05:00
Nicholas Nethercote
32af6cf8e2 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
2017-09-11 22:11:25 -05:00
Wei-Cheng Pan
28ecd78107 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
2017-09-05 14:18:52 -05:00
Bobby Holley
18feec9fd1 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
2017-08-25 23:29:46 -05:00
Emilio Cobos Álvarez
8d8ca7b032 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
2017-08-22 05:48:37 -05:00
Bobby Holley
3b875cdb0f 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
2017-08-15 17:07:20 -05:00
Nicholas Nethercote
b9a6a32c1d 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
2017-08-13 21:07:01 -05:00
Bobby Holley
4c03cb2c8d 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
2017-08-09 13:03:00 -05:00
Bobby Holley
01871af9e7 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
2017-08-05 03:23:55 -05:00
Nicholas Nethercote
4eedf2ff38 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
2017-08-02 19:39:15 -05:00
Boris Zbarsky
2d70c7f34c 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
2017-07-28 20:12:37 -05:00
Emilio Cobos Álvarez
56b2ae34ea 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
2017-07-24 04:49:08 -07:00
Emilio Cobos Álvarez
bd2d3bc7ca 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
2017-07-24 01:09:24 -07:00
Bobby Holley
2444b2b7f4 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
2017-07-19 21:02:28 -07:00
Michael Partheil
728ab1f36c 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
2017-07-19 06:03:17 -07:00
Hiroyuki Ikezoe
6cf42e52d8 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
2017-07-18 04:55:30 -07:00
Bobby Holley
01fdb5d3c0 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
2017-07-15 15:07:51 -07:00
Emilio Cobos Álvarez
5867603829 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
2017-07-15 11:11:13 -07:00
Hiroyuki Ikezoe
6fc3530a28 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
2017-07-14 21:07:38 -07:00
Emilio Cobos Álvarez
98987ee711 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
2017-07-14 00:25:37 -07:00
Emilio Cobos Álvarez
27fff64d23 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
2017-07-12 00:28:44 -07:00
Bobby Holley
37072d9085 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
2017-06-23 20:07:45 -07:00
J. Ryan Stinnett
5417317b00 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
2017-06-22 17:46:55 -07:00
Emilio Cobos Álvarez
b5b0a3f2c9 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
2017-06-15 20:28:56 -07:00
Emilio Cobos Álvarez
e6f018cf1f 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
2017-06-14 04:16:24 -07:00
Hiroyuki Ikezoe
257991b161 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
2017-06-13 20:28:18 -07:00
Emilio Cobos Álvarez
cdc25756af 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
2017-06-13 04:56:09 -07:00
Boris Zbarsky
e58ce3b6d0 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
2017-06-08 15:25:10 -07:00
Cameron McCormack
4b087eee38 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
2017-06-03 19:04:45 -07:00
Emilio Cobos Álvarez
f91135804a servo: Merge #17128 - stylo: Basic support for first-line/letter dynamic changes (from emilio:first-line-letter); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 17e69af0c9323927f724ff412867b24a0364efa1
2017-06-01 12:13:43 -07:00