Commit Graph

127 Commits

Author SHA1 Message Date
Boris Chiou
4590ec42d7 Bug 1332633 - Add Servo_AnimationValues_ComputeDistance. r=emilio
This FFI will be used by nsDOMWindowUtils::ComputeAnimationDistance,
which will be implemented in another bug.

MozReview-Commit-ID: G3aYICDnCLA
2017-04-21 11:31:41 +08:00
Hiroyuki Ikezoe
b0b912ac2c Bug 1324700 - Add an FFI which returns computed values for a given declaration block with/without parent_style. r=heycam
The function uses document's default computed values if the parent style
is not specified.

MozReview-Commit-ID: ICd3phAi0C6
2017-04-15 07:37:35 +09:00
Hiroyuki Ikezoe
510fe38b22 Bug 1324700 - Add a function that checks PropertyDeclarationBlock has a CSSWideKeyword for a given property. r=heycam
It will be used to check whether the PropertyDeclarationBlock has 'inherit',
'initial' or 'unset'.


MozReview-Commit-ID: JxlxAJJSNJI
2017-04-15 07:37:34 +09:00
Hiroyuki Ikezoe
b7fff60237 Bug 1324700 - Servo_ParseProperty() takes nsCSSPropertyID instead of nsACString. r=heycam
MozReview-Commit-ID: Gn90DBlJSS9
2017-04-15 07:37:34 +09:00
J. Ryan Stinnett
7a0935b7e4 Bug 1329088 - Pass SVG length mode to Stylo. r=emilio
In the SVG element case, tell Stylo to use the SVG length mode.

MozReview-Commit-ID: 9UR1AYRh4RE
2017-04-14 18:27:49 +08:00
Brad Werth
3502e99f42 Bug 1341721 Part 2a: Add a bool argument to Servo_StyleSet_NoteStyleSheetsChanged. r=heycam
MozReview-Commit-ID: 1CLnJ87fPF1
2017-04-11 15:59:44 +08:00
Emilio Cobos Álvarez
3ac9510c9e Bug 1325878: Pass the MediaList down to Servo, making <style media> work. r=xidorn
MozReview-Commit-ID: BUCSQJs2CNI
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-13 00:30:10 +08:00
Emilio Cobos Álvarez
a97a6287e4 Bug 1325878: Support deep-cloning of ServoMediaLists. r=xidorn
MozReview-Commit-ID: K7NFe1tKrAZ
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-13 00:30:07 +08:00
Emilio Cobos Álvarez
186d6d903f Bug 1325878: Create less hardcoded nsMediaList instances. r=xidorn
MozReview-Commit-ID: K6T3MM1ZrFb
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-13 00:30:03 +08:00
Emilio Cobos Álvarez
d8e8f67d49 Bug 1325878: Allow creating empty Servo MediaList. r=xidorn
MozReview-Commit-ID: H7owjPB8dRi
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-13 00:30:01 +08:00
Manish Goregaokar
befaf0791c Bug 1339711 - Part 5: stylo: Support background presentation attribute; r=emilio
MozReview-Commit-ID: LU6ETeH8lxn
2017-04-12 23:05:57 +08:00
Manish Goregaokar
7a17e15d0a Bug 1339711 - Part 3: stylo: Support mathsize, width, and scriptminsize presentation attributes in MathML; r=emilio
MozReview-Commit-ID: GvHslYdBfXU
2017-04-12 23:05:44 +08:00
Manish Goregaokar
abe9561533 Bug 1339711 - Part 1: stylo: Support -moz-script-size-multiplier, -moz-script-level, -moz-math-display; r=emilio
MozReview-Commit-ID: KzBDsmZK5w0
2017-04-12 23:05:29 +08:00
Boris Chiou
40da2266c0 Bug 1343753 - Part 9: Early return for non-animatable properties for transitions. r=hiro,manishearth
MozReview-Commit-ID: HtNavkzyHvt
2017-04-12 16:37:09 +08:00
Boris Chiou
21b271db03 Bug 1343753 - Part 5: Support ServoComputedValues in ExtractNonDiscreteComputedValue. r=birtles,hiro,manishearth
We use ServoComputedStyleValues as the argument here, instead of
ServoComputedValues, because I will use template for nsStyleContext and
ServoComputedValuesWithParent in UpdateTransitions() and
ConsiderInitiatingTransition(). Besides, add an FFI to check if a
proeprty is discrete animation type.

MozReview-Commit-ID: 7VtcMDtgl55
2017-04-12 16:31:12 +08: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
a237df76a8 Bug 1343753 - Part 2: Update GetTransitionKeyframes for stylo. r=birtles,manishearth
Use AnimationValue as arguments, and add one FFI to uncompute the
value. Therefore, we can use GetTransitionKeyframes for both Gecko and
Servo backends. However, there are many "mGecko"s, which will be removed
later.

MozReview-Commit-ID: Dg5hrDdlIWb
2017-04-12 15:51:55 +08:00
Brad Werth
8e74e6ca60 Bug 1346256 Part 1b: (Gecko) Add FFI interfaces for exposing style sources. r=heycam
MozReview-Commit-ID: FOQCgXD68E9
2017-04-06 10:19:00 -07:00
J. Ryan Stinnett
2f336ddffd Bug 1345206 - Wire up bindings for @page rule. r=xidorn
Connect the Servo types and functions for working with @page rules to Gecko.

This also adjusts the Stylo test expectations to match the current state with
@page support.

MozReview-Commit-ID: 513d05m51wK
2017-03-30 21:25:22 -05:00
Cameron McCormack
eacc6e8099 Bug 1351535 - Part 4: Add a TraversalRestyleBehavior argument to traversal functions. r=bholley
This argument will be used to control whether we are restyling in preparation
for reframing a subtree, which can avoid generating any change hints, as we
aren't preserving the frames that they would otherwise apply to.

MozReview-Commit-ID: DkLVCUnNGt
2017-04-08 22:57:08 +08:00
Xidorn Quan
ab60606883 Bug 1343964 part 2 - Move dummy url data to be a static member of URLExtraData. r=heycam
MozReview-Commit-ID: I6pc9WmrLW0
2017-04-04 13:21:16 +10:00
Hiroyuki Ikezoe
cb037927ba Bug 1311257 - Use underlying value for missing keyframes. r=birtles,heycam
mBaseStyleValuesForServo is a nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>
In this patch, we use void* instead of exposing nsRefPtrHashtable in FFI
because we just use the hash table as an argument of a C++ function, it means
we don't touch the hash table in Rust at all.

MozReview-Commit-ID: 1wM6NeF2S0t
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe
9cb17f4f43 Bug 1311257 - Move stuff of KeyframeEffectReadOnly::ComposeStyleRule in Rust. r=heycam
After this, we will implement additive or accumulative calculation
in this Rust function.

MozReview-Commit-ID: 4xAvLz1oTIZ
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe
db5651c21f Bug 1311257 - Add an FFI function that returns an AnimationValue for a given nsCSSPropertyID from computed values. r=heycam
When we compose style for a given nsCSSPropertyID in the case where
we have no specified values in target keyframe, we use this AnimationValue
for composition as if it's specified.

MozReview-Commit-ID: 2CTLIGgeLIO
2017-04-06 10:34:50 +09:00
Hiroyuki Ikezoe
79fd16dee6 Bug 1311257 - Add a function that returns a base computed values (i.e. computed values without any animations rules). r=heycam
This base value will be used for additive, accumulative animations
and also SMIL.

MozReview-Commit-ID: LHV8ZnxSzjb
2017-04-06 10:34:50 +09:00
Xidorn Quan
d119ed8817 Bug 1352025 part 2 - Stop passing in url as string for parsing. r=manishearth
MozReview-Commit-ID: CRgOO7NyYd9
2017-04-01 16:17:55 +11:00
Xidorn Quan
bc7331dfe8 Bug 1352763 part 4 - Pass CSS loader to Servo for insertRule. r=emilio
MozReview-Commit-ID: 6yalz8D8BWc
2017-04-03 20:04:32 +10:00
Xidorn Quan
95cf226194 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh
2017-03-30 18:54:48 +11:00
Xidorn Quan
53ee36eabe Bug 1345696 part 7 - Provide @font-face rules for stylo backend. r=heycam
MozReview-Commit-ID: CHPxz7iOLg6
2017-03-27 17:53:27 +11:00
Xidorn Quan
1fafb4f93f Bug 1345696 part 5 - Support CSSOM access to @font-face rules. r=manishearth
MozReview-Commit-ID: Gm4Bm0zgsh3
2017-03-27 14:49:26 +11:00
Cameron McCormack
480359bef9 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: 7w9pehHNXQ
2017-03-28 15:31:41 +08:00
Iris Hsiao
c919df1249 Backed out changeset 6e4ccddb5c4b (bug 1350671) for build bustage 2017-03-28 15:23:59 +08:00
Cameron McCormack
943b935a6e Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: A7ssy7ygWLh
2017-03-28 13:46:59 +08:00
Boris Chiou
9957c729ff Bug 1343153 - Part 3: Replace pointer to const with immutable reference for nsTimingFunction. r=emilio,hiro
MozReview-Commit-ID: BcY4mTtCtjn
2017-03-21 14:29:43 +08:00
Boris Chiou
5eda43e0c8 Bug 1343153 - Part 2: Use Servo css-parser for ParseEasing. r=birtles,emilio
We use Servo css-parser to parse keyframe property-value pairs, so we
should also use it to parse easing for Web Animations.

MozReview-Commit-ID: FsfHQaNT2xO
2017-03-21 14:27:46 +08:00
Sebastian Hengst
67085e12da Backed out changeset 9de875f31238 (bug 1343153) 2017-03-21 11:03:19 +01:00
Sebastian Hengst
cad91dce5e Backed out changeset b2c7ea6392fc (bug 1343153) 2017-03-21 11:03:14 +01:00
Boris Chiou
131e00b564 Bug 1343153 - Part 3: Replace pointer to const with immutable reference for nsTimingFunction. r=emilio,hiro
MozReview-Commit-ID: BcY4mTtCtjn
2017-03-21 14:29:43 +08:00
Boris Chiou
1a8f62a9d3 Bug 1343153 - Part 2: Use Servo css-parser for ParseEasing. r=birtles,emilio
We use Servo css-parser to parse keyframe property-value pairs, so we
should also use it to parse easing for Web Animations.

MozReview-Commit-ID: FsfHQaNT2xO
2017-03-21 14:27:46 +08:00
Hiroyuki Ikezoe
973dd46f05 Bug 1340958 - Drop Servo_AnimationValues_Uncompute. r=boris
MozReview-Commit-ID: 4CMzaCOnY7z
2017-03-17 13:24:42 +09:00
Hiroyuki Ikezoe
7cc9990018 Bug 1340958 - Put computed values into AnimationValueMap instead of hashtable in gecko. r=heycam
Before this patch, we store each computed values in a hashtable,
nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>, for all
KeyframeEffectReadOnly on an element, and convert the ServoAnimationValues of
the hashtable into an nsTArray<ServoAnimationValue*> and then convert
the ServoAnimationValues of the nsTArray into PropertyDeclarationBlock
in rust.  This way was really inefficient.
In this patch, we store the computed values into AnimationValueMap and
convert all AnimationValue in the map into PropertyDeclarationBlock
after EffectCompositor::GetAnimationRule.

MozReview-Commit-ID: EJ2Kl65fVeF
2017-03-17 13:23:21 +09:00
Xidorn Quan
b111a7f000 Bug 1345698 part 2 - Add bindings for namespace rule. r=heycam
MozReview-Commit-ID: 5QHeVqfiEGh
2017-03-14 15:44:37 +11:00
Xidorn Quan
18287e1373 Bug 1345698 part 1 - Unify common code for implementing a rule type. r=heycam
MozReview-Commit-ID: ABwAq2HXrkC
2017-03-14 17:52:37 +11:00
Boris Zbarsky
560161091d Bug 1346481. Add stylo support for skipping parent-display-based fixup for anonymous boxes. r=emilio
MozReview-Commit-ID: Ahd95HP6xiD
2017-03-13 12:53:45 -04:00
Xidorn Quan
df1290ca18 Bug 1315601 part 5 - Implement MediaList for Stylo. r=heycam,manishearth
MozReview-Commit-ID: 1NSyoqguoJr
2017-03-09 17:56:31 +11:00
Xidorn Quan
ccee796641 Bug 1315601 part 4 - Add raw Servo types for MediaList and MediaRule. r=manishearth
MozReview-Commit-ID: HaeqBVL700g
2017-03-09 15:10:11 +11:00
Manish Goregaokar
778095fea4 Bug 1341690 - stylo: Make URLs work in inline style; r=emilio
MozReview-Commit-ID: 6Tc0kBw4V8c
2017-03-10 18:28:02 -08:00
Emilio Cobos Álvarez
2039966939 Bug 1303229: Get the proper viewport size for animations. r=heycam,hiro
While we're here, don't re-recompute the default computed values, just grab them
from the device.

MozReview-Commit-ID: GqqnPLIwN2F
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-03-11 14:29:38 +01:00
Manish Goregaokar
e1727077ec Bug 1329093 - Part 1: stylo: Handle SVG presentation attributes; r=bz
MozReview-Commit-ID: 9cymo3c9HIn
2017-03-09 17:46:21 -08:00
Hiroyuki Ikezoe
ffe94faa5c Bug 1338927 - Part 8: Drop Servo_AnimationValues_Populate. r=birtles
MozReview-Commit-ID: 83WCbKL35h
2017-02-23 09:52:44 +09:00