Commit Graph

23 Commits

Author SHA1 Message Date
Bobby Holley
196912c9bf servo: Merge #20603 - Run rustfmt on selectors, servo_arc, and style (from bholley:rustfmt_style); r=Manishearth
Now that rustfmt is getting close to stable, and work on the style system has died down a bit, it seemed like an opportune time to auto-format the style crates.

The first commit disables import reordering, since tidy and rustfmt don't currently agree on the correct ordering. The second commit does a bunch of manual fixups such that the output of rustfmt passes tidy. The third commit runs rustfmt on the three aforementioned crate.

There are a few dozen warnings in the style crate about lines longer than 100 characters. It would be good to fix these, but I don't have time for that now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a900ef019cd643bff961d7b20db6da69f3edb29
2018-04-10 21:00:11 -04:00
Emilio Cobos Álvarez
79dbdd9703 servo: Merge #19974 - style: Optimize serialization of identifiers of length <= 16 🐉🐲 (from emilio:atom-serialization); r=nox
Much like we optimize to_ascii_lowercase.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0e4ea9f56947e9e47397984566e3e0cb5c3561e
2018-02-07 13:33:36 -05:00
Emilio Cobos Álvarez
2b923e45dc servo: Merge #19955 - style: Make input[type=number] pseudo-elements accessible to chrome (from emilio:number-pseudos-chrome); r=jwatt
Bug: 1433389
Reviewed-by: jwatt
MozReview-Commit-ID: 2ycajPYd3CV
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a3a7cdc22ecdc63ff39d802f669d0a0052aa251
2018-02-05 09:50:35 -05:00
Emilio Cobos Álvarez
b74b91ac7e 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
2018-01-23 06:30:51 -06:00
Emilio Cobos Álvarez
034c3d82a4 servo: Merge #19500 - style: Make all keywords CamelCase for consistency (from emilio:camel-case-all-the-way); r=nox
style: Make all keywords CamelCase for consistency.

Source-Repo: https://github.com/servo/servo
Source-Revision: b24778202a4d886a990ee493adfb6851ac4be40c
2017-12-05 19:35:25 -06:00
Emilio Cobos Álvarez
514eee4dbb servo: Merge #19149 - style: minor cleanups (from emilio:random-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: cbf2ac35f7ba4188f20ba20284d5c218280537d7
2017-11-08 07:28:47 -06:00
Bastien Orivel
113ffac80e servo: Merge #18967 - Bump bitflags to 1.0 (from Eijebong:bitflags2.0); r=mbrubeck
See #18809

Still haven't had time to test it but it should fix the tests failures that appeared in m-c

Source-Repo: https://github.com/servo/servo
Source-Revision: fe4139b779b3af749ec1426ddf4e1393c7b85442
2017-10-30 18:25:45 -05:00
Xidorn Quan
4251860b62 servo: Merge #18962 - Support matching for ::-moz-tree-* pseudo-elements (from upsuper:tree-pseudos); r=emilio
This is the Servo side change of [bug 1397644](https://bugzilla.mozilla.org/show_bug.cgi?id=1397644).

Source-Repo: https://github.com/servo/servo
Source-Revision: b1e6f05ae455748f6091ddf81c1c0488e09546a1
2017-10-20 04:18:53 -05:00
Sebastian Hengst
97c840e765 Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE 2017-10-19 23:23:30 +02:00
Bastien Orivel
a7068a599d servo: Merge #18809 - Update bitflags to 1.0 in every servo crate (from Eijebong:bitflags); r=nox
It still needs dependencies update to remove all the other bitflags
versions.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because it's a dependency update

Source-Repo: https://github.com/servo/servo
Source-Revision: fe16c1d5c3c9084da0ccb85af599d6ec0f8ab20b
2017-10-19 10:35:08 -05:00
Emilio Cobos Álvarez
99be60945a servo: Merge #18153 - stylo: Remove a lot of the restyle damage related complexity (from emilio:restyle-damage-cleanup); r=heycam
The only reason why we had the `existing_style_for_style_damage` bit is to apply
some optimizations that we don't have anymore.

I still want to reintroduce a few of them, at least for the non-eager
pseudo-element case... But I think I won't need this at all.

This allows us to remove a fair amount of Gecko code too.

<!-- 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: -->
- [ ] `./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 _____

<!-- 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: 87206bd68ee6e870c10dc09d5a7b1f893805c379
2017-08-20 07:00:25 -05:00
Cameron McCormack
a31488a832 servo: Merge #17982 - style: Don't perform parent display-based style fixups on most pseudos (from heycam:parent-fixup); r=emilio
Reviewed by Emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1379865.

Source-Repo: https://github.com/servo/servo
Source-Revision: 586f84f5fea9a15c90dc5bc5415e2c5f5caa3ddb
2017-08-05 05:52:59 -05:00
Boris Zbarsky
119839f065 servo: Merge #17912 - Implement ::first-line support in stylo (from bzbarsky:stylo-first-line); r=emilio
<!-- Please describe your changes on the following line: -->

Fixes Gecko bug 1324619.

---
<!-- 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=1324619

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ed75bcae75bda9e4ad04f24ebc07b53f7b51b8b6
2017-07-28 22:51:20 -05:00
Boris Zbarsky
2d70c7f34c servo: Merge #17909 - Don't reconstruct the layout object when going from no pseudo to pseudo with no content for ::before and ::after (from bzbarsky:dont-reframe-before-after); r=emilio
Fixes Gecko bug 1376073.  r=emilio

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1376073

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 8db39f8fdec1c4e86b631230d862d3f370b70bcb
2017-07-28 20:12:37 -05:00
Boris Zbarsky
3da1524298 servo: Merge #17821 - Implement restrictions on which properties apply to which pseudo-elements (from bzbarsky:pseudo-prop-restrictions); r=emilio
::first-line, ::first-letter, and ::placeholder don't allow all properties to apply to them.

---
<!-- 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=1382786

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they're Gecko-only for the moment, and Gecko has tests.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 4bf8e4413ee5f62dfb81f07f0cff8ebded2ef230
2017-07-21 12:15:50 -07:00
Xidorn Quan
2344d8e2dd servo: Merge #17764 - Adjust display value for ::-moz-fieldset-content when parent is flex/grid (from upsuper:fieldset-flexgrid); r=emilio,heycam
This is the Servo side change for [bug 1379901](https://bugzilla.mozilla.org/show_bug.cgi?id=1379901).

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b6d29e31996c87218352b825aa93e01909a6a24
2017-07-17 21:16:26 -07:00
Xidorn Quan
8ae83d7b4b servo: Merge #17687 - Support parsing ::-moz-tree-* pseudo-elements selector (from upsuper:tree-pseudo); r=heycam
This is the Servo side change of [bug 1348488](https://bugzilla.mozilla.org/show_bug.cgi?id=1348488).

Source-Repo: https://github.com/servo/servo
Source-Revision: ce52c16a8fcb056d1b9b9418304f22bc15dae160
2017-07-12 03:35:37 -07:00
Boris Zbarsky
594cb907dc servo: Merge #17528 - Fix stylo support for first-letter (from bzbarsky:first-letter-better); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1324618

<!-- 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: 4e8cf678bf12c1fa3400454905ae33dabff45bb5
2017-06-26 23:46:13 -07:00
Manish Goregaokar
84fb90b55e servo: Merge #17027 - Rollup of 9 pull requests (from Manishearth:rollup); r=Manishearth
- Successful merges: #16993, #17000, #17010, #17013, #17014, #17017, #17019, #17020, #17022
- Failed merges:

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ae546f7ea158466441987d4a86c5c440f0a5e00
2017-05-24 16:08:02 -05:00
Emilio Cobos Álvarez
666119880c servo: Merge #17005 - stylo: Fixup an embarrassing typo that has turned everything orange (from emilio:backdrop-fixup); r=emilio
I messed up when turning the conditions the other way around in #16981.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e58c522723a8d5aa819012cf700df87c9279778
2017-05-23 10:50:13 -05:00
Emilio Cobos Álvarez
9dcaf519e5 servo: Merge #16981 - Bug 1366427: Make backdrop not inherit from the parent element. r=heycam (from emilio:backdrop); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 17069f4876670d5a4f310e449f8bc78bbb45c827
2017-05-23 02:25:07 -05:00
Emilio Cobos Álvarez
b01ac2f972 servo: Merge #16900 - Bug 1364850: Move PseudoElement to be just another combinator in selectors. r=bholley (from emilio:pseudos); r=bholley
On top of https://github.com/servo/servo/pull/16890.

Source-Repo: https://github.com/servo/servo
Source-Revision: d8b7013fcddff79a9c879077e1a564d83201359c
2017-05-17 05:40:14 -05:00
Emilio Cobos Álvarez
217bec0a67 servo: Merge #16878 - stylo: Rework pseudo-elements to support pseudo selectors with state (from emilio:pseudos); r=bholley,xidorn,hiro
Source-Repo: https://github.com/servo/servo
Source-Revision: 161dc666b017803c671a260f9d5298fc4c83f634
2017-05-15 20:46:42 -05:00