Commit Graph

86 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
7547e2d9e0 Bug 1468651: Make StyleStruct.name_lower snake case. r=heycam
MozReview-Commit-ID: A3TpDTmFgF
2018-06-20 11:26:55 +02:00
Emilio Cobos Álvarez
4f80dc6f57 Bug 1467536: Add CssPropFlags::SerializedByServo and use it on some simple properties. r=xidorn
The idea is to turn the simple properties into a blacklist instead really soon,
and fix the offending ones soon after, so that only shorthands and properties
with layout dependence (and maybe the scrollbar properties, because the poke at
LookAndFeel) are not serialized by Servo.

MozReview-Commit-ID: JTLNnmXzny8
2018-06-10 00:41:50 +02:00
Gurzau Raul
6564b555e7 Backed out 4 changesets (bug 1467536) for permafailing on layout/style/test/test_bug418986-2.html. a=backout
Backed out changeset 4e1cee0e0a48 (bug 1467536)
Backed out changeset 697892c54d63 (bug 1467536)
Backed out changeset 13b38c2d3251 (bug 1467536)
Backed out changeset 086eaeb69efa (bug 1467536)
2018-06-09 10:45:08 +03:00
Emilio Cobos Álvarez
82d2822c95 Bug 1467536: Add CssPropFlags::SerializedByServo and use it on some simple properties. r=xidorn
The idea is to turn the simple properties into a blacklist instead really soon,
and fix the offending ones soon after, so that only shorthands and properties
with layout dependence (and maybe the scrollbar properties, because the poke at
LookAndFeel) are not serialized by Servo.

MozReview-Commit-ID: JTLNnmXzny8
2018-06-08 14:18:00 +02: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
Xidorn Quan
5cf08e959a Bug 1454591 part 3 - Consistently use top-right-bottom-left order for physical sides. r=heycam
MozReview-Commit-ID: 6pLRSO8YNDI
2018-05-04 15:15:56 +10:00
Xidorn Quan
ccaac7107a Bug 1452542 part 5 - Generate property list from Servo data. r=emilio,froydnj
With this change, we first generate a data file ServoCSSPropList.py from
Servo data, and then use this data to generate ServoCSSPropList.h.

This change itself serves as a checkpoint with a runtime check that all
information generated from Servo side matches what we have in the Gecko
side. Following patches will start replacing uses of nsCSSPropList.h
with either the data file or the header file.

The reason that it generates data file rather than header directly is
that, many users of PythonCSSProps.h invokes C++ preprocessor manually
to extract data from nsCSSPropList.h without passing in search paths,
so it is non-trivial to replace the use of nsCSSPropList.h there with
a generated header. Generating a Python data file would hopefully
simplify those users rather than adding more complexity to them.

I also thought about generating JSON rather than plain Python file, but
JSON doesn't allow trailing comma in array, which makes it less pretty
to generate via mako template.

MozReview-Commit-ID: CwK2oL88r6F
2018-04-16 14:08:20 +10:00
Xidorn Quan
e4fac53317 Bug 1452542 part 3 - Use snake_case naming for nsCSSPropertyID of alias as well. r=emilio
MozReview-Commit-ID: 242ms8wBDIU
2018-04-11 13:44:30 +10:00
Andreea Pavel
09076bc3fd Backed out 7 changesets (bug 1452542) for failing toolkit/content/tests/chrome/test_arrowpanel.xul on a CLOSED TREE
Backed out changeset f206acff283f (bug 1452542)
Backed out changeset be97e652391f (bug 1452542)
Backed out changeset 4d3a028edaed (bug 1452542)
Backed out changeset 5619bba37cdd (bug 1452542)
Backed out changeset e83a797bdc61 (bug 1452542)
Backed out changeset 255e2feff19f (bug 1452542)
Backed out changeset fac55b1a0706 (bug 1452542)
2018-04-18 20:10:35 +03:00
Xidorn Quan
531901c25f Bug 1452542 part 5 - Generate property list from Servo data. r=emilio,froydnj
With this change, we first generate a data file ServoCSSPropList.py from
Servo data, and then use this data to generate ServoCSSPropList.h.

This change itself serves as a checkpoint with a runtime check that all
information generated from Servo side matches what we have in the Gecko
side. Following patches will start replacing uses of nsCSSPropList.h
with either the data file or the header file.

The reason that it generates data file rather than header directly is
that, many users of PythonCSSProps.h invokes C++ preprocessor manually
to extract data from nsCSSPropList.h without passing in search paths,
so it is non-trivial to replace the use of nsCSSPropList.h there with
a generated header. Generating a Python data file would hopefully
simplify those users rather than adding more complexity to them.

I also thought about generating JSON rather than plain Python file, but
JSON doesn't allow trailing comma in array, which makes it less pretty
to generate via mako template.

MozReview-Commit-ID: CwK2oL88r6F
2018-04-16 14:08:20 +10:00
Xidorn Quan
31106a08a1 Bug 1452542 part 3 - Use snake_case naming for nsCSSPropertyID of alias as well. r=emilio
MozReview-Commit-ID: 242ms8wBDIU
2018-04-11 13:44:30 +10:00
Xidorn Quan
13528ecd43 Bug 1454528 - Remove trailing underscore of float ident. r=heycam
MozReview-Commit-ID: DN7rQu3adSB
2018-04-17 11:07:57 +10:00
Xidorn Quan
03aa894c58 Bug 1453521 - Support prefs for aliases in Servo side. r=heycam
MozReview-Commit-ID: 8DAFmLDVYlR
2018-04-12 10:27:43 +10:00
Xidorn Quan
ad82d51c57 servo: Merge #20619 - Have nscssproperty a method of data instances (from upsuper:properties-data); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7462eda675e2b19b3890acfaa4ac4f3dd2606bb0
2018-04-11 14:41:15 -04:00
Hiroyuki Ikezoe
4c5059a621 servo: Merge #20602 - Don't make logical properties animatable (from hiikezoe:dont-make-logical-properties-animatable); r=emilio
|animation_type| was renamed in 94fb839fdde, but the commit missed renaming
one place.  It means that some of logical properties might have been
accidentally animatable.  Logical properties should be animatable but we
haven't yet implemented the proper Animate trait for logical properties.

Source-Repo: https://github.com/servo/servo
Source-Revision: e31fefdf7816ff76ff60c7067e89b8aae91d87cd
2018-04-10 03:30:13 -04:00
Jonathan Kew
144a00eedc 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
2018-03-04 11:50:56 -05:00
Emilio Cobos Álvarez
0ecd8329c6 servo: Merge #20187 - style: Add font-optical-sizing property (from emilio:font-optical-sizing); r=emilio
Patch by Jonathan Kew <jkew@mozilla.com>.

Bug: 1435692
Reviewed-by: emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: df079286c232f49c5317a3d18a1052b1a6d274cd
2018-03-03 15:10:30 -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
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
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
Anthony Ramine
f9cb1c3f35 servo: Merge #20014 - Optimise some AnimationValue methods for size 🐉🐲 (from servo:by-the-power-of-void); r=emilio
This shaves 40KB off of libxul.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4362e0c1371c9ae45f1a71a406578eadc94a8b
2018-02-10 10:32:21 -05:00
Anthony Ramine
89e4072593 servo: Merge #19980 - Merge all keyword arms in Clone for PropertyDeclaration 🐉🐲 (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 41fb6ed1ffda877c24747a4d209bb32885ac6b2f
2018-02-09 16:17:01 -05:00
Manish Goregaokar
a130e14d7b servo: Merge #20001 - Autogenerate compute_damage (from Manishearth:compute-damage); r=mbrubeck
fixes #10622

Source-Repo: https://github.com/servo/servo
Source-Revision: e19bab84cf43c43930d7493840444a8ee2af1e8b
2018-02-09 12:02:04 -05:00
Emilio Cobos Álvarez
ab73387b0d 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
2018-02-06 21:15:07 -05:00
Anthony Ramine
1f18fd85a4 servo: Merge #19956 - Generate some PropertyDeclaration methods by hand 🐉🐲 (from servo:derive-all-the-things); r=emilio
We rely on https://github.com/rust-lang/rfcs/pull/2195 to make some enums share the same discriminants by definition.

This fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1428285.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9faf0cdce50379dfb8125d7a9c913babd56382e2
2018-02-06 08:12:33 -05:00
Emilio Cobos Álvarez
09076b1a03 servo: Merge #19757 - style: Remove -servo-text-decorations-in-effect (from emilio:bye-custom-cascade); r=nox
It is bogus, because it depends on the display property as it's cascaded, but
the display property can change afterwards, for example, if we get blockified
because we're the root element or a flex item.

Replace it with a normal field instead.

Also, it carries some weight, because it's the last property that uses this
concept of "derived" property, and "custom cascade". So we can remove some code
after this.

Compute it after the cascade process in StyleAdjuster.

Source-Repo: https://github.com/servo/servo
Source-Revision: f2036e7661a3f865b38d8296cc1b8ab98e60f679
2018-01-15 05:14:49 -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
Simon Sapin
ed5b680e0a servo: Merge #19316 - Fix Stylo tests to pass on both Stable and Nightly Rust (from servo:stylo-size-of); r=emilio
This is on top of https://github.com/servo/servo/pull/19285.

Rust Nightly has new enum memory layout optimizations: https://github.com/rust-lang/rust/pull/45225

Source-Repo: https://github.com/servo/servo
Source-Revision: 17e97b9320fdb7cdb33bbc5f4d0fde0653bbf2e4
2017-11-21 05:41:12 -06:00
Emilio Cobos Álvarez
6d262cc149 servo: Merge #19267 - style: Replace "internal" properties with "enabled_in" (from emilio:ua-props); r=upsuper
This allows enabling properties in ua sheets and chrome differently.

The setup is:

  * enabled_in needs to be one of the four values:
    ["", "ua", "chrome", "content"]

  * "chrome" implies "ua", and implies that they're explicitly enabled.

  * "" implies the property will never be parsed.

  * "content" implies the property is accessible unconditionally, modulo a pref.

Experimental still keeps trumping over those when the pref is enabled.

This PR replaces uses of internal="" by enabled_in="ua" or enabled_in="".

This may seem that it changes behavior, but since the properties where I added
enabled_in="" already unconditionally error from parse it's not.

Next step is annotating chrome-only properties.

Source-Repo: https://github.com/servo/servo
Source-Revision: a757fb14cf6938000824fc6cb756acd0176adb9a
2017-11-18 01:48:12 -06:00
Emilio Cobos Álvarez
14ac0cc523 servo: Merge #19235 - style: Add infra to differentiate chrome and UA sheets (from emilio:chrome-props); r=xidorn
This keeps the behavior of stuff being accessible from chrome stylesheets being
the same of content sheets except on the UA origin. That will be changed in a
followup.

Source-Repo: https://github.com/servo/servo
Source-Revision: e07245cabacdb0cfb597bfc3864abea6d567a1c6
2017-11-16 14:01:39 -06:00
Keith Yeung
f6070adde5 servo: Merge #19211 - Move text-decoration-line out of mako (from KiChjang:text-decoration-line); r=emilio
Part of #19015.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f1d9a198fa3f060f3eae28f13ac248b0b1186ce
2017-11-14 15:34:10 -06:00
Emilio Cobos Álvarez
5dde16e1cf servo: Merge #18537 - style: Spring cleanup (from emilio:spring-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 14529da2a3c9a84cdec5735fca09d0bcb5995348
2017-09-17 13:35:45 -05:00
Anthony Ramine
022d9ec6b9 servo: Merge #18134 - Introduce values::animated::Animate (from servo:we-are-leaving-babylon); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 8ca9542de6838fc485e9e41013d84b396ff216a9
2017-08-22 07:22:10 -05:00
Nazım Can Altınova
15f26a6769 servo: Merge #18115 - stylo: Add a pref checking mechanism for alias properties (from canaltinova:alias-pref); r=Manishearth,xidorn
This pr reviewed by Manishearth and xidorn in bugzilla.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1344314](https://bugzilla.mozilla.org/show_bug.cgi?id=1344314)

Source-Repo: https://github.com/servo/servo
Source-Revision: dca1150ea1ff85d3bf0af70437a24cc32a9b6d94
2017-08-16 15:45:49 -05:00
Manish Goregaokar
8ecda34549 servo: Merge #17984 - Remove style/testing feature (from Manishearth:rm-testing); r=SimonSapin
We added this because a year ago we had no reliable Gecko CI. This meant that Gecko-only properties needed to be tested *somehow*, and we solved that by making it so that for unit tests we compile all properties, not just the servo ones.

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

r? @emilio or @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 32f835260cd3ea03a881f7a344a01f401c4db621
2017-08-08 07:35:29 -05:00
Boris Chiou
9278b63804 servo: Merge #17783 - stylo: Bug 1374233 - Clamp interpolated values for properties which need to be restricted (from BorisChiou:stylo/animation/restrictions); r=nox
Some properties only accept non-negative values, or values greater than or equal to one. It is possible to produce an negative interpolated values while using negative timing functions, so we have to apply a restriction to these values to avoid getting invalid values.

For example, line-height must be non-negative, but the output progress of some timing functions (e,g. cubic-bezier(0.25, -2, 0.75, 1)) may be a negative value, so the interpolated result of line-height is also negative.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1374233.
- [X] These changes do not require tests because we have tests in Gecko side already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 016ea11cbaf7586db144be122581c5b110649aee
2017-08-07 11:05:17 -05:00
Brian Birtles
e6707c1770 servo: Merge #17831 - Iterate through properties in priority order when computing keyframes (from birtles:property-priorities); r=heycam
This is largely just a translation of Gecko's PropertyPriorityIterator[1] into rust with the exception that IDL sort order is only defined for shorthands since that's all we currently require.

[1] http://searchfox.org/mozilla-central/rev/3a3af33f513071ea829debdfbc628caebcdf6996/dom/animation/KeyframeUtils.cpp#151

---
<!-- 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 --stylo` does not report any errors
- [x] These changes fix (Gecko bug 1371493)[https://bugzilla.mozilla.org/show_bug.cgi?id=1371493].
- [x] There are tests for these changes OR

<!-- 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: a47fde038e893d4b76d64b6917085d8e5bc9d8d1
2017-07-23 21:54:12 -07:00
Xidorn Quan
73bc572c95 servo: Merge #17568 - Handle prefixed value of -moz-user-select properly (from upsuper:user-select); r=Manishearth
This is supposed to fix [bug 1374996](https://bugzilla.mozilla.org/show_bug.cgi?id=1374996).

Source-Repo: https://github.com/servo/servo
Source-Revision: d52a08a5c5175b01561b93f0cd94545fdd2b989c
2017-07-03 21:56:19 -07:00
Cameron McCormack
54b798b46a servo: Merge #17574 - style: Make "internal" and "experimental" interact in the same way as Gecko (from heycam:experimental); r=Manishearth
From https://bugzilla.mozilla.org/show_bug.cgi?id=1375374.

Source-Repo: https://github.com/servo/servo
Source-Revision: d47de6ccfc0f8e2d796769dd66becfe5bfa55a9d
2017-06-30 06:09:29 -07:00
Brian Birtles
e8d95d00ee servo: Merge #17331 - Support animation of the display property (from birtles:animate-display); r=hiro
These are the Servo-side changes of [Mozilla bug 1371518](https://bugzilla.mozilla.org/show_bug.cgi?id=1371518).

These changes have been reviewed by @hiikezoe.

Source-Repo: https://github.com/servo/servo
Source-Revision: 09b8f124f59f98d83e4fe72a3fe4d506e912cdb6
2017-06-14 20:17:47 -07:00
Xidorn Quan
040af8607b servo: Merge #17219 - Support interpolation between currentcolor and numeric color (from upsuper:currentcolor); r=Manishearth,birtles
This is the Servo side change of [bug 1345709](https://bugzilla.mozilla.org/show_bug.cgi?id=1345709).

Source-Repo: https://github.com/servo/servo
Source-Revision: 24e944ad94816e607e833e34095c4f8b8136df4c
2017-06-07 21:03:52 -07:00
Cameron McCormack
eb61eefa72 servo: Merge #17092 - style: Add support for disabled document colors (from heycam:document-colors); r=xidorn
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1355716.

Source-Repo: https://github.com/servo/servo
Source-Revision: 43862ba0450427c7ad27e191789df5cf6d746c55
2017-05-30 06:10:42 -05:00
Mantaroh Yoshinaga
ca2d570944 servo: Merge #16942 - Make font-stretch animatable (from mantaroh:font-stretch); r=hiro
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1357663

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

<!-- Either: -->
- [X] There are tests for these changes, a test case will be landed in web-platform-tests in https://bugzilla.mozilla.org/show_bug.cgi?id=1357663

<!-- 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: 2c3a03b254c696d7be7a3d85ae5957628db63206
2017-05-20 01:52:52 -05:00
Xidorn Quan
703d59975f servo: Merge #16827 - Make font-feature-settings a subprop of font (from upsuper:subprop-font-feature-settings); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: e83e102736907a5905134aa129dd43debf5c216c
2017-05-13 04:40:18 -05:00
Manish Goregaokar
5dacae5f0f servo: Merge #16721 - Set vector properties via iterator in stylo (from Manishearth:vector-iter); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1360882

Avoids transient allocations

Source-Repo: https://github.com/servo/servo
Source-Revision: e23c8f1f3cc326782ca025bc67b0e4003b1c5275
2017-05-04 11:23:05 -05:00
Anthony Ramine
e77bb9c254 servo: Merge #16609 - Implement unitless length quirk (from nox:quirks); r=Manishearth,emilio
The Gecko side doesn't propagate its quirks mode yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: d8bcc0db1aad26e007b7e2bdeda3cea4953c0db0
2017-04-27 22:32:24 -05:00
Hiroyuki Ikezoe
98af515079 servo: Merge #16587 - Introduce intermediate rgba (from hiikezoe:intermediate-rgba); r=birtles,boris
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1356941
---
<!-- 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
<!-- Either: -->
- [X] These changes do not require tests because it's for stylo.

Source-Repo: https://github.com/servo/servo
Source-Revision: 46bb635c4c1eb9e420392d7a761956c1cc10ce3a
2017-04-24 07:22:39 -05:00
Manish Goregaokar
10162ab1a2 servo: Merge #16564 - stylo: Support system fonts (from Manishearth:stylo-sys-2); r=xidorn
r=xidorn https://bugzilla.mozilla.org/show_bug.cgi?id=1349417

(take 2, we backed out the last one due to heap hazards)

Source-Repo: https://github.com/servo/servo
Source-Revision: 97c14f05df33fe4ce118f51bb23abf39000b4217
2017-04-21 17:03:28 -05:00
Nazım Can Altınova
2c5d5a5fbb servo: Merge #16231 - stylo: Implement -moz-transform property (from canaltinova:moz-transform); r=Manishearth
-moz-transform property is an alias shorthand property. It has transform as sub-property but their parsing is different in some cases(matrix/matrix3d). -moz-transform also accepts LengthOrPercentage in the nondiagonal homogeneous components of matrix and matrix3d.

It looks like length and percentage values are getting computed to number directly. For example 120px converts into 120 and calc(120px + 20%) converts into 140. So I did like this. But we need to check this behavior again to be sure, I guess.

Also I spent half day investigating why matrices are not serializing after this change and found out their ToCss functions is not completely implemented yet 😄 I was going to implement them but there is an easy issue about it(#15194) so I left it that way. Probably all tests won't pass without it.

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

<!-- 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: b8b4ec92df9729f8d07ff1d2b6e3e3474a978b6c
2017-04-19 17:37:07 -05:00
Boris Chiou
457f8e57f6 servo: Merge #16526 - stylo: Bug 1357671 - Make animation_type of logical properties be None (from BorisChiou:stylo/animation/logical_type); r=emilio
Logical properties will be animatable (with discrete type), but for now, it is still non-animatable, so we assign "None" to the animation_type.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1357671
- [X] These changes do not require tests because this is for code gen. If there is any problem, we will get compilation errors.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5062c4b117dcd99df8ad46dae1b2dd4e6f1f0691
2017-04-19 05:29:48 -05:00