Commit Graph

541 Commits

Author SHA1 Message Date
Xidorn Quan
1f119c6d9c servo: Merge #20238 - Construct URLValue eagerly and share it between specified value and style structs (from upsuper:url-value); r=emilio
This is the Servo side change of [bug 1443046](https://bugzilla.mozilla.org/show_bug.cgi?id=1443046).

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6c4306304c77f6feb169b335ec66f0b78b5f1763
2018-03-08 08:06:35 -05:00
Jonathan Kew
9137f16912 servo: Merge #20191 - style: Make 'font' shorthand reset 'font-variation-settings' property (from jfkthame:font-shorthand-resets-variation-settings); r=emilio
As required by the spec: https://drafts.csswg.org/css-fonts-4/#font-prop

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

Basically, make font-variation-settings work in the same way as font-feature-settings
already does.

- [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).

- [ ] There are tests for these changes OR
- [X] These changes do not require tests because font-variation-settings isn't supported in servo; it is implemented here for gecko/stylo, and will be tested by mozilla-central mochitests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1783e41f34c75bc7dfb158b4aa2628fd945eceb3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ccc26bb6fcbce339c34504dc3c493cee879970a0
2018-03-04 11:50:56 -05:00
Bobby Holley
cfbe8920ca servo: Merge #20146 - Stylo: Pass an explicit parent SheetLoadData for child stylesheet loads (from bholley:explicit_load_data); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1441896

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 10643d7df19b8b97d27a5081dec6816b120afa1a
2018-02-28 11:32:00 -05:00
Emilio Cobos Álvarez
1319d160ae servo: Merge #20138 - style: Only expose longhands to rust via iterators (from emilio:longhand-iterator); r=nox
The key here is that we only filter longhands if the shorthand is accessible to
content and vice-versa. This prevents the bug that prevented me to land this
patch before, which was us not expanding properly chrome-only shorthands.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2afb50b62cab334fcec0cdcccd793abca8fdb3ec
2018-02-28 06:28:41 -05:00
Emilio Cobos Álvarez
8fff47a007 servo: Merge #20133 - style: Make Shadow DOM not use XBL anymore (from emilio:kill-xbl); r=xidorn
Bug: 1425759
Reviewed-by: xidorn
MozReview-Commit-ID: Jf2iGvLC5de
Source-Repo: https://github.com/servo/servo
Source-Revision: a7f38f0f32e2a01dfd3d415fd34d246957bede63

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a6a2851157d91b46caf11d52b534268f3a24cba
2018-02-21 06:09:15 -05:00
Emilio Cobos Álvarez
d015fb39b1 servo: Merge #20081 - style: More serialization tweaks (from emilio:more-longhand-stuff); r=nox
This still doesn't fix everything. In particular, we need to check whether the
subproperty will be enabled in Longhands and LonghandsToSerialize too.

I haven't decided yet on what's the best way to do that.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f69fc629a34488a51df7323b320b52ee2da65ab1
2018-02-20 23:49:19 -05:00
Xidorn Quan
666ef26b7f servo: Merge #20070 - Add sizeof for AuthorStyles (from upsuper:authorstyles-size); r=bholley,njn
This is the Servo side change for [bug 1438497](https://bugzilla.mozilla.org/show_bug.cgi?id=1438497).

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 31f23b7517b49570f311b34d4c27f8eda9f2a0c1
2018-02-18 23:13:10 -05:00
Emilio Cobos Álvarez
f2afd33bae servo: Merge #20065 - style: Cleanup GeckoElement::note_explicit_hints (from emilio:note-stuff); r=nox
What it's doing is not so complicated.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5f2eb141315f4abbc2e2340950d43679aaf79f42
2018-02-16 15:33:48 -05:00
Emilio Cobos Álvarez
946bc4825a servo: Merge #20061 - style: Make XBL / Shadow DOM use something more light-weight than a Stylist (from emilio:author-styles); r=xidorn
Introduce AuthorStyles, which is just a struct aggregating stylesheets +
CascadeData, with a quirks_mode parameter because XBL sucks so bad.

Bug: 1436059
Reviewed-by: xidorn
MozReview-Commit-ID: 7q99tSNXo0K
Source-Repo: https://github.com/servo/servo
Source-Revision: 504b901cc82db5c5e02e157cec9753f7c297ac2c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 79252144a91938156e03e4bf1be76988a14beeed
2018-02-16 09:54:06 -05:00
Xidorn Quan
742625c2c0 servo: Merge #20042 - Integrate font-variation-settings descriptor with stylo (from upsuper:font-variation-desc); r=emilio
This is the Servo side change for [bug 1435984](https://bugzilla.mozilla.org/show_bug.cgi?id=1435984).

Source-Repo: https://github.com/servo/servo
Source-Revision: 27cd4f7b5387f188570a355c58bf87b9a029d76e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : de2178dad493accc07bda8dd4cded94a002377a8
2018-02-13 19:16:34 -05:00
Emilio Cobos Álvarez
308e8cbfd9 servo: Merge #20038 - style: Avoid an intermediate buffer in Servo_Shorthand_AnimationValues_Serialize (from emilio:no-need-for-strings); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 4c3f1756da1373e9eef33716c9a93b0bb0559241

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5e9b4f0230a2ad74e3c9d84fb32067db8ad17c8c
2018-02-13 12:06:02 -05:00
Emilio Cobos Álvarez
fbc79ce711 servo: Merge #20039 - style: Use consistent formatting for functions in the glue file (from emilio:indent); r=nox
I'm tired of only drive-by fixing them :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e31ae35e1036467e25484ab30132f8bd49f0ee8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 36caa8cd45913ca5b0068fef7b234a4992e03c57
2018-02-13 10:25:30 -05:00
Emilio Cobos Álvarez
4bc28644f9 servo: Merge #20018 - style: Handle quirks-mode changes correctly (from emilio:quirks-mode-flush); r=xidorn
The reason why bug 1355721 regressed this is because in non-e10s we definitely
flush before parsing the standards quirks-mode. And bug 1355721 introduced an
unconditional UpdateStylistIfNeeded, unless the counter style / font
equivalents.

That means that the stylist wouldn't remain on its initial state after the first
flush, which itself means that when the compat mode changed, the UA and user
rules were already on the stylist with the quirks mode keys. That makes
class-names be keyed in ascii lowercase.

After that no user style changed, so no rebuild happens for the cascade data in
the user origin, so we keep looking at the wrong keys indefinitely.

We should try to avoid the flush there and ensure that by the time we create a
pres shell the quirks mode is already up-to-date...

Bug: 1394233
Reviewed-by: xidorn
MozReview-Commit-ID: 25dD2bca3tN
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ec0b50ebc65f04a49420e15267f564d36d5ada1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 763cfe74f08d44b02b166be1c2077b3f4d97e8f5
2018-02-11 13:19:02 -05:00
Xidorn Quan
9f999d9c1d servo: Merge #20013 - Return whether property was removed from Servo_DeclarationBlock_RemoveProperty (from upsuper:remove-prop-bool); r=bzbarsky
This is the Servo side change of [bug 1435139](https://bugzilla.mozilla.org/show_bug.cgi?id=1435139).

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f0a0b143d2750de047e62ab4ee940e791c2826b1
2018-02-10 03:59:43 -05:00
Emilio Cobos Álvarez
d9b65d628d servo: Merge #20004 - style: Add infrastructure to have a standalone author stylesheet collection (from emilio:author-sheet-collection); r=nox
Right now Gecko uses a whole `Stylist` for stuff like XBL / Shadow DOM.

That's not great, because it has tons of unrelated logic, and also eats up a lot of memory. Also, it prevents us to optimize style changes in shadow hosts the same way we do for the document.

These patches mostly rejigger stuff around so that you can define a `DocumentStylesheetSet` and then an `AuthorStylesheetSet`, which would contain just the Shadow DOM sheets / XBL resource sheets.

It still doesn't introduce any use for the later, but that will come later.

There's a patch in this PR that requires Gecko changes, posted in https://bugzilla.mozilla.org/show_bug.cgi?id=1436798.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 35cd629f88c24439c615e283265dbb78d33279b7
2018-02-09 17:18:08 -05:00
Manish Goregaokar
a17da12d3c servo: Merge #19994 - Remove traversal telemetry (from Manishearth:rm-telemetry); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: e654afbc3e47d97835328e6131ef51b2e27e3409

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9c2646dea983c0d03022566fa69a04897146cfc8
2018-02-08 08:10:09 -05:00
Emilio Cobos Álvarez
b081657510 servo: Merge #19973 - style: Rework how media feature changes are handled for XBL (from emilio:media-feature-change); r=xidorn
Bug: 1435939
Reviewed-by: xidorn
Source-Repo: https://github.com/servo/servo
Source-Revision: e57319a7345eded057555f55f801e5f2c413f5b9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6da4b2d236318d13aad4a8f4c1211f733901fa96
2018-02-07 08:02:34 -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
Emilio Cobos Álvarez
6a7646bbc0 servo: Merge #19966 - style: Get rid of gecko_size_type (from emilio:bye-gecko-size); r=nox
It's a hack, should die.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0cfb968e80c9f19f5c4dfad8187f597edc26e344
2018-02-06 21:15:07 -05:00
Emilio Cobos Álvarez
b6862d9f18 servo: Merge #19964 - style: Don't serialize default values of the font shorthand (from emilio:font-shorthand); r=nox
This makes us consistent with the old style system and Blink / WebKit.

Not adding a test because shorthands serialization is a mess... :(

Anyway, nothing like fixing bugs by removing code.

Bug: 1436031
Source-Repo: https://github.com/servo/servo
Source-Revision: dde15d8d6511bfb1440afeff5135757611b96a6c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9d4213440d0c137c44b626038d46d6d344370cdd
2018-02-06 16:42:23 -05:00
Emilio Cobos Álvarez
ecbccf4248 servo: Merge #19935 - style: Cleanup StyleBuilder (from emilio:cleanup-style-builder); r=nox
style: Cleanup StyleBuilder.

This is in preparation of a cascade optimization for custom properties.

This fixes various fishiness around our StyleBuilder stuff. In particular,
StyleBuilder::for_derived_style (renamed to for_animation) is only used to
compute specified values, and thus doesn't need to know about rules, visited
style, or other things like that.

The flag propagation that was done in StyleAdjuster is now done in StyleBuilder,
since we know beforehand which ones are always inherited, and it simplified the
callers and the StyleAdjuster code. It also fixed some fishiness wrt which flags
were propagated to anon boxes and text.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bd28ecd66b845f18aa545761ec4caee972f6fad5
2018-02-03 12:24:23 -05:00
Emilio Cobos Álvarez
609f5f84dc servo: Merge #19918 - style: Refactor font-feature-settings and font-variation-settings (from emilio:font-stuff-is-a-mess); r=nox
This fixes all known issues with serialization and parsing of these two
properties, and in particular calc handling and such:

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

Also does a fair amount of cleanup and all that, which was needed, this code
was a mess.

There are further cleanups that can be done, like renaming the
font-variation-settings animation stuff.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2162eb0164b4a05f33482417996dedf3ff74825d
2018-02-01 06:45:20 -06:00
Emilio Cobos Álvarez
ef4b2d883d servo: Merge #19877 - style: Look at the snapshots when invalidating due to stylesheet changes (from emilio:remove-sheet-oh-noes); r=bz
Otherwise removal of stylesheets may get out of sync with other DOM changes, and
we may fail to invalidate the style of the affected elements.

Bug: 1432850
Reviewed-by: bz
MozReview-Commit-ID: DrMTgLzQcnk
Source-Repo: https://github.com/servo/servo
Source-Revision: bc7dd644f6f50bd6eb3fba1547808775ee9d7620

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a906350d0b2590d4634b95ddccb3a8294ec1cbfe
2018-01-26 20:18:48 -06:00
Anthony Ramine
49a11036dc servo: Merge #19838 - Make ToCss' SequenceWriter not monomorphise like a maniac anymore (from servo:rm-sequence-writer-as-it-was); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 6b2e5283c9e810ac316c203849b6ea25544a62c7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : be769cfabdde7902aa33f0b06ebb47c1823353e7
2018-01-23 12:03:41 -06:00
Emilio Cobos Álvarez
08ae0f4db4 servo: Merge #19842 - style: Cleanup a bit the cascade (from emilio:cascade-cleanup); r=nox,jryans
This makes an element available in StyleAdjuster, and uses it to replace some of our CascadeFlags (the ones that don't represent restrictions on what's actually cascaded, actually).

That fixes handwaviness in the handling of those flags from style reparenting,
and code duplication to handle tricky stuff like :visited.

There are a number of other changes that are worth noticing:

 * skip_root_and_item_based_display_fixup is renamed to skip_item_display_fixup:

   TElement::is_root() already implies being the document element, which by
   definition is not native anonymous and not a pseudo-element.

   Thus, you never get fixed-up if your NAC or a pseudo, which is what the code
   tried to avoid, so the only fixup with a point is the item one, which is
   necessary.

 * The pseudo-element probing code was refactored to return early a
   Option::<CascadeInputs>::None, which is nicer than what it was doing.

 * The visited_links_enabled check has moved to selector-matching time. The rest
   of the checks aren't based on whether the element is a link, or are properly
   guarded by parent_style.visited_style().is_some() or visited_rules.is_some().

   Thus you can transitively infer that no element will end up with a :visited
   style, not even from style reparenting.

Anyway, the underlying reason why I want the element in StyleAdjuster is because
we're going to implement an adjustment in there depending on the tag of the
element (converting display: contents to display: none depending on the tag), so
computing that information eagerly, including a hash lookup, wouldn't be nice.

See each commit for details.

Source-Repo: https://github.com/servo/servo
Source-Revision: 02331617b9bd7a379b05f7daa7ad09a44c27504c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dceeca4961762c9f7414007c83ceed03e00c720b
2018-01-23 06:30:51 -06:00
Bobby Holley
8dd83abf28 servo: Merge #19841 - stylo: Avoid separate monomorphizations of CSS serialization for utf-8 and utf-16 (from bholley:single_tocss); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1431268

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 506f2316b608c02f9b416b2fa84590bdba76d66f
2018-01-22 16:58:30 -06: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
Emilio Cobos Álvarez
3b5da0d9e2 servo: Merge #19790 - style: Work from multiple bugs (from emilio:fix-all-the-bugs); r=heycam,xidorn
Bug: 1429846,1429248,1430608,1409672
Reviewed-by: xidorn,heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d685d4baa0b107e3dd95eeba8076bfb9e07ba0e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3a5287b8cba06111d931ce0d4c9ac8b346bed8c0
2018-01-17 13:55:03 -06:00
Bobby Holley
04d23a3035 servo: Merge #19779 - Avoid debug serialization of PropertyDeclaration & co in release builds (from bholley:avoid_rule_debug_hooks); r=emilio
In total, this PR saves ~60k.

The conditional compilation on the _Debug FFI function eliminates one
of the ToCss variants, eliminating 54.4k, as well as a bunch of other
<1k functions. Removing the public trait implementation of Debug for the
font metrics provider eliminates the last Debug impl from stylo.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7de87c487b247b479fa38c40f683de8783032e11

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7cc20f7e93f1ea483d54ae1668c7dd0402737761
2018-01-15 19:24:59 -06:00
Bobby Holley
39aaa2d873 servo: Merge #19756 - Avoid entraining various Debug impls in release builds (from bholley:avoid_debug_impls_in_release); r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1351737#c29

This patch saves more than 80k of code size.

Source-Repo: https://github.com/servo/servo
Source-Revision: 08fc9f190d7e1eaa11560b5924e243ba686c3d79

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5c71e5e84415f8934a4e72b75e357d1962f82def
2018-01-13 11:52:15 -06:00
Bobby Holley
27dd61154d servo: Merge #19753 - NoteDirtyElement optimizations (from bholley:notedirtyelement_optimizations); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1398119

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 464b9c00206d13c30fad6628c26fe0923a1a5fce
2018-01-12 12:22:10 -06:00
Emilio Cobos Álvarez
462ee655fa servo: Merge #19734 - style: Remove some unneeded indirection (from emilio:less-indirection); r=mbrubeck
All TElement's implement Copy, and are just pointers, so the double indirection
is stupid.

I'm going to try to see if removing this double-indirection fixes some
selector-matching performance, and this is a trivial pre-requisite while I wait
for Talos results.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4d89983f1f0838dc6c11c31e15321289df7f0192
2018-01-09 23:34:15 -06:00
Emilio Cobos Álvarez
d09192fc43 servo: Merge #19721 - style: Support ::slotted better (from emilio:slotted); r=heycam
This allows to selector-match ::slotted, though we still don't parse it.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c92bde66c55c112ea537384d89a698ccb5eba798
2018-01-09 07:26:28 -06:00
Emilio Cobos Álvarez
1795108268 servo: Merge #19667 - Revert #19666 since we do create NAC elements and expect them to be inline (from emilio:root-and-item); r=emilio
This reverts commit 1970e82b0d310128eabe8466d39d42cc20e7ae4b, reversing
changes made to e882660ea694f9f12d9d2936012dbdf192f8aec8.

The reparenting logic is still bogus, but I'll figure out how to deal with that
in a bit.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6466a27a0b5271a78c3d00357de1db4e14495b17
2017-12-31 10:01:58 -06:00
Emilio Cobos Álvarez
4291ece36d servo: Merge #19666 - style: Simplify the skip item based display fixup adjustment (from emilio:root-and-item); r=upsuper
In practice the only NAC that possibly inherits from a grid or flex container
are pseudos.

In Gecko, if the root element is an item container, custom anon content would
also sometimes incorrectly inherit from that (see bug 1405635), but that's fixed
in Stylo.

We remove the IS_ROOT_ELEMENT blockification from the "skip display fixup"
check, since the root element is never NAC or anything like that, so there's no
need for the check.

This also fixes some reparenting fishiness related to pseudo-elements. We were
only skipping the fixup when reparenting anon boxes, not when reparenting normal
element styles, nor when reparenting other pseudo styles which are not anon
boxes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1970e82b0d310128eabe8466d39d42cc20e7ae4b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6633420bdbfffc8a284fa7d804cb48ed0ab20cae
2017-12-31 07:01:10 -06:00
Emilio Cobos Álvarez
2facd37693 servo: Merge #19662 - style: Simplify "prohibit display: contents" adjustment (from emilio:simplify-prohibit-display-contents); r=upsuper
On top of #19661.

The NAC condition is pointless because NAC don't match author rules unless they
are a pseudo-element too.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 12bd00a0a939f3b61b22f1db2073dc49e4c58f9b
2017-12-31 02:23:59 -06:00
Emilio Cobos Álvarez
9bd39a3393 servo: Merge #19661 - style: Simplify ::-moz-fieldset-content special-casing (from emilio:simplify-fieldset-contents); r=upsuper
The style adjuster knows about the pseudo, so there's no reason to thread that
info down.

There are more simplifications that can be done in followups, cleaning a bit the
cascade flags too, those will come later.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9edac6e97fe86837e59d333cb2ce084cda2ab083
2017-12-30 15:12:23 -06:00
CYBAI
bfd346cb0b servo: Merge #19646 - style: Move touch-action outside of mako (from CYBAI:move-touch-action-out-of-mako); r=emilio
This is a sub-PR of #19015
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19645
- [x] These changes do not require tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 446536b9c34b331f5466bfb212be8cb1faa2dee8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 95d2c35265415ad7c93319d1364efa59f49cdaad
2017-12-29 06:08:33 -06:00
Emilio Cobos Álvarez
750fde1fd6 servo: Merge #19551 - style: Make anon boxes account for :visited (from emilio:anon-box-visited); r=heycam
This should fix one of the test failures of:

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : be8406d2a2836f38ebf74b0814cca306b2f023f7
2017-12-13 22:47:38 -06:00
Manish Goregaokar
c9afd2ae75 servo: Merge #19549 - Add telemetry probe for measuring frequency of parallel restyles (from Manishearth:telemetry); r=emilio
Servo side of https://bugzilla.mozilla.org/show_bug.cgi?id=1421195

r=emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 80341b291b3c1f0d423d8b8ab4eb8b1e78e03f2a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 246f365e3ae9434619fed6d187e97f9224c48d0c
2017-12-12 10:14:31 -06:00
Boris Chiou
cb9276bc80 servo: Merge #19491 - stylo: Implement FontFaceSet and Font Descriptors parsers (from BorisChiou:stylo/fontface/parser); r=heycam
This is the inter-dependent patches for Bug 1408303. We implement the FFI for the
parsers of font descriptors and FontFaceSet APIs.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3029f83b0d0654ccb3942722171f5b3d01400e4a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 69afaec1a7ea5b9b31c53f8c4a7fe71df8f22e8e
2017-12-05 08:09:35 -06:00
Emilio Cobos Álvarez
e1034ae8d0 servo: Merge #19457 - style: support calc() in color functions (from emilio:color-calc); r=SimonSapin
Depends on #19456 and https://github.com/servo/rust-cssparser/pull/207.

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5e87eadeda400ec41303d8d2aa506bf65fd86ea4
2017-12-05 03:37:18 -06:00
Cameron McCormack
a1f120e672 servo: Merge #19490 - allow Gecko FFI functions for color parsing to report errors (from heycam:canvas-color); r=Aethanyc
This is the Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420026.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 64d4ae259a985dc3b4cf41586a537bdce41c5866
2017-12-04 23:32:15 -06:00
Cameron McCormack
1d69d9bcb9 servo: Merge #19489 - add FFI functions for Gecko @counter-style value parsing (from heycam:counter-parse-2); r=upsuper
Trying to land #19441 again.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4e3e38ee429faeefb02a6903abd097350a67e1a8
2017-12-04 21:22:50 -06:00
Andreea Pavel
172683ac43 Backed out 1 changesets because the gecko part (bug 1420117) has to be backed out for the mochitests r=backout on a CLOSED TREE
Backed out changeset baada68cad47
2017-12-05 02:15:45 +02:00
Cameron McCormack
f99309301e servo: Merge #19441 - add FFI functions for Gecko @counter-style value parsing (from heycam:counter-parse); r=upsuper
Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420117, reviewed there by Xidorn.

Source-Repo: https://github.com/servo/servo
Source-Revision: 221d72a81ed9300e260d33d2d2d6557b5a118fac

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 73e138d1c06d8e7f29fc9d084ebda2bd1950c03b
2017-12-04 14:36:32 -06:00
Emilio Cobos Álvarez
ddb93e1de5 servo: Merge #19452 - style: Remove pretty useless layer of abstraction (from emilio:layers-as-an-onion); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e8593e29633a67e6a8f61a213217a19278aa2739

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1be2c6957976b130222813f9f23016c02c9cd367
2017-12-01 22:08:22 -06:00
Emilio Cobos Álvarez
a1ac90919c servo: Merge #19426 - style: Require an nth-index cache for invalidation (from emilio:cache-invalidation); r=xidorn
Source-Repo: https://github.com/servo/servo
Source-Revision: 95aac490a5150fd1a354f25c61b01ee0406a1e84

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ca65470776263fe2a7f0bb65ad54a64034c956d5
2017-11-29 16:36:48 -06:00
Boris Chiou
0f040a0d3f servo: Merge #19388 - stylo: Implement Servo_ParseTransformIntoMatrix (from BorisChiou:stylo/dommatrix/parser); r=emilio,heycam
This is an inter-dependent patch of Bug 1408310.

DOMMatrix needs to convert a specified transform list into a matrix, so we rewrite
to_transform_3d_matrix by generics for both specified and computed transform lists.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 823da9e34aacca750942c0fb53a29d6ca16c394d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 15f0da28648677213a6642cf2b377a3d7f3e7073
2017-11-27 20:13:34 -06:00