Commit Graph

102 Commits

Author SHA1 Message Date
Hiroyuki Ikezoe
771b39a282 Bug 1412716 - Drop forward declarations of GeckoComputedStyle. r=emilio
MozReview-Commit-ID: CeI958wmdPE
2018-04-10 07:03:05 +09:00
Hiroyuki Ikezoe
6b27c1d810 Bug 1412716 - De-templatize EffectCompositor::UpdateEffectProperties and relevant stuff. r=emilio
MozReview-Commit-ID: K8yb8Kw16Mr
2018-04-09 20:15:59 +09:00
Hiroyuki Ikezoe
7c52573e52 Bug 1412716 - Drop KeyframeEffectReadOnly::mIsComposingStyle. r=emilio
The flag was introduced in bug 1322291 to prevent recursive calls of
KeyframeEffectReadOnly::ComposeStyle() on the old style system.  On the
new style system we never call the function recursively.

MozReview-Commit-ID: L5gb8G3bl4M
2018-04-09 20:15:59 +09:00
Hiroyuki Ikezoe
a5477d04c4 Bug 1412716 - De-templatize Animation::ComposeStyle and relevant stuff. r=emilio
MozReview-Commit-ID: AoDRzqG8hET
2018-04-09 20:15:59 +09:00
Emilio Cobos Álvarez
19d1b6d206 Bug 1452080: Remove ComputedStyle::PresContext usage in animation code. r=hiro
MozReview-Commit-ID: HwooTF9PGnq
2018-04-09 11:19:49 +02:00
Noemi Erli
b15aabf388 Backed out 3 changesets (bug 1452080) for bustage in /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp on a CLOSED TREE
Backed out changeset 7f5104c7a242 (bug 1452080)
Backed out changeset 806a9c95a243 (bug 1452080)
Backed out changeset bffebe8aa254 (bug 1452080)
2018-04-09 11:18:12 +03:00
Emilio Cobos Álvarez
948ee35260 Bug 1452080: Remove ComputedStyle::PresContext usage in animation code. r=hiro
MozReview-Commit-ID: HwooTF9PGnq
2018-04-09 09:56:32 +02:00
Jonathan Watt
baf9ffb02b Bug 1448714 - Fix up comments referring to 'style context' after the rename of nsStyleContext. r=emilio 2018-03-23 13:49:21 +00:00
Emilio Cobos Álvarez
c48b1f646b Bug 1448690: Remove IsStyledByServo. r=xidorn
MozReview-Commit-ID: I3MDbo2Yu7d
2018-03-26 09:39:26 +02:00
Emilio Cobos Álvarez
1d4859a89a Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
97286b35c8 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
1f5d8de5cc Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Emilio Cobos Álvarez
b1a35fbef7 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Hiroyuki Ikezoe
7806658a27 Bug 1439485 - Don't try to unthrottle transform animations that don't affect overflow region. r=birtles
MozReview-Commit-ID: AtQPiPnsC3z
2018-02-27 14:46:32 +09:00
Hiroyuki Ikezoe
58607cd832 Bug 1237454 - Unthrottle transform animations in visibility:hidden element periodically only if the element is scrolled out. r=birtles
In the case where we throttle transform animations in visibility:hidden
element, we just need to unthrottle only if the element is scrolled out since
unlike the scrolled out element, visibility:hidden element keeps invisible
even after the element moved into view.

MozReview-Commit-ID: 7X2SsOLz4Y5
2018-02-09 19:00:19 +09:00
Cameron McCormack
f2d37b44c3 Bug 1430014 - Part 6: #ifdef out a bit more animation-related code. r=hiro
MozReview-Commit-ID: B9TaVJFak26
2018-02-01 15:04:04 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Wei-Cheng Pan
a1a59b0b56 Bug 1425213 - Unthrottle transform animations regardless in overflowable frames or not. r=hiro
Because we don't know whether the transformed position will be visible or not.
2018-01-17 22:44:00 +02:00
63b6495c6f Bug 1413104 - Drop telemetry probes for layer size; r=botond
MozReview-Commit-ID: FtpTJDC50A8
2017-12-14 21:36:09 +00:00
Hiroyuki Ikezoe
5d5b9b0ec6 Bug 1418867 - Drop pseudo type argument from KeyframeEffectReadOnly::EnsureBaseStyle(). r=birtles
We have the pseudo type in mTarget.

MozReview-Commit-ID: GoXzoavnwpL
2017-11-22 09:56:56 +09:00
Boris Chiou
988e8a8a1a Bug 1303235 - Part 2: Templatize CalculateCumulativeChangeHint. r=hiro
MozReview-Commit-ID: JHSn7FoRPpW
2017-10-12 16:12:54 +08: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
Manish Goregaokar
86e90da5c3 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Manish Goregaokar
a0cec6421f Bug 1367904 - Part 5: stylo: Make GetBaseComputedValuesForElement return a style context; r=bholley
MozReview-Commit-ID: K5WpWc26xNZ
2017-07-17 21:00:32 -07:00
Emilio Cobos Álvarez
2ec93aa1e1 Bug 1379505: Allow calling GetBaseComputedStylesForElement for an unstyled element. r=boris
Before this refactoring, getComputedStyle could have side effects, and left the
style data in the element, so we could never arrive there without data.

There are a few crashtests that caught this, but this was already broken if you
called animate() on an element deep in a display: none subtree.

MozReview-Commit-ID: 1AvOvhAyOP3
2017-07-10 13:33:21 +02:00
Brian Birtles
22976ae41d Bug 1376594 - Track locally whether an effect is part of an EffectSet to avoid hashmap lookups; r=hiro
MozReview-Commit-ID: IEeAmyR9ZlS
2017-07-05 10:29:58 +09:00
Brian Birtles
479e7620a1 Bug 1370019 - Rename UpadataEffectSet to UpdateEffectSet; r=cjku
MozReview-Commit-ID: DbGvHjpr7xx
2017-06-20 15:42:26 +09:00
Boris Chiou
508c013dbc Bug 1339690 - Part 3: Drop spacing mode. r=birtles,smaug
MozReview-Commit-ID: 1c7jpzWQjVP
2017-06-13 15:09:19 +08:00
Hiroyuki Ikezoe
11db326869 Bug 1367293 - Don't get parent style for GetComputedKeyframeValuesFor. r=birtles
MozReview-Commit-ID: 7WjsO7P2QGz
2017-06-02 09:38:54 +09:00
Boris Chiou
29d264bed7 Bug 1334036 - Part 10: Return AnimationValue for BaseStyle. r=hiro
We need to retrieve the correct base style for Servo backend, so change
the return value to AnimationValue and update
KeyframeEffectReadOnly::BaseStyle().

MozReview-Commit-ID: 9FL3h1DLoJt
2017-05-10 11:06:19 +08:00
cku
9dbf7146e6 Bug 1205475 - Part 1. Hold MAY_HAVE_OPACITY_ANIM/ MAY_HAVE_TRANSFOMR_ANIM information in EffectSet. r=mattwoodrow
FRAME_STATE_BIT of nsFrame and nsINode::mBoolFlags are both full, we need to
find another place to hold MAY_HAVE_OPACITY information.

nsINode::mSlots might be a choice, but since we always use this information in
painting, memory footprint of nsINode will become larger after this change.

So I decide to put this information right in EffectSet. The drawback of storing
this information in EffectSet is, although unnecessary Effect look-up is
prevented, we still need EffectSet property look-up in each time
HasOpacityInternal call, so we need Part 2.

Conceptually, Part 1 and Part 2 are independent.

MozReview-Commit-ID: 6sfBFSHjxQb
2017-05-16 19:11:04 +08:00
Emilio Cobos Álvarez
b1cba72009 Bug 1364412: Convert pseudo-elements to an enum. r=hiro,xidorn
This allows us to access metadata using `match` instead of comparison with
atoms, which makes it doable to get the pseudo-element flags in the future.

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: KgGjFePmhyS
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-14 18:39:22 +02:00
Botond Ballo
057ea9c8af Bug 1361915 - Record telemetry each time we try to run a transform animation on the compositor. r=birtles,bsmedberg
The telemetry is recorded once per effect:target pair, and is intended for
comparison with the telemetry added in bug 1349808.

MozReview-Commit-ID: 8JYbAifjmki
2017-05-03 21:39:42 -04:00
Wes Kocher
3609da7ace Backed out changeset 3a3a19e0d903 (bug 1361915) for build bustage a=backout
MozReview-Commit-ID: 3BG6xILsiXW
2017-05-11 15:11:29 -07:00
Botond Ballo
970c843e28 Bug 1361915 - Record telemetry each time we try to run a transform animation on the compositor. r=birtles,bsmedberg
The telemetry is recorded once per effect:target pair, and is intended for
comparison with the telemetry added in bug 1349808.

MozReview-Commit-ID: 8JYbAifjmki
2017-05-03 21:39:42 -04:00
Hiroyuki Ikezoe
64533f1cf1 Bug 1360776 - Pass AnimationValueMap raw pointer instead of Arc to Gecko_GetAnimationRule(). r=emilio
MozReview-Commit-ID: 5o8NuJolG2R
2017-05-01 18:45:41 +09:00
Brian Birtles
6f31f71d47 Bug 1355348 - Move ServoComputedValuesWithParent to separate file; r=hiro
We will use this type later in this patch series in nsSMILCSSProperty so this
patch moves it to a separate file so it can be re-used.

MozReview-Commit-ID: 4Z7YbsQ9xz4
2017-04-26 13:00:11 +09:00
Carsten "Tomcat" Book
f00871f796 merge mozilla-inbound to mozilla-central a=merge 2017-04-06 12:50:50 +02:00
Hiroyuki Ikezoe
c1820c0545 Bug 1311257 - Move AnimationPropertySegment in a separate header and expose it in FFI. r=heycam
This will be used for animation value composition in Rust.

MozReview-Commit-ID: Lg4dZrQW1WC
2017-04-06 10:34:50 +09:00
Hiroyuki Ikezoe
db8b59e657 Bug 1311257 - Store base styles for stylo. r=birtles
MozReview-Commit-ID: DcEx4aTDOY0
2017-04-06 10:34:50 +09:00
Brian Birtles
4de61d72aa Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F
2017-04-05 14:39:23 +09:00
Boris Chiou
235f10203b Bug 1349808 - Add telemetry for cases when we can't run async animations due to layer size being too large. data-review=bsmedberg, r=birtles,botond,bsmedberg
MozReview-Commit-ID: 61DBw1DHbQA
2017-03-24 15:53:54 +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
Hiroyuki Ikezoe
af46b1bd33 Bug 1350743 - Rename AnimationPropertySegment::HasReplacableValues to AnimationPropertySegment::HasReplaceableValues. r=birtles
MozReview-Commit-ID: KNwZhFvG5PJ
2017-03-27 09:15:26 +09:00
Hiroyuki Ikezoe
de94a340b2 Bug 1350743 - Re-use nsStyleContext without animations to extract animation values for each property. r=birtles
MozReview-Commit-ID: L4AmCAp0DLn
2017-03-27 09:15:26 +09:00
Hiroyuki Ikezoe
d126549a76 Bug 1350743 - Make KeyframeEffectReadOnly::ResolveBaseStyle return void. r=birtles
Also it's renamed to EnsureBaseStyle.  We didn't use the return value at all.

MozReview-Commit-ID: Cu4rnAP883M
2017-03-27 09:15:26 +09:00
Boris Chiou
51b2cebdaa Bug 1349124 - Replace ServoComputedStyleValues with ServoComputedValuesWithParent. r=hiro
MozReview-Commit-ID: 5POa8DRjmc8
2017-03-21 15:41:23 +08: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
Hiroyuki Ikezoe
d65d560c39 Bug 1340958 - Templatize ComposeStyle. r=birtles
Later in this patch series we will replace ServoAnimationRule with a hashmap.
At that point, we would like to pass the hashmap to ComposeStyle. In order
to achieve that, this patch templatizes the 'animation rule' parameter of
ComposeStyle in both Animation and KeyframeEffectReadOnly so that it can
represent a hashmap instead.

MozReview-Commit-ID: H5bMxjN3W8n
2017-03-17 13:22:13 +09:00
Hiroyuki Ikezoe
efbf131e1d Bug 1340958 - Separate ComposeStyle() into servo and gecko versions. r=birtles
MozReview-Commit-ID: FAXf6J9UVjo
2017-03-17 12:48:56 +09:00