Commit Graph

126 Commits

Author SHA1 Message Date
Nazım Can Altınova
d7fc89a35a servo: Merge #15644 - stylo: Support all presentation attributes (from Manishearth:stylo-abstract); r=emilio,bz
From https://bugzilla.mozilla.org/show_bug.cgi?id=1338936

r=emilio,bz

Source-Repo: https://github.com/servo/servo
Source-Revision: 4d82d4e68e1f1954f4fbdd823a92c8b533a49022

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8f287a49233215eb46b002d0bde3b276adaa534e
2017-02-18 20:43:33 -08:00
Emilio Cobos Álvarez
d4f0d791be servo: Merge #15580 - Bindgenup (from emilio:stylo); r=heycam
Major pain point is that I had to write the bitfield stuff manually, but that
should be resolved soon again.

Now we generate proper layout for _every_ struct, including field offsets \o/.

r? @heycam

Source-Repo: https://github.com/servo/servo
Source-Revision: 35e7a4cd2c27db605f15670f318dffba22a1c680

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7d3a170fc1e0785344337ee95fcde41edac0b425
2017-02-16 02:58:54 -08:00
Bobby Holley
4596312de1 servo: Merge #15557 - stylo: various fixes to improve style logging in opt builds (from bholley:opt_logging); r=emilio
This adds a traversal time entry to the style statistics, and switches to warn! as discussed in [1].

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1339176

Source-Repo: https://github.com/servo/servo
Source-Revision: 715a16423095e1bba2c192c0aebecb8f6aaffab3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 945c58dec89fcbd5f4e59729a37aacddf368b983
2017-02-15 03:05:07 -08:00
Emilio Cobos Álvarez
2f276aa7e7 servo: Merge #15518 - style: Unbox a bunch of color properties (from emilio:color); r=SimonSapin
This builds on https://github.com/servo/rust-cssparser/pull/118.

Source-Repo: https://github.com/servo/servo
Source-Revision: 357bf3b85a1b548ba012f95a97853b34035c89ab

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : af82ad1d14fefde10323d92f1b7ad75768436aec
2017-02-14 11:43:16 -08:00
Cameron McCormack
54828ee07e servo: Merge #15538 - Do RestyleHint assertions at runtime so they use build-time bindgen (from heycam:mv-test); r=bholley
Currently these assertions work off the in-tree bindings.

r? @bholley

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5250087cba110493962b25b43769d9907e0ce3f6
2017-02-13 19:44:12 -08:00
Boris Chiou
f7326ae20f servo: Merge #15524 - stylo: Drop Servo_RestyleWithAddedDeclaration (from BorisChiou:animation/drop_RestyleWithAddedDeclaration); r=Manishearth
This is the servo-side change for [bug 1338087](https://bugzilla.mozilla.org/show_bug.cgi?id=1338087). r=@Manishearth

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] `./mach test-stylo` does not report any errors
- [X] These changes fix [bug 1338087](https://bugzilla.mozilla.org/show_bug.cgi?id=1338087).
- [X] These changes do not require tests because there are existing tests for this in mozilla-central

Source-Repo: https://github.com/servo/servo
Source-Revision: 61393b08a9a754b6833fc724bd023ce723eae5aa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 74adc18e678684bcc66c3b81bde47b63ec2cb37c
2017-02-12 23:17:59 -08:00
Cameron McCormack
ac2e7f6e66 servo: Merge #15509 - stylo: Remove useless traverse_subtree call warning (from heycam:rm-warning); r=emilio
This warning isn't useful now that we call into traverse_subtree to do the check of the dirty bits, rather than checking them up on the Gecko side.  The crashtest job is currently failing in part due to the log file exceeding 50MB because of this warning.

r? @bholley

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 990f9801b9dec0042dfac9784b8b9de8cc88cc6a
2017-02-11 01:55:15 -08:00
Bobby Holley
a890a85070 servo: Merge #15480 - Refactor style computation (from bholley:refactor_style_computation); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1338382

Source-Repo: https://github.com/servo/servo
Source-Revision: 0dd4afcf6dd3efb8e9f6e620e8e0dc7b135f8eee

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 092cfaab13e17d3d19e7107de593efc7692ad198
2017-02-10 10:34:57 -08:00
Boris Chiou
0d9917ce74 servo: Merge #15493 - stylo: Add Servo_AnimationValue_Serialize (from BorisChiou:animation/get_property); r=Manishearth
This is the servo-side change for [bug 1337313](https://bugzilla.mozilla.org/show_bug.cgi?id=1337313). @Manishearth had already reviewed it there. Please merge this patch until the gecko-side changes for [bug 1337313](https://bugzilla.mozilla.org/show_bug.cgi?id=1337313) is landed.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1337313](https://bugzilla.mozilla.org/show_bug.cgi?id=1337313).
- [X] These changes do not require tests because there are existing tests for this in mozilla-central

Source-Repo: https://github.com/servo/servo
Source-Revision: 401a55e172e7ebdbc1045400ec4720a6c3f1cb03

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 523d8f18cfbc60467fd6dbb917111893d4af6964
2017-02-10 01:34:07 -08:00
Cameron McCormack
eff56205a4 servo: Merge #15481 - stylo: Note need to flush styles when we set dirty descendant bits (from heycam:flush-styles); r=bholley
<!-- Please describe your changes on the following line: -->

This is the Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1331294, already reviewed by @bholley.

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2771b24ab36fb7953780660c275ec295de479599

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 35eda8a03fbfb0e83da1b0d500eeaf67f48a004e
2017-02-09 19:27:33 -08:00
Nazım Can Altınova
1020720464 servo: Merge #15411 - Box larger specified values to avoid memmove impact (from canaltinova:property-declaration); r=SimonSapin
<!-- Please describe your changes on the following line: -->
Box larger specified values to avoid memmove impact.

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

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b4776afd52e97b8493ef9093c229845c9b8821e5
2017-02-09 02:21:36 -08:00
Boris Chiou
fbcc925a32 servo: Merge #15442 - Retrieve the opacity and the transform list from RawServoAnimationValue (from BorisChiou:animation/opacity_transform); r=Manishearth
These are the servo-side changes for [bug 1335942](https://bugzilla.mozilla.org/show_bug.cgi?id=1335942). @Manishearth had already reviewed them there. Please merge these patches until the gecko-side changes for [bug 1335942](https://bugzilla.mozilla.org/show_bug.cgi?id=1335942) is landed.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1335942](https://bugzilla.mozilla.org/show_bug.cgi?id=1335942).
- [X] These changes do not require tests because there are existing tests for this in mozilla-central

Source-Repo: https://github.com/servo/servo
Source-Revision: 11c86b82f6598e63ebbc610e86352e75a948d878

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 86e7044e1aaa1b5bd86341ea61fc52551f565a99
2017-02-08 18:39:45 -08:00
Manish Goregaokar
95c6e42cce servo: Merge #15331 - Basic handling framework for presentation attributes in Stylo, with handling for font-size and color (from Manishearth:stylo-presattr); r=emilio,bz
https://bugzilla.mozilla.org/show_bug.cgi?id=1330041

r=emilio,bz

Source-Repo: https://github.com/servo/servo
Source-Revision: 57fb07e9c041750a82852ca8dde7364fc7083e5b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7ccc19a193dba6df732875bda034870f7663f68a
2017-02-03 17:36:04 -08:00
Hiroyuki Ikezoe
3089a8c25d servo: Merge #15287 - Counter part of bug 1328787 - Stylo: Convert Servo's animation keyframes and store them into Gecko's keyframes (from hiikezoe:css-animation); r=heycam
<!-- Please describe your changes on the following line: -->
Reviewed by @heycam, An exception is auto-generated bindgen stuff, I did not include it in patches on bugzilla.  The bindgen diff included in this PR was generated with  b5c94bad371114ab9f03e910f66c00a042997fc2.  It might be bit-rotted.

---
<!-- 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 gecko has test cases.

<!-- 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: 0459e1a6dd38f943a23e8b858c0bebf37cfadd95
2017-01-28 21:24:04 -08:00
Emilio Cobos Álvarez
11031103fd servo: Merge #15157 - Bug 1332969: stylo: Synchronously do a style update when the device changes (from emilio:bug-1332969); r=bholley
Ideally this would be lazy, but eventually we're going to need to restyle in
RebuildAllStyleData anyway, which would require us to have the style up to date,
so no need to complicate our lives.

r? @heycam or @upsuper or @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 73bb75989fe7f3d976a9ffd023def835d16e0441
2017-01-28 12:56:50 -08:00
Cameron McCormack
88a8529ff2 servo: Merge #15234 - Regenerate bindings and tweak some geckolib code for it (from heycam:bindings-update-19); r=emilio
<!-- Please describe your changes on the following line: -->

Regenerate bindings for latest mozilla-central -> stylo merge.  I had to tweak somethings in build_gecko.rs to get it to compile with the new bindgen, which then resulted in me having to tweak a bit in glue.rs.  Not sure if there's a better way than what I've done here.  (Note that the name `RawServoAnimationValueBorrowedList` is a little misleading, since it's naming a Gecko type (nsTArray) with Servo types (ServoAnimationValue pointers) inside it.)

r? @emilio

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 17953740071b97074b836523b3a3e8f733f58423
2017-01-27 00:36:30 -08:00
Boris Chiou
164a50b03e servo: Merge #15175 - Interpolate servo animation values and add them to the cascade (from BorisChiou:animation/interpolate_and_cascade); r=heycam
These are the servo-side changes for [bug 1317209](https://bugzilla.mozilla.org/show_bug.cgi?id=1317209). @Manishearth, @emilio, and @heycam have already reviewed them there. Please merge these patches until the gecko-side changes for [bug 1317209](https://bugzilla.mozilla.org/show_bug.cgi?id=1317209) is landed.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1317209](https://bugzilla.mozilla.org/show_bug.cgi?id=1317209).
- [X] These changes do not require tests because there are existing tests for this in mozilla-central

Source-Repo: https://github.com/servo/servo
Source-Revision: e4a1cb6f87ac1ba2035c833dca5d9619edeefb8d
2017-01-25 23:36:33 -08:00
Emilio Cobos Álvarez
e606f041e6 servo: Merge #15160 - style: Expose the traversal kind to the style system (from emilio:expose-traversal-kind); r=bholley
This way we'll be able to take different paths for the sequential and parallel
traversals in some concrete cases.

This is a preliminar patch to fix bug 1332525.

r? @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 1934a338757a84a6efddcbd3ecf051cd128a8d18
2017-01-24 17:02:41 -08:00
Manish Goregaokar
65bdc5d4d0 servo: Merge #15089 - Reduce allocator churn when parsing property declaration blocks (from Manishearth:less-vec); r=SimonSapin
fixes #15060

cc @emilio

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e888b5504a9daad86663837ca9e996d63a48821
2017-01-18 17:41:05 -08:00
Emilio Cobos Álvarez
119f1f2d8d servo: Merge #15077 - Media query parsing and evaluation in stylo using nsMediaFeatures (from emilio:stylo-medialist); r=heycam,Manishearth,upsuper
<!-- Please describe your changes on the following line: -->

Reviewed in the bug.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1755ad7b75e056a534e12f375a6677f5c069f4c2
2017-01-18 05:39:57 -08:00
Manish Goregaokar
5b9059bd76 servo: Merge #15040 - stylo: support 1-arg CSS.supports() (from Manishearth:stylo-supports); r=heycam
r=heycam in https://bugzilla.mozilla.org/show_bug.cgi?id=1331316

Source-Repo: https://github.com/servo/servo
Source-Revision: b9c6f9f76e4e9170837484394600b9c9c6065059
2017-01-16 13:56:51 -08:00
Manish Goregaokar
06f9b106e9 servo: Merge #14968 - stylo: Store servo computed values for animation properties (from Manishearth:stylo-keyframes); r=heycam,birtles
Servo counterpart of https://bugzilla.mozilla.org/show_bug.cgi?id=1317208

r=heycam,birtles

Source-Repo: https://github.com/servo/servo
Source-Revision: a46e630b00de3072b0555c605bee35afd9a82da3
2017-01-13 13:25:39 -08:00
Bobby Holley
4b2f7a516c servo: Merge #14997 - stylo: Various crash fixes (from bholley:bug_1329845); r=heycam
Corresponding gecko bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1329854

Source-Repo: https://github.com/servo/servo
Source-Revision: cc8bee8f8990e9bb23171fe65a259978749a9d2f
2017-01-12 19:23:17 -08:00
Bobby Holley
e445eee20a servo: Merge #14907 - Give up on hoisting ElementData into the frame and eliminate the concept of consuming styles (from bholley:eliminate_consume); r=emilio
Servo PR for the work in https://bugzilla.mozilla.org/show_bug.cgi?id=1325734

Source-Repo: https://github.com/servo/servo
Source-Revision: 2a2a89b7e401e72a4d8d6199c483d7ab09ff5c1e
2017-01-09 17:26:50 -08:00
Cameron McCormack
6fc96abe8f servo: Merge #14922 - Don't inherit all properties for eagerly computed pseudos if there are no matching rules (from heycam:pseudo-inherit); r=emilio
<!-- Please describe your changes on the following line: -->

When we resolve style for an eagerly computed pseudo-element, such as an anonymous box, if there are no matching rules we currently just clone the parent's style.  We should only do that if `inherit_all` is true, otherwise we should inherit only the inherited properties from the parent.

I was going to use `.unwrap_or_default()` on the result of looking up `precomputed_pseudo_element_decls`, but that didn't seem to work since that map lookup returns a reference and not a `Vec` itself.

r? @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
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1329121

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ebd4a8b3ee1aab910ef714420a814912fec31e30
2017-01-09 02:46:09 -08:00
Boris Zbarsky
d934174175 servo: Merge #14848 - Stop using global initial styles for stylo; the initial styles need to be per-document (from bzbarsky:initial-styles); r=bholley
<!-- 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=1298588

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests on the servo side because behavior is unchanged.  Gecko-side tests probably exist.

<!-- 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: 143dfc879e609603839502d61bc064fba96cc80f
2017-01-04 21:01:38 -08:00
Bobby Holley
b830eea173 servo: Merge #14835 - Switch to crates.io for atomic_refcell (from bholley:external_atomic_refcell); r=Manishearth
r? @Manishearth

See #14828 for backstory.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e927ca88bf6622d5a87db75863f76976a1df56c
2017-01-03 19:20:59 -08:00
Emilio Cobos Álvarez
c6f610c9b9 servo: Merge #14793 - stylo: Support at-import (from emilio:stylo-at-import); r=heycam,Manishearth
Reviewed upstream by @heycam  and @Manishearth in:

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 569e61e7ff6231ff62b8dc402c3e33b6072af6d8
2016-12-30 19:12:55 -08:00
Bobby Holley
b7870a05af servo: Merge #14751 - style: Add a special, explicit path for lazy style resolution and use it for getComputedStyle (from heycam:transient); r=heycam
<!-- Please describe your changes on the following line: -->

This is the Servo-side part of @bholley's final patch of https://bugzilla.mozilla.org/show_bug.cgi?id=1324627, which I've already r+ed.

Source-Repo: https://github.com/servo/servo
Source-Revision: f36b5531cb7a28036bdb29cf5619ec0da1030849
2016-12-27 19:55:01 -08:00
Bobby Holley
0493cdccfd servo: Merge #14731 - stylo: Coordinate stylist flushing with gecko, and clean up pseudo-element resolution (from heycam:flushing_and_pseudos); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 42ec8a89747ba1e25769fffae083f62fe9576987
2016-12-25 18:13:30 -08:00
Bobby Holley
408478b137 servo: Merge #14662 - Hoist bloom filter into scoped TLS, and remove a bunch of complexity and unsafety from the style system (from bholley:bloom_tls); r=emilio
With this PR, the only remaining usage of UnsafeNode is the transition stuff, which is servo-only and probably going to be rewritten over the course of stylo. The parallel traversal is now fully typechecked and safe. \o/

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: b35ab98132539d4e6f1fcd4b3307eae40e387861
2016-12-22 12:02:38 -08:00
Bobby Holley
8eb98de31a servo: Merge #14642 - Use Scoped TLS in the style system and eliminate UnsafeNode usage in the StyleSharingCandidateCache (from bholley:scoped_tls); r=emilio
See the discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1323372

@emilio Please review, but don't merge yet until we get the upstream changes into Rayon.

CC @SimonSapin @heycam @upsuper @Manishearth @pcwalton @nikomatsakis

Source-Repo: https://github.com/servo/servo
Source-Revision: 8fd8d6161426af386c0dfd3d13968a409474eb16
2016-12-21 11:11:12 -08:00
Cameron McCormack
f80e775024 servo: Merge #14625 - stylo: Add FFI function to make the Stylist realize we have modified style sheets (from heycam:sheets-changed); r=upsuper
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1324341 by @upsuper.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8412008525192455e4f3411a482c546a04bf6c72
2016-12-18 21:49:28 -08:00
Xidorn Quan
c60dd0aef1 servo: Merge #14608 - Use string and nsCSSProperty for stylo CSSOM FFI (from upsuper:bug1323147); r=heycam
<!-- Please describe your changes on the following line: -->
This is the Servo side change of [bug 1323147](https://bugzilla.mozilla.org/show_bug.cgi?id=1323147) which has been reviewed by @heycam and @SimonSapin on Bugzilla.

r? @heycam

Source-Repo: https://github.com/servo/servo
Source-Revision: 11dffa89582aca3607de60e2bcd00b3e917e713b
2016-12-17 18:22:10 -08:00
Emilio Cobos Álvarez
950451a844 servo: Merge #14622 - stylo: Track the last restyle generation properly (from emilio:last-restyle); r=bholley
I couldn't reproduce locally, but I believe this fixes:

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

r? @heycam

Source-Repo: https://github.com/servo/servo
Source-Revision: f6163c77b9ac979f8406ef6ffe90e8c8e4a054cc
2016-12-17 14:40:33 -08:00
Julien Wajsberg
7b2299345c servo: Merge #14430 - Expose Quirks Mode information in the layout data and code (from julienw:access-quirks-mode-from-layout); r=emilio
<!-- Please describe your changes on the following line: -->
This patch exposes the Quirks (NoQuirks/LimitedQuirks/Quirks) state to the layout subsystem.

---
<!-- 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).
Prelimary work for issue #11704.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
(Waiting for guidance of where/which tests I could do here)

<!-- 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: 164426a7f90c90652d2d52c5a54be91154d26af7
2016-12-17 13:25:06 -08:00
Bobby Holley
b0588eeb56 servo: Merge #14610 - Simplify style context architecture and make it safer (from bholley:style_context_refactor); r=emilio
See the discussion at https://bugzilla.mozilla.org/show_bug.cgi?id=1323372

Not done here, but want to get a try run in on the first patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: a4ecdf2d5fda281f25e2689852bc2134429e07c6
2016-12-16 11:38:27 -08:00
Emilio Cobos Álvarez
6609a2b21d servo: Merge #14540 - style: Basic @import support (from servo:at-import); r=SimonSapin,Ms2ger
r? @SimonSapin or @mbrubeck

cc @heycam and @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 38f136175e15acb6472466d141dedb6a253b0330
2016-12-16 09:43:19 -08:00
Cameron McCormack
15cb579f8e servo: Merge #14599 - stylo: Don't keep around cached style after one-off style resolutions (from heycam:one-shot-clear-cache); r=bholley
<!-- Please describe your changes on the following line: -->

r? @bholley

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 6c952e12df34e5fe313bed624ac94192cd2e9e67
2016-12-15 13:10:29 -08:00
Bobby Holley
8f8a339677 servo: Merge #14581 - stylo: Avoid traversing children of XBL-bound elements during initial styling (from bholley:dont_traverse_xbl); r=heycam
Corresponding Gecko bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1294572

CC @heycam @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 535563be313d2766267872a822642e68b686a4a9
2016-12-14 19:41:12 -08:00
Bobby Holley
0124e8b7ab servo: Merge #14560 - stylo: Fix some crashes on incubator (from bholley:fix_crashes); r=heycam
Corresponding gecko bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1322945

Source-Repo: https://github.com/servo/servo
Source-Revision: 855358866640605fe055d792832db2f5e74fe197
2016-12-12 19:13:03 -08:00
Simon Sapin
b176e4d08e servo: Merge #14535 - Introduce a PropertyId enum and use it instead of strings of property names (from servo:property-id); r=mbrubeck
<!-- Please describe your changes on the following line: -->

* `LonghandId` and `ShorthandId` are C-like enums
* `Atom` is used for the name of custom properties.
* `PropertyDeclarationId` is the identifier for `PropertyDeclaration`,
  after parsing and shorthand expansion. (Longhand or custom property.)
* `PropertyId` represents any CSS property, e.g. in CSSOM.
  (Longhand, shorthand, or custom.)

CC @upsuper

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 6dd4b4822fa788694153ee61a04dd9a5dfb748ec
2016-12-10 01:16:26 -08:00
Bobby Holley
637f6af4d6 servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio
The primary idea of this patch is to ditch the rigid enum of Previous/Current
styles, and replace it with a series of indicators for the various types of
work that needs to be performed (expanding snapshots, rematching, recascading,
and damage processing). This loses us a little bit of sanity checking (since
the up-to-date-ness of our style is no longer baked into the type system), but
gives us a lot more flexibility that we'll need going forward (especially when
we separate matching from cascading). We also eliminate get_styling_mode in
favor of a method on the traversal.

This patch does a few other things as ridealongs:
* Temporarily eliminates the handling for transfering ownership of styles to the
  frame. We'll need this again at some point, but for now it's causing too much
  complexity for a half-implemented feature.
* Ditches TRestyleDamage, which is no longer necessary post-crate-merge, and is
  a constant source of compilation failures from either needing to be imported
  or being unnecessarily imported (which varies between gecko and servo).
* Expands Snapshots for the traversal root, which was missing before.
* Fixes up the skip_root stuff to avoid visiting the skipped root.
* Unifies parallel traversal and avoids spawning for a single work item.
* Adds an explicit pre_traverse step do any pre-processing and determine whether
      we need to traverse at all.

Source-Repo: https://github.com/servo/servo
Source-Revision: b9a8ccd775c3192e3810a1730b1d0bc2b5c9dfb6
2016-12-09 17:01:05 -08:00
Emilio Cobos Álvarez
89cb8d3586 servo: Merge #14460 - stylo: Use master bindgen again (from emilio:stylo-bindgenup); r=heycam
<!-- Please describe your changes on the following line: -->

To be fair, this is master bindgen with https://github.com/servo/rust-bindgen/pull/318.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6c3e94805f74e78b091b37fe374af12ad2249528
2016-12-05 03:52:16 -08:00
Cameron McCormack
21f64cc257 servo: Merge #14446 - stylo: Add FFI function to check if a node is dirty (from heycam:should-traverse); r=bholley
<!-- Please describe your changes on the following line: -->

This is the Servo-side change from https://bugzilla.mozilla.org/show_bug.cgi?id=1321284, which has already been reviewed by bholley.

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c974b61d7fe3b63dc6ec81e52b7a4894f537e7a0
2016-12-02 22:58:49 -08:00
Xidorn Quan
351b329516 servo: Merge #14406 - Add insertRule/deleteRule support for stylo (from upsuper:bug1313293); r=heycam
<!-- Please describe your changes on the following line: -->
This is the servo part of [bug 1313293](https://bugzilla.mozilla.org/show_bug.cgi?id=1313293), reviewed by @heycam.

r? @heycam

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 87f5b877d8c1d670e55516c6e6ec2cf303b9692e
2016-11-30 21:54:46 -08:00
Boris Chiou
5877be3c21 servo: Merge #14404 - Use XPCOM string bindings instead of Gecko_Utf8SliceToString (from BorisChiou:Bug1317179); r=Manishearth
These are the servo-side changes for [bug 1317179](https://bugzilla.mozilla.org/show_bug.cgi?id=1317179). @Manishearth has already reviewed them there. I'd like to merge these patches until the gecko-side changes for [bug 1317179](https://bugzilla.mozilla.org/show_bug.cgi?id=1317179) is landed.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1317179](https://bugzilla.mozilla.org/show_bug.cgi?id=1317179).
- [X] These changes do not require tests because there are existing tests for this in mozilla-central

Source-Repo: https://github.com/servo/servo
Source-Revision: 22c8df150af341064abac25a26768c8c1517df1f
2016-11-30 20:12:28 -08:00
Xidorn Quan
fca01e20b5 servo: Merge #14384 - Move Arc<RwLock<_>> out from CssRules tuple (from upsuper:cssrules-struct); r=Manishearth
<!-- Please describe your changes on the following line: -->
Otherwise it would be hard for Gecko to hold `CssRules`.

r? @manishearth

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 39845faf261672b795af59602b45e7ce096b9f33
2016-11-29 03:26:46 -08:00
Emilio Cobos Álvarez
cca73fbfd1 servo: Merge #14353 - Fix the bloom filter stuff (from emilio:fix-bloom); r=SimonSapin
<!-- Please describe your changes on the following line: -->

I think I got the numbers right, want to do a try run before just in case.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 2289ad53dd9a2666645b1f7eef07636e21c1607e
2016-11-28 10:30:19 -08:00
Bobby Holley
62e95664e4 servo: Merge #14300 - stylo: Basic infrastructure for RestyleHint-driven traversal (from bholley:restyle_driven_traversal); r=emilio
Gecko Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=131701

(Don't review yet, will flag on the gecko bug when the time comes)

Source-Repo: https://github.com/servo/servo
Source-Revision: d98abaec20e624aa89a3abddf4cf2a6399951ef1
2016-11-25 09:00:44 -08:00