Commit graph

58 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
b44ff327e9 Bug 1520154 - Move cursor to cbindgen. r=boris
The only reason it was on style_traits is so that they could use it from some
other crates, but Servo eventually ends up getting the value from an integer, so
may as well pass it around and do that in the end of the process anyway.

Differential Revision: https://phabricator.services.mozilla.com/D16557
2019-01-16 14:13:07 +01:00
Ryan Hunt
9f09201ef2 Bug 1305957 part 2 - Add 'overflow-anchor' CSS property. r=emilio
https://drafts.csswg.org/css-scroll-anchoring/#exclusion-api

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

--HG--
extra : rebase_source : 14d4a6282274b125a6153a05daff5d93e34a29b7
extra : source : c66c00f7329619d53bc14ec615a0d92f06b6a892
2018-11-21 22:33:15 -06:00
Bogdan Tara
6d78d1e2c9 Backed out 15 changesets (bug 1305957) for ASAN failures CLOSED TREE
Backed out changeset 4d5eb85d3155 (bug 1305957)
Backed out changeset 51c86d025ecb (bug 1305957)
Backed out changeset d8eef8f3e396 (bug 1305957)
Backed out changeset 950bf6ad1ef2 (bug 1305957)
Backed out changeset b4cb2cbebdb6 (bug 1305957)
Backed out changeset bfca5019a9cc (bug 1305957)
Backed out changeset e76b842c7b7f (bug 1305957)
Backed out changeset d9445a5f3458 (bug 1305957)
Backed out changeset d9052f7b34d9 (bug 1305957)
Backed out changeset e7124fecb721 (bug 1305957)
Backed out changeset bdb766faa867 (bug 1305957)
Backed out changeset 3033401ef320 (bug 1305957)
Backed out changeset 6b96050386f6 (bug 1305957)
Backed out changeset c66c00f73296 (bug 1305957)
Backed out changeset 6bd0bdab93cb (bug 1305957)
2019-01-10 18:49:22 +02:00
Ryan Hunt
53ae64fd5e Bug 1305957 part 2 - Add 'overflow-anchor' CSS property. r=emilio
https://drafts.csswg.org/css-scroll-anchoring/#exclusion-api

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

--HG--
extra : rebase_source : eaef41c6fecb8e90850c617b5b1d3602f91990b2
extra : histedit_source : 3beb002b612e4caf22538928acffd702f70adf92
2018-11-21 22:33:15 -06:00
Emilio Cobos Álvarez
b78489b8af Bug 1518098 - Rename LengthOrPercentage to LengthPercentage. r=jwatt#style
It does not represent `<length> | <percentage>`, but `<length-percentage>`, so
`LengthOrPercentage` is not the right name.

This patch is totally autogenerated using:

rg 'LengthOrPercentage' servo | cut -d : -f 1 | sort | uniq > files
for file in $(cat files); do sed -i "s#LengthOrPercentage#LengthPercentage#g" $file; done

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

--HG--
extra : moz-landing-system : lando
2019-01-07 12:42:42 +00:00
Daniel Holbert
7258ebe69e Bug 1514309 part 2: Remove C++ serialization code for CSS {align,justify}-{content,items,self} properties. r=emilio
(Also remove stale decl for DoGetOverflowY, which cleanup_computed_getters.py
found for me.)

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

--HG--
extra : moz-landing-system : lando
2018-12-14 21:27:18 +00:00
Emilio Cobos Álvarez
4591031b65 Bug 1513012 - Move overflow to use cbindgen. r=heycam
It's one of the most annoying / hacky mako bits we have.

Differential Revision: https://phabricator.services.mozilla.com/D14084
2018-12-11 03:07:08 +01:00
Emilio Cobos Álvarez
0b0dd2d95f Bug 1512328 - Use cbindgen for a couple more CSS properties. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D13886
2018-12-07 15:06:07 -05:00
Emilio Cobos Álvarez
b54948124d Bug 1509717 - Use cbindgen for border-style and outline-style. r=heycam
I'm pretty sure the FIXME I left in the outline-style code is a bug,
but I want to clean this up further and I didn't want to fix it without adding
a test.

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

--HG--
extra : moz-landing-system : lando
2018-11-30 05:27:28 +00:00
Emilio Cobos Álvarez
0112d2ebe1 Bug 1507305 - Use Servo to serialize most of the already-exposed shorthands. r=heycam
Skip mask and text-decoration for now since there's a single test-case failing
for each that seem worth fixing in a different bug:

 * For mask, there's the case of setting mask: url(foo.svg#bar), which we test
   we serialize absolutely. But given we're uncomputing it we don't serialize
   the resolved URL. Chrome doesn't either so we could just change the test, but
   even if we decided to do it we probably should do it in a separate bug.

 * For text-decoration, we need to resolve the value, when it's an interpolation
   between currentcolor and other color. Right now that returns the empty string
   which is not great:

     https://searchfox.org/mozilla-central/rev/d850d799a0009f851b5535580e0a8b4bb2c591d7/servo/components/style/values/specified/color.rs#194

   So I need to come up with something. Probably we need to implement the "hard"
   version of the serialization code that doesn't reuse the animation machinery.

   Definitely a separate bug though.

While at it, also serialize all <position> longhands with Servo, so that I can
clean up the tests.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 04:10:08 +00:00
Emilio Cobos Álvarez
d16b7e3e9a Bug 1507127 - Also move page-break-inside outside of mako. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D11876

--HG--
extra : moz-landing-system : lando
2018-11-15 08:16:23 +00:00
Emilio Cobos Álvarez
7cefd0df6a Bug 1507127 - Move the page-break-{before,after} properties to not use mako. r=heycam
And respect the computed value of `left` / `right` / etc.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 08:15:13 +00:00
Cosmin Sabou
007b66c1f5 Merge mozilla-inbound to mozilla-central. a=merge 2018-11-13 06:23:01 +02:00
Boris Chiou
89eee2303f Bug 1505200 - Part 2: Serialize Rotate by servo. r=emilio
So we can drop a lot of code.

Depends on D11247

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

--HG--
extra : moz-landing-system : lando
2018-11-12 19:21:22 +00:00
Boris Chiou
a2c42ba3de Bug 1505156 - Percentage values of translate are serialized as percent for computed values. r=emilio
Basically, we rewrite the type of generics::transform::Translate and its
ToCss to match the spec. Besides, we always serialize Translate by servo,
so we could drop a lot of duplicated code.

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

--HG--
extra : moz-landing-system : lando
2018-11-08 22:41:00 +00:00
Emilio Cobos Álvarez
56f2b4fded Bug 1505786 - Implement overflow-wrap: anywhere. r=xidorn,jfkthame
Per https://github.com/w3c/csswg-drafts/issues/2682

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

--HG--
extra : moz-landing-system : lando
2018-11-08 22:39:34 +00:00
Boris Chiou
d781fa81ce Bug 1500107 - Fix the default behavior of scale:<number>{1}. r=birtles
The current spec says: "If only the X value is given, the Y value
defaults to the same value.", so we should update the behavior.

Besides, we also update the serialization, so we serialization both
specified and computed value by servo. We enable the preference
for all the css-transforms, so some of them are passed now.

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

--HG--
extra : moz-landing-system : lando
2018-11-06 23:44:24 +00:00
Cameron McCormack
27b950dadc Bug 1504034 - Part 2: Use Servo to serialize computed quotes values r=emilio
Depends on D10650

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

--HG--
extra : moz-landing-system : lando
2018-11-06 23:03:31 +00:00
Cameron McCormack
be0999a658 Bug 1501261 - Part 1: Use Servo to serialize border-image-repeat r=firefox-style-system-reviewers,emilio
With this change, all of Chrome, Edge, Firefox, and Safari serialize
border-image-repeat by omitting a repeated keyword, so we update a WPT
that was expecting duplicated keywords.

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

--HG--
extra : moz-landing-system : lando
2018-11-05 02:21:39 +00:00
Emilio Cobos Álvarez
33b3044c08 Bug 1492958 - Move user-select outside of mako. r=xidorn
This is the first step to unprefix user-select.

This has no behavior change, it's just a nicer way to do the same thing which
allows us to unship individual values more easily using parse(condition).

Differential Revision: https://phabricator.services.mozilla.com/D11580
2018-11-12 13:46:52 +01:00
Margareta Eliza Balazs
cccd9d1083 Backed out 5 changesets (bug 1492958) for bc failures in browser/base/content/test/static/browser_parsable_css.js CLOSED TREE
Backed out changeset d7c8793ee054 (bug 1492958)
Backed out changeset e59edfbbd327 (bug 1492958)
Backed out changeset 5e643bc2e17b (bug 1492958)
Backed out changeset 59cf251c1a59 (bug 1492958)
Backed out changeset edc955448df6 (bug 1492958)
2018-11-12 14:36:43 +02:00
Emilio Cobos Álvarez
47eb45a0b5 Bug 1492958 - Move user-select outside of mako. r=xidorn
This is the first step to unprefix user-select.

This has no behavior change, it's just a nicer way to do the same thing which
allows us to unship individual values more easily using parse(condition).

Differential Revision: https://phabricator.services.mozilla.com/D11580
2018-11-12 11:51:46 +01:00
Boris Chiou
91b20a5ee5 Bug 1501117 - Part 1: Serialize TimingFunction with servo. r=emilio
We could make sure we serialize TimingFunction for both computed
and specified values with servo (via CSSOM). However, Web animation
APIs could also serialize the timing function from a different code
path. We will fix it in the next patch.

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

--HG--
extra : moz-landing-system : lando
2018-11-01 21:32:55 +00:00
Boris Chiou
2b5db49d22 Bug 1501116 - Part 5: Use alias for StyleFillRule. r=emilio
This needs to update the "fill-rule" and "clip-rule" to use
predefined_type to avoid some compilation errors.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 10:57:48 +00:00
Emilio Cobos Álvarez
a21614c515 Bug 1500885 - Serialize text-align with Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D9372
2018-10-24 14:01:39 +02:00
Emilio Cobos Álvarez
e929975273 Bug 1496008 - Serialize a bunch of image properties with Servo. r=heycam
I had to fix the conversion for BackgroundSize too, hopefully we can
simplify all this using cbindgen in the future instead of CalcValue.

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

--HG--
extra : moz-landing-system : lando
2018-10-05 20:08:55 +00:00
Emilio Cobos Álvarez
45ef068d56 Bug 1494622 - Serialize -moz-image-region and clip with Servo. r=xidorn
This changes the serialization of -moz-image-region to be consistent with that
of clip(), but it's an internal property and the specified value is already
serialized by servo so I think it's the right thing to do.

There are also no internal callers of the getter.

Differential Revision: https://phabricator.services.mozilla.com/D7069
2018-09-27 16:11:43 +02:00
Emilio Cobos Álvarez
0cf34bf459 Bug 1484316: Serialize clip-path and shape-outside using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D3653
2018-08-22 11:20:41 +02:00
Boris Chiou
a8bd6dfc8a Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
* Parse SVG Path String into SVGPathData (in Rust).
* Use cbindgen to make sure the layout of PathCommand and StylePathCommand,
  and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
* Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part
  will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Differential Revision: https://phabricator.services.mozilla.com/D2963
2018-08-21 22:41:38 -07:00
Xidorn Quan
34de342864 Bug 1464786 - Implement flow-relative values for resize property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D2908

--HG--
extra : moz-landing-system : lando
2018-08-08 23:40:06 +00:00
Emilio Cobos Álvarez
dbf24cdab5 Bug 1478990: Make NonCustomPropertyId <-> nsCSSPropertyId conversions fast. r=xidorn
We have a different order in nsCSSPropertyId for no good reason. The only
invariant there is that longhands come before shorthands, and shorthands before
aliases.

Luckily that's also an invariant that NonCustomPropertyId has, so we can reuse
them.

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

MozReview-Commit-ID: 1hsQu6hmqiN
2018-07-30 12:51:19 +02:00
Emilio Cobos Álvarez
517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Emilio Cobos Álvarez
adf95c2d09 Bug 1476054: Fixes and cleanups for Servo PR #21156. r=me
Similar to the previous patch, logical clear doesn't appear in computed style
objects.

MozReview-Commit-ID: FbN0hiUGzYa
2018-07-17 10:23:26 +02:00
Emilio Cobos Álvarez
bbc6f5b7f2 Bug 1476054: Fixes and cleanups for Servo PR #21139. r=me
Logical floats don't appear in the computed style objects, so there's no need to
check for them.

MozReview-Commit-ID: 3ocJrRB3jeO
2018-07-17 10:15:46 +02:00
Gurzau Raul
c05f725b1e Backed out 6 changesets (bug 1476054) for failing on servo/ports/geckolib/glue.rs on a CLOSED TREE
Backed out changeset f4941fe345ad (bug 1476054)
Backed out changeset cc571c618e4c (bug 1476054)
Backed out changeset 0a712d7bcb66 (bug 1476054)
Backed out changeset 62293a989ed2 (bug 1476054)
Backed out changeset ef2a43e3fc6c (bug 1476054)
Backed out changeset a2bb0089cf1d (bug 1476054)
2018-07-16 23:56:23 +03:00
Emilio Cobos Álvarez
9325870208 Bug 1476054: Fixes and cleanups for Servo PR #21156. r=me
Similar to the previous patch, logical clear doesn't appear in computed style
objects.

MozReview-Commit-ID: FbN0hiUGzYa
2018-07-16 21:38:46 +02:00
Emilio Cobos Álvarez
cd116a52c4 Bug 1476054: Fixes and cleanups for Servo PR #21139. r=me
Logical floats don't appear in the computed style objects, so there's no need to
check for them.

MozReview-Commit-ID: 3ocJrRB3jeO
2018-07-16 21:38:44 +02:00
Emilio Cobos Álvarez
38ff952014 Bug 1473225 - Serialize a few more lengths with Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1934

--HG--
extra : moz-landing-system : lando
2018-07-04 06:42:38 +00:00
Emilio Cobos Álvarez
92952c788e Bug 1472551 - Serialize font properties using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1905

--HG--
extra : moz-landing-system : lando
2018-07-01 23:00:18 +00:00
Emilio Cobos Álvarez
ed2763bea8 Bug 1472497 - Serialize list-style-type / list-style-image using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1903

--HG--
extra : moz-landing-system : lando
2018-07-01 00:44:26 +00:00
Emilio Cobos Álvarez
f36a3eac08 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
97cf1e0c02 Bug 1116638: Expose logical props in computed style. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1862

--HG--
extra : moz-landing-system : lando
2018-06-30 13:45:43 +00:00
Xidorn Quan
dca9867a8f Bug 1471114 part 2 - Generate ComputedStyleMap entry list from property data. r=emilio
This changes the order of properties returned from gCS. The old order
doesn't make much sense, and other browsers don't agree on an identical
order either, so it should be trivial to change it. Also the spec isn't
super clear / useful in this case.

Several -moz-prefixed properties are excluded from the list due to their
being internal. I suspect they are never accessible anyway, so probably
nothing gets changed by this.

MozReview-Commit-ID: 9LfangjpJ3P

--HG--
extra : source : 879a7265c35f51c5954d8a44ccd374a606ecba0e
2018-06-27 15:34:29 +10:00
Xidorn Quan
d1caa962ed Bug 1471114 part 1 - Move CSSPropFlags prefix generation into GenerateServoCSSPropList.py. r=emilio
MozReview-Commit-ID: E5dl9V2B2dq

--HG--
extra : source : 6e2448ce3f4d9965749298a575795dfab926b9cb
2018-06-27 15:34:29 +10:00
Emilio Cobos Álvarez
3cf45a2889 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
74ffb16a12 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
a9104d20df 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
7e9ae6f96f Bug 1419695: Hide multiple -moz-window-* properties from content. r=xidorn
MozReview-Commit-ID: Jsqt3kqjPiq
2018-06-04 15:55:52 +02:00
Xidorn Quan
48dc9dc70a Bug 1454591 part 5 - Generate subproperty lists from Servo data. r=heycam
I manually diffed the generated lists and the original ones from in
nsCSSProps.cpp. All generated lists seem to contain the same set of
subproperties as their old correspondents.

There are still some differences:

Order of subproperties of many shorthands is changed. There are many
comments in the old lists stating that the order is important, but they
are mostly for serialization. I auditted all users of the subproperty
lists, and it doesn't seem to me any of them relies on the order.

gOutlineRadiusSubpropTable is renamed to gMozOutlineRadiusSubpropTable
which I don't think is a problem at all, but maybe worth mentioning.

MozReview-Commit-ID: 190SBZfxVOW

--HG--
extra : rebase_source : cd5e8b1667a4550542c361d31361e45456c6b6a3
2018-05-04 15:17:05 +10:00
Xidorn Quan
7db648bdec Bug 1454591 part 1 - Generate more structured data in ServoCSSPropList.py. r=heycam
This patch changes ServoCSSPropList.py to use classes for properties.
This allows extending the data in the file without needing to update all
users of this file.

Sorting in GenerateCSSPropsGenerated.py is removed because the data file
has the right order already.

MozReview-Commit-ID: D74bItCfpPH

--HG--
extra : rebase_source : e0138c255f77515f491496fcb8680686362f4e9e
2018-05-04 13:44:51 +10:00