Commit graph

73 commits

Author SHA1 Message Date
Nicholas Nethercote
6a531f189d Bug 1477628 - Convert FnvHash{Set,Map} instances to FxHash{Set,Map} (attempt 2). r=heycam 2018-07-27 16:49:04 +10:00
Bogdan Tara
92db9979a0 Backed out changeset 72b855b514f9 (bug 1477628) for rusttests build bustages CLOSED TREE 2018-07-27 07:00:56 +03:00
Nicholas Nethercote
2475b3e62f Bug 1477628 - Convert FnvHash{Set,Map} instances to FxHash{Set,Map}. r=heycam
It doesn't appear to make much difference to performance, but it does let us
remove the `fnv` crate from the repo.
2018-07-27 09:01:15 +10:00
Bobby Holley
e7c9ddc0cf Bug 1455784 - Update StyleSource to use ArcUnion. r=Manishearth
MozReview-Commit-ID: AT4sud9goGV
2018-04-25 09:23:01 -07:00
Emilio Cobos Álvarez
4939ae347e Bug 1455032: Pack the shadow cascade order in ApplicableDeclarationBlock. r=heycam
I didn't bother not shifting there. We need to load the whole thing and shift
for at least one of cascade level / shadow cascade order.

Callers of level() other than for_rule_tree are non-existent in release builds,
so we'd be doing the shift anyway. I can implement the same thing for
shadow_cascade_order too, but I don't think that optimization is measurable in
any way, either, the compiler should make the decision.

And just in case, the simpler version actually generated less instructions in:

  https://play.rust-lang.org/?gist=ceadb0d3cbce4eeca76e4d9ab9a1c744&version=nightly

with the simple thing.

MozReview-Commit-ID: 8xPBJmlcyKh
2018-04-24 10:44:57 +02:00
Emilio Cobos Álvarez
630760c6c7 Bug 1454162: Fix cascade order of !important in Shadow DOM. r=heycam
No cleaner ideas right now that carrying that counter around... Maybe a custom
type may be cleaner?

This makes ApplicableDeclarationBlock a bit bigger. I could probably try to make
the counter a 4 / 5-bit number or something and pack the counter there in the
SourceOrderAndCascadeLevel somehow...

But doesn't seem really worth the churn, and can be done as a followup in any
case. Let me know if you want to block on that.

MozReview-Commit-ID: 1LdW9S4xA6f
2018-04-18 18:27:03 +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
e47cb58448 servo: Merge #20117 - style: Somewhat miscelaneous cleanup (from emilio:misc-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: bbfca28a4f3770896955375d01f1c489b4632fd3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cca02ea2c160395889cfd6eb60c62a065d490300
2018-02-24 17:28:20 -05:00
Emilio Cobos Álvarez
9566c88e68 servo: Merge #20010 - style: Cascade pres hints after normal user rules (from emilio:pres-hints-cascade); r=bholley
Per https://drafts.csswg.org/css-cascade/#preshint and
https://html.spec.whatwg.org/#presentational-hints.

This was causing failures in the link color reftests with the preferences sheet
as a User sheet.

Bug: 1436782
Reviewed-by: bholley
MozReview-Commit-ID: 9iwEqPBw4CF
Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc75a783d1a7e2a82ef1e6502ca5a4463a3fb4b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b73986abacd66b82dca889ed4b8f118273548879
2018-02-10 07:46:38 -05:00
janczer
4e2c0a5eb3 servo: Merge #19970 - Change debug assertions to specific ones (from janczer:change_debug_assertions); 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 #19962 (github issue number if applicable).

<!-- 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: 5d209a70ab11cd0ce6c7e086091112570c6e259d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c837bee3dbbf93357f6553a2a356685a094d8e3e
2018-02-07 06:20:36 -05:00
Simon Sapin
7b81925deb servo: Merge #19829 - Update Rust and use the newly-stable std::ptr::NonNull (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c1ed4bb2d5ed6a4f9967215620d2105cda5ef76a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4f69ae87c412562cfab10b101d17dceab6c387ee
2018-01-22 11:11:44 -06:00
Xidorn Quan
89d2d74b33 servo: Merge #19696 - Skip rule node which contains only inherited properties for rule cache (from upsuper:rule-cache-opt); r=emilio
This is one possible fix for [bug 1427681](https://bugzilla.mozilla.org/show_bug.cgi?id=1427681) which tries to skip some rule nodes when using rule cache.

Try push for correctness: https://treeherder.mozilla.org/#/jobs?repo=try&revision=74e3941e2cfc5fba4bce839f2518af8a5a8b7411

It doesn't really show much memory saving on awsy. It only shows several KB save on fresh start memory. But since conceptually it's simple, I guess it's worth taking.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6131371cc230cca45b13ef9a2622c6e602208357

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1291fd4e9a1c7aa05125ffccac6d81227bc3c221
2018-01-05 03:35:04 -06:00
Emilio Cobos Álvarez
ef781bb493 servo: Merge #19199 - style: Stop allowing unused_unsafe (from emilio:no-unused-unsafe); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 40adc3fd88746d09966c5f1c43a6ff3b960c2e6d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d9206a58535460c1ebb7c0769e0ec253407c48b8
2017-11-15 08:22:00 -06:00
Xidorn Quan
b9aa10448f servo: Merge #18987 - Remove XBL as a separate cascading level in Stylo (from upsuper:xbl-cascade); r=emilio
In Gecko, we handle XBL rules like author rules everywhere, except that XBL rules are added and sorted in an independent step, behave as if it has a separate level.

It is not clear to me why Stylo chose to add a separate level for XBL rules, but it doesn't seem that there is anything special to do with XBL rules.

This bug happens because we don't handle XBL important rules which are handled as part of author rules in Gecko due to lack of the additional level there. We should just follow what Gecko does here and handle them all the same.

(This is the Servo part of [bug 1408811](https://bugzilla.mozilla.org/show_bug.cgi?id=1408811))

Source-Repo: https://github.com/servo/servo
Source-Revision: 819dff79087d2c45203d97f9837dd0e07513304e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e51cdc33ed34941e4b8617e2dd89dea4b92d8f9e
2017-10-23 01:36:07 -05:00
Boris Chiou
74ab4a0a06 servo: Merge #18945 - stylo: Add an FFI to get the ServoStyleContext with an extra animation value (from BorisChiou:stylo/animation/cumulative_hints); r=hiro
This is an inter-dependent patch of Bug 1303235. We add an FFI
to create a temporary ServoStyleContext with the animation value.
We need this because we calculate the Cumulative change hints to check
if we can ignore this animation segment.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1303235](https://bugzilla.mozilla.org/show_bug.cgi?id=1303235).
- [X] These changes do not require tests because we have tests on Gecko side.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77a47171563fdb3a38dd75f8c58909c9647cb708

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 765daf105f958e9640aa12548429c2e7d6ea1b72
2017-10-19 01:24:38 -05:00
Nicholas Nethercote
5a62942911 servo: Merge #18938 - Replace all uses of the heapsize crate with malloc_size_of (from nnethercote:bug-1409255); r=SimonSapin
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the 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: 4c538b642e4bdfbf42c522c5a59c258a6d14546e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9a6feed1088d0b0be2b55d7f0c2ec9c594ac33b
2017-10-18 13:56:05 -05:00
Xidorn Quan
ffa676b22c servo: Merge #18843 - Remove text-shadow handling from HasAuthorSpecifiedRules (from upsuper:author-text-shadow); r=heycam
This is the Servo side change of [bug 1363088](https://bugzilla.mozilla.org/show_bug.cgi?id=1363088).

Source-Repo: https://github.com/servo/servo
Source-Revision: 5682eeff486ae4c6963cb04af1a443430b735aed

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4b8f10b49cb4b07507504047e2d055d017ac2168
2017-10-12 03:12:26 -05:00
Xidorn Quan
0e34f35291 servo: Merge #18823 - Support pseudo-element properly in HasAuthorSpecifiedRules (from upsuper:author-pseudo); r=emilio
This is the Servo side change of [bug 1401825](https://bugzilla.mozilla.org/show_bug.cgi?id=1401825).

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4b570a20513ce9bef7e4a4c653293376647ee740
2017-10-10 18:31:18 -05:00
Manish Goregaokar
5e35e3886f servo: Merge #18712 - stylo: use FnvHashMap everywhere, remove default HashMap construction methods (from Manishearth:fnv); r=bholley
r=bholley bug 1385971

Source-Repo: https://github.com/servo/servo
Source-Revision: 89724c6b32c6c0b7673df6d5b735e057a392f51b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 83c9102c7fc7c6339ee9d5d0e31d645f39a85428
2017-10-03 18:47:46 -05:00
Cameron McCormack
e1fb3d1ec0 servo: Merge #18499 - style: add a TLS-based cache of reset style structs (from heycam:rule-cache); r=emilio
Rule cache

<!-- Please describe your changes on the following line: -->
This adds a TLS-based cache reset styles structs keyed off rule nodes.  Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1367635 by me and Emilio.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] 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: 874cb0d9df44e62a78d427f22f234a13227d07f8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 94d8df7014ae82e639bb93f209eea4605f7d8964
2017-09-14 04:28:50 -05:00
Nicholas Nethercote
e4b698d675 servo: Merge #18474 - malloc_size_of tweaks (from nnethercote:malloc_size_of-tweaks); r=jdm
<!-- Please describe your changes on the following line: -->

A couple of tweaks.
---
<!-- 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 #18473 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are tested 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: 8ee055fdc147a7e971077c91775cc002560231df

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b6d5a2065b9d515fe2b7bd4a5897af96c9f11f0e
2017-09-13 08:02:45 -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
Matt Brubeck
dc76621e5b servo: Merge #18431 - Use SmallBitVec to optimize size of PropertyDeclarationBlock (from mbrubeck:pdb-size); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1398322

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c939c12e222626649de5a88fbe9d39bd7c8f84d8
2017-09-11 08:57:07 -05:00
Emilio Cobos Álvarez
d5b2e6c551 servo: Merge #18384 - style: Don't waste a whole selector map for each class / id in the document (from emilio:invalidation-map-bloat); r=bholley
On top of #18375, only last commit needs review.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4721ef81fd7fb6ee15546a6abe140a66ce0280e8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4ae2ca7c3f5142c06b900602fb49a00c8d601e4e
2017-09-05 12:51:17 -05:00
Manish Goregaokar
5617e0da7b servo: Merge #18334 - Add fallible hashmaps from HashGlobe for stylo (from Manishearth:hashglobe); r=emilio,Gankro
HashGlobe code is r=emilio,Gankro

integration code is r=emilio from https://bugzilla.mozilla.org/show_bug.cgi?id=1393656

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cfe64a9acc5c8dbb187af4eae03510c18bdbe9c4
2017-09-01 16:09:53 -05:00
KuoE0
71958ba149 servo: Merge #18337 - Make the order of rules in DevTools be the specificity order (from kuoe0:make-the-order-of-rules-in-DevTools-be-the-specificity-order); r=emilio
We insert rules with any important declaration into rule tree twice,
one for the normal level and another for the important level. And
when we fetch them from rule tree, we skip the important one to
make the order be the specificity order.

<!-- 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 [Bug 1391198](https://bugzilla.mozilla.org/show_bug.cgi?id=1391198)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because test cases already 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: af52f5394a259edf52a92c0f96a5d6069a1041d5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : eb040e38caa5689211498d7d7c53f9bbc24d52ed
2017-09-01 04:15:21 -05:00
Nicholas Nethercote
3cb51cb410 servo: Merge #18310 - Measure memory usage of Stylo's Rule Tree (from nnethercote:bug-1394729); r=heycam
<!-- Please describe your changes on the following line: -->
This is for https://bugzilla.mozilla.org/show_bug.cgi?id=1394729, which was r=heycam.

---
<!-- 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 tests exist 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: d795ceae17b2ce5346d4f211f73c62e5c25dce79

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 35eab4a64c3f287a38c2b6fcdbe91276482b4001
2017-08-31 00:31:31 -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
KuoE0
1bc64693ba servo: Merge #18099 - Make emtpy rule can be inserted into rule tree (from KuoE0:make-empty-rule-can-be-inserted-into-rule-tree); r=emilio
<!-- Please describe your changes on the following line: -->
We really want to ensure empty rule nodes appear in the rule tree for devtools, this condition ensures that if we find an empty rule node, we insert it at the normal level.

---
<!-- 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 [Bug 1384802](https://bugzilla.mozilla.org/show_bug.cgi?id=1384802)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because of the test cases 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: dc654c991238305d6fc0524173c85f40d7b9e90f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 75f99790a3111b47d8135d31af42443624426efc
2017-08-15 23:11:04 -05:00
Manish Goregaokar
a3a73bd46c servo: Merge #18032 - stylo: Fixes for min font size and logical properties (from Manishearth:fixes); r=heycam
r=heycam https://bugzilla.mozilla.org/show_bug.cgi?id=1388941 and https://bugzilla.mozilla.org/show_bug.cgi?id=1388943

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f202098a1671114b6ab90617eae604bee2b7883f
2017-08-10 00:04:28 -05:00
Manish Goregaokar
1cedde3ab8 servo: Merge #17984 - Remove style/testing feature (from Manishearth:rm-testing); r=SimonSapin
We added this because a year ago we had no reliable Gecko CI. This meant that Gecko-only properties needed to be tested *somehow*, and we solved that by making it so that for unit tests we compile all properties, not just the servo ones.

This was useful back then, but I don't think we need this anymore. We have reliable Gecko CI, and all the gecko-only stuff we tested is adequately handled by the properties-database parsing mochitests. It's a bit of annoying cruft that just complicates things; we probably should remove it.

r? @emilio or @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 32f835260cd3ea03a881f7a344a01f401c4db621

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2b280c0e8d9940b424b893e18a46cdad65fa40ca
2017-08-08 07:35:29 -05:00
Hiroyuki Ikezoe
b5e831e121 servo: Merge #17951 - Make replace_rules_internal return true only if important rules changed (from hiikezoe:import-rule-check); r=emilio
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1367975

---
<!-- 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: 45cba6a650d9cd75d0321dff00893b70f5ed3d75

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed95b409b99690fcd485c1569286a0f6e7fd953b
2017-08-02 18:30:07 -05: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
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
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
cdffee1b35 servo: Merge #17602 - Use GC machinery rather than recursion for post-rule-tree-teardown node dropping (from bholley:rule_tree_custom_gc); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1378005

Source-Repo: https://github.com/servo/servo
Source-Revision: 006037f79839b94ae6a2db01919976c47d1589b5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0c1dee776d1e6fea458bc381653af9aac8fc392d
2017-07-04 13:44:52 -07:00
Bobby Holley
7f1609d841 servo: Merge #17585 - Allow dropping rule nodes after rule tree teardown (from bholley:rule_tree_teardown); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1377010

Source-Repo: https://github.com/servo/servo
Source-Revision: 78f05bf593d98acfd8e20eb79b6aeb9a4c386b2a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2129b073f779372ddf7610ae7f9390d0ca27f32f
2017-06-30 23:36:50 -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
45787e3da4 servo: Merge #17443 - style: Don't use SmallVec::into_iter to move into another vector (from emilio:smallwat); r=SimonSapin
See bug 1374848 for why.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b99318f552c1561392208efd9030d0b4a6f91d1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 27123c796e94135b62aae6b5669017cbdd5e3c49
2017-06-22 00:14:38 -07:00
Ting-Yu Lin
4c8856f6c7 servo: Merge #17426 - stylo: Fix has_author_specified_rules() for rules in XBL stylesheets (from aethanyc:fix-has-author-specified-rules-xbl); r=heycam
This change is reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1372062

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d3dcde327caf92964da7283466ca01cc3a645769
2017-06-20 02:05:08 -07:00
Brian Lewis
3bb211dfa3 servo: Merge #17404 - Shrink rulenode (from zuwow:shrink-rulenode); r=bholley
This shrinks rulenode by one word by removing the Option wrapper around the StyleSource and adding None to StyleSource as an additional variant. The issue mentions shrinking by two words but the free_count one was taken care of in #17368.

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

Also tested with `./mach test-unit` and `./mach test-stylo` with no errors reported from either.

<!-- Either: -->
- [X] There are tests for these changes

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

r? @bholley

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e614566a740d74d69290a142d320684514e14072
2017-06-19 15:30:21 -07:00
Bobby Holley
49d6c9f1bf servo: Merge #17368 - Rule tree gc never runs until teardown (from bholley:rule_tree_gc); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1373725

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 53920fd4c3e7a5a2921718f0085c22f28629d037
2017-06-16 14:13:38 -07:00
Emilio Cobos Álvarez
119222a345 servo: Merge #17294 - style: Less refcount churn while inserting in the rule tree (from emilio:less-refcount-churn); r=bholley
There's no need for it since we know no GC is happening while we're doing it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 849bdc958c1aff230d308ecb5551aba4866dbf7a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d9eea0d8018c715c93d66646ac4d0e0a841533cb
2017-06-13 13:01:16 -07:00
Bobby Holley
b3cb44a9da servo: Merge #17281 - Pack bloom filter hashes better and save a word on Rule (from bholley:shrink_rule_again); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1371949

Source-Repo: https://github.com/servo/servo
Source-Revision: 75d6796cbd1274c3711472d1a8b728c3cf6ac70c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0676bb1f079485e8e8c734a9d83f3ed120a1f26d
2017-06-12 12:41:39 -07:00
Ting-Yu Lin
95ea4c3c55 servo: Merge #17221 - stylo: Get rules from Gecko XBL stylesheets in cascading (Bug 1290276) (from aethanyc:support-xbl-stylesheet); r=heycam
The change was reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1290276

Source-Repo: https://github.com/servo/servo
Source-Revision: 433b7bf9fab0fb4cd35bcb01670a14da903498a2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e6a70e513cff1bf22f96918df497f9a704110470
2017-06-08 00:19:27 -07:00
Xidorn Quan
adad1a1d17 servo: Merge #17219 - Support interpolation between currentcolor and numeric color (from upsuper:currentcolor); r=Manishearth,birtles
This is the Servo side change of [bug 1345709](https://bugzilla.mozilla.org/show_bug.cgi?id=1345709).

Source-Repo: https://github.com/servo/servo
Source-Revision: 24e944ad94816e607e833e34095c4f8b8136df4c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9bd6680c1a980543f2ebfc191186cc8d88fb075c
2017-06-07 21:03:52 -07:00
Bobby Holley
872395f116 servo: Merge #17197 - Force the NonZero optimization for servo_arc and StrongRuleNode (from bholley:nonzero_arc); r=Manishearth
https://bugzilla.mozilla.org/show_bug.cgi?id=1370711

Also addressing followup feedback from https://bugzilla.mozilla.org/show_bug.cgi?id=1370107

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ff7fe886435256279ddf40354eca2dc178fb4a44
2017-06-06 22:42:42 -07:00
Emilio Cobos Álvarez
7b2d94daee servo: Merge #17063 - style: Allow sharing styles across elements with presentational hints (from emilio:pres-hints-sharing); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 38a6a3bff6f6e0e35eb592891d5e70e7cb897b69

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5c6316d592dfa5ef57e7fc03f4c5211cbbc1b1d7
2017-05-30 07:28:06 -05:00
Brian Birtles
49ca3776b1 servo: Merge #17050 - Fix calculation of base styles to drop animation rules (from birtles:fix-base-styles); r=hiro
It seems that changeset 97ce9ed5b08f7b1c7c6cd71a9499068b8bd2ae4e mistakenly changed the check that a cascade level to keep is *not* an animation level to a check that it *is* an animation level.

This patch has been reviewed by @hiikezoe in [Mozilla bug 1367960](https://bugzilla.mozilla.org/show_bug.cgi?id=1367960).

Source-Repo: https://github.com/servo/servo
Source-Revision: 531fd12e132ecc4c092080267ea6fbc35d94c69f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9aaa557db97fdb121d0207653c69027ea53a8f82
2017-05-26 07:34:16 -05:00
J. Ryan Stinnett
e66e02c633 servo: Merge #17032 - Stylo: visited pseudo-class support (from jryans:stylo-visited); r=emilio
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1328509

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3599f6577ed3737bb4715be05528090712871f0b
2017-05-24 19:53:48 -05:00