Commit Graph

455 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
d596bad293 Bug 1472443: Serialize content properties using Servo. r=xidorn
... and cleanup unused keywords / getters using the scripts in
layout/style/tools

Differential Revision: https://phabricator.services.mozilla.com/D1901

MozReview-Commit-ID: BRUGcje7X0q
2018-06-30 17:14:12 +02:00
Emilio Cobos Álvarez
8d181f4ca3 Bug 1472443: Make StyleContentType an enum class. r=xidorn
Most of it is automated by:

  %s/eStyleContentType_/StyleContentType::/g
  %s/nsStyleContentType/StyleContentType/g

But I removed some parentheses by hand.

Differential Revision: https://phabricator.services.mozilla.com/D1900

MozReview-Commit-ID: 3IcirjIYX5p
2018-06-30 17:13:07 +02:00
Dan Glastonbury
b032a76a35 Bug 1465307 - P2: Fix nsStyleBorder::mBorderColor for GCC. r=xidorn
GCC doesn't like StyleComplexColor with constructor in an anonymous
struct in an anonymous union.  Replace the use of a union to access
`mBorder[..]Color` fields as an array with an accessor methods.

MozReview-Commit-ID: 1Wulh1qKYCZ
2018-06-05 11:24:12 +10:00
Emilio Cobos Álvarez
193aa0d7f1 Bug 1466609: Make clearing atoms slightly more ergonomic. r=xidorn
I prefer to do it this way because Atom has inline paths for static atoms and
such.

MozReview-Commit-ID: CFsBHl80KDY
2018-06-06 09:44:09 +02:00
Emilio Cobos Álvarez
925f405089 Bug 1419695: Move TransitionProperty where it belongs. r=xidorn
MozReview-Commit-ID: 9PN6VfbDbLA
2018-06-04 15:55:53 +02:00
Emilio Cobos Álvarez
c8bba95b9d Bug 1419695: Make the transition-property code make more sense. r=xidorn
We were working around the lack of alias support during parsing in
TransitionProperty by doing a Gecko lookup. That's a hack and is now gone.

MozReview-Commit-ID: EptUvJNTrZr
2018-06-04 15:55:50 +02:00
Emilio Cobos Álvarez
64ba261515 Bug 1466008: Make will-change honor prefs properly, and clean it up while at it. r=xidorn
Will add a test, though in JSConf right now...

MozReview-Commit-ID: JyzwaRgf5Ct
2018-06-01 14:49:59 +02:00
Morgan Rae Reschenberg
d80e0e78fa Bug 1463589 - Add contain:size and contain:content parsing functionality. r=emilio
MozReview-Commit-ID: 4fOqln3oOpC
2018-05-30 07:49:31 -07:00
Emilio Cobos Álvarez
a2b3cd84a6 Bug 1464060: Make the general setup for computed style bits nicer. r=xidorn
This patch:

 * Makes StyleStructID an enum class, and moves it to the mozilla namespaces.

 * Introduces StyleStructConstants with some constants scattered through the
   codebase.

 * Makes the computed style bits an enum class, and splits mPseudoType and mBits
   into their own members, since we were using a uint64_t when we have only a
   couple flags and CSSPseudoElementType is a byte. We statically assert that
   the number of style structs is less or equal to 32.

 * Makes mPseudoTag, mPseudoType and mBits const, since we don't want them to be
   mutated from C++, and we still need a few more refactorings (mostly getting
   rid of FinishStyle) to avoid mutating ComputedStyle instead.

MozReview-Commit-ID: 7qsTtASGcYB
2018-05-28 10:40:00 +02:00
Xidorn Quan
7575b58f71 Bug 1463978 - Don't generate catch-all branch if a image layer keyword value is exhaustive. r=emilio
MozReview-Commit-ID: H8T9Low6kqY
2018-05-24 14:12:55 +10:00
Xidorn Quan
1be43ecdd9 Bug 1460456 part 3 - Add scrollbar-{face,track}-color properties. r=heycam
MozReview-Commit-ID: ImNfHHfzRdM
2018-05-10 10:40:17 +10:00
Emilio Cobos Álvarez
d426d667b3 Bug 1462829: Refactor vector types. r=hiro,xidorn
This fixes clamping of mask-size and moves it out of mako while at it.

MozReview-Commit-ID: 9hiTe63odna
2018-05-21 12:07:28 +02:00
Emilio Cobos Álvarez
1798fb343d No bug - Import style changes from Servo PR #20506. r=me
MozReview-Commit-ID: BELRJUdRUaU
2018-05-21 11:59:40 +02:00
Dorel Luca
b565c4646b Backed out changeset 76a4f60761f9 for breaking Mochitests on multiple platforms on layout/style/test/test_transitions_per_property.html. 2018-05-21 02:48:20 +03:00
Emilio Cobos Álvarez
f37ac6b612 No bug - Import style changes from Servo PR #20506. r=me
MozReview-Commit-ID: BELRJUdRUaU
2018-05-20 21:36:41 +02:00
Xidorn Quan
2e9b432e73 Bug 1461858 followup - Use RefPtr::new instead of RefPtr::from_ptr_ref + clone. 2018-05-16 22:21:57 +10:00
Xidorn Quan
1f79a13fe2 Bug 1461858 part 4 - Rename from_url_value_data to from_url_value and reuse URLValue passed in for ComputedUrl. r=emilio
MozReview-Commit-ID: LJGm3lUS9mD
2018-05-16 14:35:37 +10:00
Xidorn Quan
769d03956e Bug 1461858 part 2 - Make from_image_request infallible. r=emilio
All callsites already assert, so moving the assertion into the method
should be fine. It is not expected to handle a null image value anyway.

MozReview-Commit-ID: J8CA8m22eSv
2018-05-16 13:39:58 +10:00
Xidorn Quan
88c33ba056 Bug 1461858 part 1 - Make creating CssUrl infallible. r=emilio
There were a check in CssUrl::parse_from_string for extra data, which
was removed as part of servo/servo#16241, so it never fails now.

CssUrl::from_url_value_data doesn't seem to need Result from the very
beginning. It is unclear why it was made that way.

MozReview-Commit-ID: LXzKlZ6wPYW
2018-05-16 12:19:31 +10:00
Emilio Cobos Álvarez
8ee2ede1b4 Bug 1442195: Don't crash when finding an unexpected default font type. r=xidorn
For now just return sans-serif, though as the FIXME comment indicates we should
probably just carry around the font-name instead.

MozReview-Commit-ID: CIPbV3R5Ul
2018-05-14 15:19:34 +02:00
Emilio Cobos Álvarez
70131cfa2e Bug 1461288: Distinguish between specified and computed URLs. r=xidorn
This is needed to serialize computed URLs correctly from getComputedStyle.

MozReview-Commit-ID: 9wakhqNrszb
2018-05-14 12:29:40 +02:00
Emilio Cobos Álvarez
b5665ced36 Bug 1461296: Ensure all lonhands have a working clone(), and to_css. r=xidorn
This removes some dubious font-family code too.

It ensures that vector longhands have a proper clone implementation
auto-generating it using `collect()`.

MozReview-Commit-ID: FkdnbTkeF6E
2018-05-14 12:40:31 +02:00
Xidorn Quan
7fb3487da2 Bug 1460192 - Rename pointing to inherited_ui. r=heycam
And also merge values::*::pointing into values::*::ui.

MozReview-Commit-ID: FM4gWEszahB
2018-05-09 16:07:36 +10:00
Emilio Cobos Álvarez
b81a2144cd Bug 1457332: Derive ToCss for Counters. r=xidorn
MozReview-Commit-ID: 1jOglcqt1Dd
2018-04-30 05:10:22 +02:00
Jonathan Watt
bd03a860aa Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Emilio Cobos Álvarez
72c7312d1a Bug 1455358: Use a generic type in preparation to fix animation. r=xidorn
Apart from a bit more code reuse.

MozReview-Commit-ID: 2BNOK6v30lX
2018-04-23 16:56:56 +02:00
Emilio Cobos Álvarez
359e56062e Bug 1455358: Update font-style to css-fonts-4. r=xidorn
This patch is meant to be squashed with the following two. This is an initial
strawman implementation that I wrote to unblock jwatt, cleanups and fixes
follow.

Note that this is style pretty much untested until jwatt's patches are ready,
since Gecko doesn't understand the angle at all, but I expect the fixes to be
minor.

MozReview-Commit-ID: 1Nq5DyCjaZe
2018-04-23 16:56:56 +02:00
Emilio Cobos Álvarez
062c72f2a1 Bug 1454883: Update font-stretch to css-fonts-4. r=xidorn
These won't "just work", pending changes from bug 1436048 to use a floating
point representation for those.

MozReview-Commit-ID: Bi5iTdFreMA
2018-04-23 16:56:55 +02:00
Emilio Cobos Álvarez
c36448e343 Bug 1363875: [css-align]: Rename justify-items: auto to legacy. r=mats,xidorn
MozReview-Commit-ID: Jfwib2XDmSw
2018-04-20 02:07:04 +02:00
Emilio Cobos Álvarez
da9635e9a0 Bug 1454596: Update font-weight property and descriptor to css-fonts-4. r=xidorn
Need to change the tests still, but that should be trivial.

MozReview-Commit-ID: 27aS2UrgXjs
2018-04-19 12:49:37 +02:00
Jonathan Watt
9243470005 Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio 2018-04-13 20:34:37 +01:00
Bobby Holley
4b44e359be servo: Merge #20577 - Avoid Gecko Namespace registration from Servo (from bholley:no_namespace_registration); r=upsuper
https://bugzilla.mozilla.org/show_bug.cgi?id=1451421

Source-Repo: https://github.com/servo/servo
Source-Revision: db9ab0440a75b8663efb816edc2b66faca59a1fd
2018-04-06 17:33:07 -04:00
Fausto Núñez Alberro
42f307ac75 servo: Merge #20482 - Implement a URL-generic type for ListStyleImage (from brainlessdeveloper:list-style-image-computed); r=emilio
<!-- Please describe your changes on the following line: -->

This should fix the following two "expected to fail" tests described in https://github.com/servo/servo/issues/18015:

- getComputedStyle(elem) for url() listStyleImage uses the resolved URL
  and elem.style uses the original URL

- getComputedStyle(elem) for url() listStyle uses the resolved URL
  and elem.style uses the original URL

I updated the test failure expectations by removing the corresponding `.ini` file.

---
<!-- 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 #18015 (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: d744e35d38ce84f7209eb1fc41d2d9f38545d0de
2018-04-03 18:12:13 -04:00
Emilio Cobos Álvarez
9e9fcd7ccc servo: Merge #20500 - style: Add support for 'flex-basis:content' in the style system (from emilio:1105111); r=xidorn
Bug: 1105111
Reviewed-by: xidorn
MozReview-Commit-ID: 5WhgHJJ0mDB
Source-Repo: https://github.com/servo/servo
Source-Revision: ca7463df9ee6f7d3886c2bbcb2d0842f24c4abf7
2018-04-01 21:18:27 -04:00
Mats Palmgren
37c57e06e6 servo: Merge #20499 - style: Implement percentages for 'column-gap' (from emilio:1398537); r=emilio,dholbert
Bug: 1398537
Reviewed-by: emilio,dholbert
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e2411d2c50f87e2fbcfc91167029bd345649653
2018-04-01 18:59:15 -04:00
Emilio Cobos Álvarez
89cb511b3c servo: Merge #20386 - style: Rename StyleContext to ComputedStyle (from emilio:computed-style-rename); r=jwatt
Bug: 1447483
Reviewed-by: jwatt
MozReview-Commit-ID: KATZ6DkmpVY
Source-Repo: https://github.com/servo/servo
Source-Revision: 563f0ec8245d6ff4d7d200c30655f90f5bdfed64
2018-03-22 13:48:24 -04:00
Emilio Cobos Álvarez
86438f7ff0 servo: Merge #20339 - style: Remove unsound Atom From implementations (from emilio:atom-from-dead-beef); r=nox
Fixes #20158

Source-Repo: https://github.com/servo/servo
Source-Revision: b47224dbcce2974e6f572b284cba1e2f5393b95d
2018-03-19 06:11:14 -04:00
Dmitry
90be92cb8f servo: Merge #20252 - Extract text emphasis style (from NeverHappened:extract_text_emphasis_style); r=upsuper
<!-- Please describe your changes on the following line: -->
Extracted the text-emphasis-style property out of the inherited_text.mako.rs.
This is a part of #19015

---
<!-- 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] `./mach cargo-geckolib check` does not report any errors
- [X] These changes fix #19940 (github issue number if applicable).

<!-- Either: -->
- [X] These changes do not require tests because it's a refactoring

<!-- 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: aa8fb3a2044c03301e23aa9ffbee1161b9bd092c
2018-03-09 19:20:10 -05:00
Xidorn Quan
98847d6862 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
2018-03-08 08:06:35 -05:00
Emilio Cobos Álvarez
1eb26a1c05 servo: Merge #20186 - style: Fix text-emphasis-style conversion (from emilio:fixup-fill); r=nox
Was accidentally broken in #20178 and is causing orange.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2425939f9fa8fe8263e3b7108c265da6d12d7409
2018-03-03 12:23:52 -05:00
Anthony Ramine
8fa887416b servo: Merge #20178 - Derive ToCss for some more stuff (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c9be9f77630c30120a72e50f0865b8b6e55db00
2018-03-03 10:17:42 -05:00
Anthony Ramine
488bb613e3 servo: Merge #20171 - Make ContentItem use a CustomIdent for counter names (from servo:content-item-counters); r=emilio
See https://github.com/w3c/csswg-drafts/pull/2377.

Source-Repo: https://github.com/servo/servo
Source-Revision: 476a0764f5398675481cbaaa040ecc061ae6e579
2018-03-02 11:18:49 -05:00
Emilio Cobos Álvarez
2e57800fc3 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
2018-02-28 06:28:41 -05:00
Anthony Ramine
766ec03445 servo: Merge #20131 - Replace NonNegativeLengthOrNumber by a specific type for -moz-tab-size (from servo:moz-tab-size); r=emilio
This is the only use of this type.

Source-Repo: https://github.com/servo/servo
Source-Revision: 030509e66b9d3432c112bb5639f446535749963e
2018-02-27 12:17:43 -05:00
Anthony Ramine
4f8d2f8feb servo: Merge #20124 - Replace LengthOrNone by a specific type for the perspective property (from servo:perspective); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 6df0dc5b2710a6ba856de7c064a6631a8d63efc5
2018-02-26 16:35:32 -05:00
Anthony Ramine
6330be21c0 servo: Merge #20104 - Replace PositiveIntegerOrAuto by ColumnCount (from servo:rm-pointless-abstraction); r=emilio
It was its only use.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a3bd3955cb002c9f630f88bdfdc4ba124602bf5
2018-02-22 04:30:58 -05:00
Hiroyuki Ikezoe
87973d30af servo: Merge #20102 - Request restyle display changed from none for animations (from hiikezoe:request-restyle-display-changed-from-none); r=emilio,birtles
<!-- Please describe your changes on the following line: -->

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 638b44e0d7c651a256630617fc29bb177f677635
2018-02-21 20:30:29 -05:00
Anthony Ramine
dfd4a833bc servo: Merge #20079 - Replace IntegerOrAuto with ZIndex (from servo:ZEH-INDEX); r=emilio
It's its only use.

Source-Repo: https://github.com/servo/servo
Source-Revision: 05b8ba0a48947858ae256b6944b9ddd3c0379fba
2018-02-20 12:13:40 -05:00
Emilio Cobos Álvarez
b9954d1bed servo: Merge #20072 - style: Unship the legacy syntax for -moz-transform (from emilio:moz-transform); r=xidorn
Intent to unship link:

  https://groups.google.com/d/msg/mozilla.dev.platform/T3PGm97MPNU/59XUavMlCgAJ

Reviewed-by: xidorn
Bug: 1438297
MozReview-Commit-ID: 6ybGBasPAWU
Source-Repo: https://github.com/servo/servo
Source-Revision: 6afdf7c1cbe76b3a0454d21b1a56c170e83490ee
2018-02-19 05:46:16 -05:00
Anthony Ramine
8b4e0b9d7b servo: Merge #20047 - Move some font code around (from servo:derive-all-the-things); r=emilio
The only notable change is that KeywordInfo is now generic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0baab064df950cff65ce76dc5f134e2cd4c7413b
2018-02-15 06:26:02 -05:00