Boris Chiou
313f7d86db
Define ComputedOperation::AccmulateMatrix.
...
If we set the composite operation to accumulate, we may need to accumulate two
mismatched transform lists, and then to interpolate them. In order to
accumulate two mismatched transform lists, we also need the reference
box information, so use the same idea as that for interpolation. i.e.
use AccmulateMatrix to store it temporarily, and convert it into matrix
later.
2017-06-07 11:31:01 +08:00
Boris Chiou
a6099d0fc0
Define ComputedOperation::InterpolateMatrix.
...
We use this arm to store the interpolated result of two mismatched
transform lists, and we resolve it until we know the reference box size
(on Gecko side). The conversion from ComputedOperation::InterpolateMatrix
to eCSSKeyword_interpolatematrix will be implemented later in this patch series.
2017-06-07 11:30:39 +08:00
Bobby Holley
586a21e1dd
Make a bunch of types 'static.
...
The reasoning for this is explained in a comment in the next patch.
MozReview-Commit-ID: FQgDY77mg3B
2017-06-06 19:09:16 -07:00
Anthony Ramine
7d09ce0495
Use generics for initial-letter
...
The former version used ComputedValueAsSpecified, which means we were storing
specified numbers and integers in the computed value.
2017-06-07 01:31:02 +02:00
Anthony Ramine
195e98e745
Use generics for scroll-snap-points-*
2017-06-06 19:27:43 +02:00
Anthony Ramine
bc1eef8f5e
Use predefined_type for transition-delay
2017-06-06 14:36:00 +02:00
Anthony Ramine
8912a594c7
Use predefined_type for animation-timing-function
2017-06-06 14:35:59 +02:00
Anthony Ramine
65356b13f8
Use predefined_type for transition-property
2017-06-06 14:35:58 +02:00
Manish Goregaokar
3cd48d5b1a
stylo: Animate fill and stroke
2017-06-05 23:26:33 -07:00
Manish Goregaokar
9aad71d74f
stylo: Make SVGPaint and SVGPaintKind animatable
2017-06-05 23:25:55 -07:00
Manish Goregaokar
74f3284c69
Make SVGPaint generic
2017-06-05 17:05:59 -07:00
Anthony Ramine
874885e235
Use generics for transition-timing-function 📈
2017-06-05 16:49:55 +02:00
Brian Birtles
e48f94cbda
Don't introduce calc() when interpolating between length and percentages if either side is zero
...
Without this patch anim-css-strokewidth-1-by-pct-pct.svg (and possibly
others) fails because we calculate the result as 'calc(0px + 10%)' and
we don't support calc on stroke-width (yet) so the rendered result is
incorrect.
As a more thorough fix, we should make the zero-value for
LengthOrPercentageOrNumber a zero *number* (instead of a zero length)
but that won't work yet since we don't support animating between
stroke-widths with units and those that don't (see
https://bugzilla.mozilla.org/show_bug.cgi?id=1369614 ). Regardless of
that, we still shouldn't introduce calc in order to add a zero value
using the LengthOrPercentage type, so this change is still needed.
2017-06-05 12:49:32 +09:00
Brian Birtles
00cdced2ca
Add get_zero_value to Animatable trait
2017-06-05 12:49:31 +09:00
Xidorn Quan
61eb7e055f
Use animation_value_type in AnimatedProperty.
...
So that we can remove redundant interpolation code for corresponding
computed types.
2017-06-05 11:23:18 +10:00
Xidorn Quan
0ef3a23313
Use move for conversion between animatable value and computed types.
2017-06-05 10:33:50 +10:00
Anthony Ramine
c4f1d647a0
Derive the most trivial ToCss implementations 🌋
...
For now, all variants get serialised as the space-separated serialisations
of their fields. Unit variants are not supported.
2017-06-04 16:17:56 +02:00
bors-servo
fab1a6354f
Auto merge of #17138 - emilio:parsing-decl-block, r=heycam
...
Bug 1369198: Ensure pushing a declaration to a declaration block for parsing always inserts it at the last position.
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17138 )
<!-- Reviewable:end -->
2017-06-02 03:04:26 -07:00
Emilio Cobos Álvarez
acdd8aa99a
style: Insert declarations last while parsing.
...
The CSSOM spec forces us to reuse the slot, so we need to conditionally keep the
previous behavior.
This fixes bug 1369198.
MozReview-Commit-ID: LM9mK6ngZ4e
2017-06-02 11:21:02 +02:00
Anthony Ramine
e58f541951
Rename BorderImageWidthSide to BorderImageSideWidth
2017-06-02 10:53:28 +02:00
Anthony Ramine
7da94d0880
Use BorderSideWidth for outline-width
2017-06-02 10:53:27 +02:00
Anthony Ramine
2c7fbb4b4c
Use generics for text spacing properties
2017-06-02 10:21:22 +02:00
Anthony Ramine
5c6987a50d
Use generics for the line-height property
2017-06-02 10:21:21 +02:00
bors-servo
373d3b91dd
Auto merge of #17130 - Manishearth:stylo-attr, r=heycam,emilio
...
stylo: Handle attr() in `content`
r=heycam https://bugzilla.mozilla.org/show_bug.cgi?id=1346693
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17130 )
<!-- Reviewable:end -->
2017-06-01 15:34:55 -07:00
Manish Goregaokar
5de2f29080
stylo: Create separate Attr type
2017-06-01 14:20:56 -07:00
Manish Goregaokar
25d193ba34
stylo: Use namespace ids for content: attr(..)
...
MozReview-Commit-ID: FZ9YEpHQCBh
2017-06-01 14:11:31 -07:00
Jeff Hajewski
878b9a4db3
Use enum class for white-space
2017-06-01 13:55:54 -07:00
Manish Goregaokar
7123e5333f
stylo: Fix serialization of system fonts
2017-06-01 13:55:52 -07:00
Anthony Ramine
5d70580813
Make use of generics for transform-origin
...
This allows us to preserve keywords during serialisation.
2017-05-31 09:58:07 +02:00
Anthony Ramine
b42aaf28df
Clean up some <time> properties
2017-05-30 16:04:24 +02:00
bors-servo
43862ba045
Auto merge of #17092 - heycam:document-colors, r=xidorn
...
style: Add support for disabled document colors.
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1355716 .
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17092 )
<!-- Reviewable:end -->
2017-05-30 06:10:42 -05:00
bors-servo
433d68955b
Auto merge of #17071 - servo:derive-all-the-things, r=emilio
...
Reuse Rect<T> some more
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17071 )
<!-- Reviewable:end -->
2017-05-30 05:11:28 -05:00
Cameron McCormack
c768169149
style: Add support for disabled document colors.
2017-05-30 16:25:08 +08:00
bors-servo
76daf46295
Auto merge of #17073 - upsuper:flex-basis-zero, r=emilio
...
Set flex-basis to 0% when omitted in flex shorthand.
This should fix [bug 1331530](https://bugzilla.mozilla.org/show_bug.cgi?id=1331530 ).
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17073 )
<!-- Reviewable:end -->
2017-05-29 17:58:44 -05:00
Xidorn Quan
acb7242304
Set flex-basis to 0% when omitted in flex shorthand.
2017-05-30 08:58:11 +10:00
daisuke
8a5c7a50d1
Implements box related discrete animatable properties
2017-05-29 23:10:04 +09:00
daisuke
f46678cea8
Implements position related discrete animatable properties
2017-05-29 23:10:02 +09:00
daisuke
545a7420c8
Implements xul related discrete animatable properties
2017-05-29 23:10:00 +09:00
daisuke
1a915fa07c
Implements svg related discrete animatable properties
2017-05-29 23:09:58 +09:00
daisuke
23e673f2a2
Implements ui related discrete animatable properties
2017-05-29 23:09:30 +09:00
daisuke
3e37278d9e
Implements pointing related discrete animatable properties
2017-05-29 16:09:57 +09:00
daisuke
d0cf7d65f0
Implements background related discrete animatable properties
2017-05-29 16:09:20 +09:00
daisuke
917dbdfdbd
Implements simple discrete animatable properties
2017-05-29 16:08:09 +09:00
Nicholas Nethercote
6d5b1242db
Introduce and start using the MallocSizeOf trait.
...
MallocSizeOf is similar to the existing HeapSizeOf trait from the
heapsize crate. The only difference is that MallocSizeOf's
malloc_size_of_children() function takes an additional MallocSizeOfFn
argument, which is used to measure heap blocks. This extra argument
makes MallocSizeOf match how Gecko's memory measurements work, and is
required for Stylo to integrate with DMD.
The patch also introduces a second trait, MallocSizeOfWithGuard, which
is much the same as MallocSizeOf, but with a |guard| argument for the
global style lock.
Finally, the patch uses the new traits to measure a small amount of
Stylo's memory usage.
2017-05-29 10:16:55 +10:00
Anthony Ramine
862fc4f88d
Rename BorderRadiusSize to BorderCornerSize
2017-05-29 00:58:53 +02:00
Anthony Ramine
af3ede418b
Refactor BorderRadius and move it to the border modules
...
BorderRadius now parses itself reusing Rect<T>.
2017-05-28 14:36:37 +02:00
Anthony Ramine
4144dc74db
Make Rect<T> a struct tuple
...
It makes no sense to have named fields in some cases, notably to reuse
Rect<T> in BorderRadius<T>.
2017-05-28 14:36:36 +02:00
bors-servo
369d5cf124
Auto merge of #17058 - Manishearth:stylo-randomprops, r=emilio
...
stylo: Support remaning longhands
r=xidorn https://bugzilla.mozilla.org/show_bug.cgi?id=1367275
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17058 )
<!-- Reviewable:end -->
2017-05-27 13:37:59 -05:00
Manish Goregaokar
ccccfb988a
stylo: Support -moz-min-font-size-ratio
2017-05-27 11:37:36 -07:00
Manish Goregaokar
de269b6b36
stylo: Support -moz-context-properties
2017-05-27 10:47:44 -07:00