Commit Graph

245 Commits

Author SHA1 Message Date
Ting-Yu Lin
d35b7d33db Bug 1404243 Part 3 - Remove refcount for StyleBasicShape, and use UniquePtr to hold it. r=heycam
After StyleBasicShape is set to StyleShapeSource, it's life cycle never go
beyond StyleShapeSource, so I make StyleBasicShape hold by a UniquePtr in
StyleShapeSource.

Also, replace all raw pointers to StyleBasicShape by UniquePtr in all APIs.

MozReview-Commit-ID: 1MfIFjP8TsQ
2017-09-25 18:50:24 +08:00
Ting-Yu Lin
a78b44acbc Bug 1281101 Part 1 - Remove MOZ_ENABLE_MASK_AS_SHORTHAND from layout code. r=cjku
MozReview-Commit-ID: HWq2IOLsflD
2017-09-21 17:36:57 +08:00
Ting-Yu Lin
781487df22 Bug 1289049 Part 4 - Make <basic-shape> animatable for shape-outside for gecko style system. r=boris
MozReview-Commit-ID: 7x0jdqWqkpL
2017-09-19 17:21:21 +08:00
Ting-Yu Lin
54892d3052 Bug 1289049 Part 2 - Extract a helper function ExtractComputedValueFromShapeSource(). r=boris
MozReview-Commit-ID: IhHaKhQTWbo
2017-09-19 17:20:14 +08:00
Ting-Yu Lin
60600a94aa Bug 1289049 Part 1 - Use shape source instead of clip path in naming. r=boris
This function can be used to implement animation for <basic-shape> for
shape-outside, so I remove the clip path in naming to make it more general.

MozReview-Commit-ID: LwVe0Dk5Web
2017-09-19 16:59:38 +08:00
Mantaroh Yoshinaga
cb31532853 Bug 1390352 - Make Servo_AnimationValues_ComputeDistance return negative value instead of 0.0 when the function fails to distinguish its failure. r=hiro
We need to check whether the function fails or not in order to check whether
we support the specified paced animation values.

Current servo returns 0.0 when failed computing distance, so servo doesn't
distinguish its failure. This patch makes Servo_AnimationValue_ComputeDistance
return a negative value when the function fails.

MozReview-Commit-ID: 43Q4gu4xwHc
2017-08-24 10:21:14 +09:00
Boris Chiou
48691f02cd Bug 1362896 - Part 1: Fix the computation of distance for non-normalizable direction vector of rotate3d. r=birtles
MozReview-Commit-ID: GuT9vocccuN
2017-08-18 22:17:41 +08:00
Brad Werth
52b929d34a Bug 1383296 Part 1: Remove all uses of the nsCSSValue::Serialization enum, now that it no longer has multiple values. r=heycam
MozReview-Commit-ID: n6px5hNHtB
2017-07-21 17:26:35 -07:00
Hiroyuki Ikezoe
9397583162 Bug 1383493 - Make AddDifferentTransformLists() add |aCoeff1| instead of just adding 1 to |aCoeff2| for the same list case. r=birtles
Also if |aCoeff1| is zero, we can just ignore the first list altogether.

MozReview-Commit-ID: LVZmAx0K574
2017-07-27 06:46:33 +09:00
Emilio Cobos Álvarez
4b6d7fc287 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00
Emilio Cobos Álvarez
7eedeefd83 Bug 1381764: Cleanup the Gecko bits. r=manishearth
MozReview-Commit-ID: dbVDy1u4vp
2017-07-18 16:22:00 -07:00
Mantaroh Yoshinaga
11963cdb11 Bug 1374564 - Skip serialize shadow's fourth value when property is text-shadow or drop-shadow of filter. r=hiro
MozReview-Commit-ID: CoZj0WPCL8w
2017-06-30 15:11:33 -07:00
Markus Stange
539f07616a Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 01:44:22 -04:00
Cameron McCormack
95368ca21c Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
ec6ecdb465 Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 00:21:16 -04:00
Manish Goregaokar
533734efc7 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA
2017-06-10 22:27:45 -07:00
Manish Goregaokar
e8a3c268a8 Bug 1373018 - Part 8: stylo: Move nsStyleContext::SetStyle to GeckoStyleContext; r=bholley
MozReview-Commit-ID: ycXu95whnG
2017-06-10 22:27:45 -07:00
Manish Goregaokar
d6c7e909d2 Bug 1373018 - Part 7: stylo: Move nsStyleContext::mSource into subclasses; r=bholley
MozReview-Commit-ID: AspYUJ7lGqD
2017-06-10 22:27:45 -07:00
Brian Birtles
e235b8c171 Bug 1371196 - Round font-weight when interpolating, don't floor; r=hiro
The spec says,

 font weight: interpolated via discrete steps (multiples of 100). The
 interpolation happens in real number space and is converted to an integer by
 rounding to the nearest multiple of 100, with values halfway between
 multiples of 100 rounded towards positive infinity.[1]

However, our implementation pre-dates this spec text (bug 528234 landed Nov 2009
whereas the spec was updated in Mar 2012[2]).

This patch rounds the result by simply adding 50 to the result before we floor
it (which is good enough in this case because we don't need to worry about
negative values).

It also slightly simplifies the logic by re-using Clamp from MathAlgorithms.h.

[1] https://drafts.csswg.org/css-transitions/#animtype-font-weight
[2] 00c6286109

MozReview-Commit-ID: BjCg7MG70hW
2017-06-09 12:19:47 +09:00
Hiroyuki Ikezoe
4c498515cd Bug 1367293 - Don't get parent style for ComputeAnimationValue. r=birtles
MozReview-Commit-ID: 4TskjmoKchD
2017-06-02 09:38:46 +09:00
Hiroyuki Ikezoe
1eced9b23b Bug 1367293 - Get parent style from the target element. r=birtles
We can get the parent style from element tree in servo side.
The parent style has been already restyled.
E.g.;
 When we get target element style with nsComputedDOMStyle::GetStyleContext,
 the function flushes styles so that the parent style has also
 restyled.

 When we call Servo_GetComputedKeyframeValues, it's called from a
 SequentialTask, that means all elements have been already restyled.

Unfortunately we can't assert that the parent style is not stale
to check the parent element has no dirty descendant bit since
Servo_GetComputedKeyframeValues is called in a SequantialTask
that is processed before post traversal, that means elements
still have the dirty bit to update nsStyleContext in the
post traversal.

MozReview-Commit-ID: AC2ZRyzk3eu
2017-06-02 09:38:22 +09:00
Brian Birtles
6427f8ea19 Bug 1366627 - Make accumulation of transform lists with 'none' behave in the same way as interpolation; r=hiro
MozReview-Commit-ID: LITXkeYN1VR
2017-05-22 09:35:10 +09:00
Boris Chiou
f3f76c3cc6 Bug 1346052 - Part 3: Implement AnimationValue::FromString. r=birtles
AnimationValue::FromString compute the AnimationValue from a string.

MozReview-Commit-ID: CX8wairpnfN
2017-05-03 11:15:27 +08:00
Boris Chiou
2c6dd6413e Bug 1346052 - Part 2: Implement AnimationValue::ComputeDistance. r=birtles
We will use this API to compute the distance between two AnimationValues
in the patch series.

MozReview-Commit-ID: 2Tw9xumuz45
2017-04-26 20:05:04 +08:00
Robert Longson
fe779567bf Bug 1347409 part 2 - serialise fill and stroke fallback properly r=cam 2017-05-02 22:12:59 +01:00
Mantaroh Yoshinaga
ebbf5c8c7b Bug 1359281 - Use rounded interpolation value when interpolating the Integer type and Font strech type based on spec. r=birtles
MozReview-Commit-ID: L4aP8MqYpna
2017-05-01 11:07:50 +09:00
Boris Chiou
53644c1a40 Bug 1343753 - Part 4: Introduce AnimationValue::IsInterpolableWith. r=birtles,manishearth
We have different interpolation implementations on Gecko and Servo, so
wrap the "Can be Interpolated" in AnimationValue. This patch also introduces
the FFI, Servo_Animationvalues_IsInterpolable.

MozReview-Commit-ID: 92Yf1u84A3c
2017-04-12 16:26:59 +08:00
Boris Chiou
e62a6d13a7 Bug 1343753 - Part 3: Use AnimationValue in ElementPropertyTransition and CSSTransition. r=birtles
We also need to update the interpolation code based on ServoAnimationValue in
ElementPropertyTransition::UpdateStartValueFromReplacedTransition().
Therefore, ElementPropertyTransition can be used by both Gecko and Servo.

MozReview-Commit-ID: BrIpvRR3te8
2017-03-09 12:33:15 +08:00
Boris Chiou
5313bd87f1 Bug 1352067 - Part 2: Avoid passing any nullptr into Servo_AnimationValue_DeepEqual. r=hiro
The FFI type conversion in AnimationValue::as_arc will check if the
parameter is nullptr or not. If it is, we will get a debug assertion, so
we shouldn't pass a nullptr into it.

MozReview-Commit-ID: KWko2ipJwbo
2017-03-31 11:04:08 +08:00
Boris Chiou
781bb4be38 Bug 1352067 - Part 1: Make sure AnimationValue::{mGecko|mServo} are mutually exclusive. r=birtles,emilio
We will obsolete StyleAnimationValue in the future, and can treat
AnimationValue as a wrapper of RawServoAnimationValue to hide the FFIs
at that moment. For now, we still need both types, so it's better to make sure
they are mutually exclusive in AnimationValue. Therefore, let's add some
assertions.

Besides, I think those FFIs might do many things and it seems those methods
are not critical, so let's move them into the cpp file, so we can remove
some dependencies to avoid re-compiling so many files if someone needs
revise ServoBindings.h.

MozReview-Commit-ID: FJ1uTvEQ7NT
2017-03-31 17:46:37 +08:00
cku
1819876e04 Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce
2017-02-21 23:26:17 +08:00
Boris Chiou
d50c720532 Bug 1338087 - Part 2: Drop the computation of StyleAnimationValue on stylo. r=hiro
MozReview-Commit-ID: 4oAzC6m2vie
2017-02-10 15:51:00 +08:00
Daniel Holbert
d74b889d67 Bug 1339546 part 2: Make layout/style/*.cpp include corresponding .h file as the first header. r=xidorn
MozReview-Commit-ID: 2rZ9z0BgRvN
2017-02-14 11:23:11 -08:00
Carsten "Tomcat" Book
1bff0b1adf Backed out changeset fb3c04effbd1 (bug 1336905) for bustage in stylo builds 2017-02-14 11:07:17 +01:00
cku
b2b713cfd2 Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce
2017-02-06 15:50:22 +08:00
Boris Chiou
2c2e0bce5b Bug 1335942 - Part 6: Implement GetScaleValue for RawServoAnimationValue. r=hiro,manishearth
MozReview-Commit-ID: GnaS44gWmm2
2017-02-06 17:54:49 +08:00
Boris Chiou
d1fd8dc56d Bug 1335942 - Part 5: Add AnimationValue::GetScaleValue(). r=hiro
Move the common part of GetScaleValue into nsStyleTransformMatrix, and add a
new method, GetScaleValue, on AnimationValue, which can get the scale value from
StyleAnimationValue or RawServoAnimationValue.

MozReview-Commit-ID: 4spi1LkZrWP
2017-02-06 16:32:21 +08:00
Boris Chiou
f4d287d335 Bug 1335942 - Part 1: Introduce mozilla::AnimationValue. r=hiro,manishearth
Currently, we have StyleAnimationValue for Gecko and
RawServoAnimationValue for Servo, and use this struct to wrap them to
avoid the duplicated code.

MozReview-Commit-ID: ATDBSCOX2C5
2017-02-08 11:00:36 +08:00
Xidorn Quan
310f168604 Bug 1316236 - Treat perspective(0) as perspective(infinity). r=dholbert
MozReview-Commit-ID: H9xlpjxrzht
2017-01-20 12:45:33 +11:00
Hiroyuki Ikezoe
fb207a990a Bug 1330513- Check that mCSSValueList is null in case of filter and shadow in StyleAnimationValue::Add(). r=boris
The StyleAnimationValue for filter and shadow has no mCSSValueList in case of
initial style.

MozReview-Commit-ID: JigQQBbx77x
2017-01-12 19:42:14 +09:00
Ting-Yu Lin
9eb2a46c79 Bug 1320014 Part 11 - Convert NS_FULL_TO_HALF_CORNER to a constexpr function. r=mats
Because the new function checks types, we need to change the fullCorner type
in nsComputedDOMStyle::GetEllipseRadii() and
StyleAnimationValue::ExtractComputedValue() from uint8_t to |Corner| to fix
build error.

MozReview-Commit-ID: 5NuFE3yA2QD
2017-01-05 14:59:17 +08:00
Ting-Yu Lin
9feaa919bb Bug 1320014 Part 6 - Remove #define NS_CORNER_[TOP_LEFT/TOP_RIGHT/BOTTOM_RIGHT/BOTTOM_LEFT] r=mats
MozReview-Commit-ID: ERAwdxKZPf7
2017-01-04 18:15:30 +08:00
Wes Kocher
725e635b68 Merge inbound to central, a=merge
MozReview-Commit-ID: 1ij6nLf8f8s
2017-01-05 17:30:35 -08:00
Hiroyuki Ikezoe
dab6e73b6c Bug 1328535 - Remove range-checking assertion for aDilutionRatio, in color animation code. r=dholbert
Some cubic-bezier functions, e.g. cubic-bezier(0,-0.5,0,0), produce values out
of range of [0, 1].

MozReview-Commit-ID: 9ZTsTRTcUaI
2017-01-05 09:05:57 +09:00
Boris Zbarsky
db8c7b6474 Bug 1298588 part 10, gecko piece. Pass through useful default styles to apply_declarations(). r=bholley 2017-01-04 14:52:27 -05:00
Xidorn Quan
1f17806a81 Bug 1326125 - Rename enum version of SetIntValue to SetEnumValue. r=heycam
MozReview-Commit-ID: EbXK827IRFP
2016-12-29 10:22:49 +11:00
Xidorn Quan
1743a93199 Bug 1063162 part 1 - Add auto value support to StyleComplexColor. r=birtles
MozReview-Commit-ID: E6EFICyY3dh
2016-12-22 11:03:37 +11:00
Hiroyuki Ikezoe
dec485f2b1 Bug 1311620 - Part 11: Implement shadow list addition. r=boris
MozReview-Commit-ID: DRShA4qUS8Q
2016-12-24 20:05:34 +09:00
Hiroyuki Ikezoe
903a60b23a Bug 1311620 - Part 10: Implement filter list addition. r=boris
MozReview-Commit-ID: 8bQWBVveP9L
2016-12-24 20:04:56 +09:00
Hiroyuki Ikezoe
99c214dda1 Bug 1311620 - Part 9: Implement transform list addtion. r=boris.
MozReview-Commit-ID: 76b5eJ9FtWo
2016-12-24 20:04:52 +09:00