зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1379516 - Mark animation timerline marker for stylo. r=birtles
MozReview-Commit-ID: GkPSXEk4xua --HG-- extra : rebase_source : 3fa0f5029bcfd87e9d6abfec9c6ea5d03a7656e6
This commit is contained in:
Родитель
94c7df914d
Коммит
80dfc0d6fb
|
@ -15,7 +15,7 @@ support-files =
|
|||
[chrome/test_cssanimation_missing_keyframes.html]
|
||||
[chrome/test_generated_content_getAnimations.html]
|
||||
[chrome/test_restyles.html]
|
||||
skip-if = os == 'android' || stylo # bug 1335986
|
||||
skip-if = os == 'android' # bug 1335986
|
||||
[chrome/test_running_on_compositor.html]
|
||||
[chrome/test_simulate_compute_values_failure.html]
|
||||
skip-if = !debug
|
||||
|
|
|
@ -187,7 +187,7 @@ ServoRestyleManager::PostRestyleEventForCSSRuleChanges()
|
|||
mPresContext->PresShell()->EnsureStyleFlush();
|
||||
}
|
||||
|
||||
/* static */ void
|
||||
void
|
||||
ServoRestyleManager::PostRestyleEventForAnimations(
|
||||
Element* aElement,
|
||||
CSSPseudoElementType aPseudoType,
|
||||
|
@ -203,6 +203,8 @@ ServoRestyleManager::PostRestyleEventForAnimations(
|
|||
return;
|
||||
}
|
||||
|
||||
AutoRestyleTimelineMarker marker(mPresContext->GetDocShell(),
|
||||
true /* animation-only */);
|
||||
Servo_NoteExplicitHints(elementToRestyle, aRestyleHint, nsChangeHint(0));
|
||||
}
|
||||
|
||||
|
|
|
@ -185,9 +185,9 @@ public:
|
|||
* restyling process and this restyle event will be processed in the second
|
||||
* traversal of the same restyling process.
|
||||
*/
|
||||
static void PostRestyleEventForAnimations(dom::Element* aElement,
|
||||
CSSPseudoElementType aPseudoType,
|
||||
nsRestyleHint aRestyleHint);
|
||||
void PostRestyleEventForAnimations(dom::Element* aElement,
|
||||
CSSPseudoElementType aPseudoType,
|
||||
nsRestyleHint aRestyleHint);
|
||||
protected:
|
||||
~ServoRestyleManager() override
|
||||
{
|
||||
|
|
|
@ -333,9 +333,12 @@ ServoStyleSet::PrepareAndTraverseSubtree(
|
|||
ServoTraversalFlags aFlags)
|
||||
{
|
||||
MOZ_ASSERT(MayTraverseFrom(const_cast<Element*>(aRoot)));
|
||||
bool forThrottledAnimationFlush = !!(aFlags & ServoTraversalFlags::AnimationOnly);
|
||||
|
||||
AutoRestyleTimelineMarker marker(mPresContext->GetDocShell(), forThrottledAnimationFlush);
|
||||
// For markers for animations, we have already set the markers in
|
||||
// ServoRestyleManager::PostRestyleEventForAnimations so that we don't need
|
||||
// to care about animation restyles here.
|
||||
AutoRestyleTimelineMarker marker(mPresContext->GetDocShell(),
|
||||
false /* animation-only */);
|
||||
|
||||
MOZ_ASSERT(!StylistNeedsUpdate());
|
||||
AutoSetInServoTraversal guard(this);
|
||||
|
@ -353,7 +356,7 @@ ServoStyleSet::PrepareAndTraverseSubtree(
|
|||
// performs the animation-only restyle, skipping the normal restyle, and so
|
||||
// will not generate any SequentialTask that could update animation state
|
||||
// requiring a subsequent traversal.
|
||||
if (forThrottledAnimationFlush) {
|
||||
if (aFlags & ServoTraversalFlags::AnimationOnly) {
|
||||
return postTraversalRequired;
|
||||
}
|
||||
|
||||
|
|
|
@ -267,7 +267,6 @@ support-files = redundant_font_download.sjs
|
|||
[test_restyle_table_wrapper.html]
|
||||
[test_restyles_in_smil_animation.html]
|
||||
skip-if = toolkit == 'android' # bug 1328522
|
||||
fail-if = stylo # bug 1387935
|
||||
[test_root_node_display.html]
|
||||
[test_rule_insertion.html]
|
||||
[test_rule_serialization.html]
|
||||
|
|
Загрузка…
Ссылка в новой задаче