mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 948531 - Layerize elements with transition or animation immediately. r=mattwoodrow
This commit is contained in:
parent
66b0cd57b1
commit
67bca7c4a8
@ -10,6 +10,8 @@
|
||||
#include "nsRefreshDriver.h"
|
||||
#include "nsPIDOMWindow.h"
|
||||
#include "nsIDocument.h"
|
||||
#include "nsAnimationManager.h"
|
||||
#include "nsTransitionManager.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@ -215,6 +217,18 @@ ActiveLayerTracker::IsStyleAnimated(nsIFrame* aFrame, nsCSSProperty aProperty)
|
||||
if (aProperty == eCSSProperty_transform && aFrame->Preserves3D()) {
|
||||
return IsStyleAnimated(aFrame->GetParent(), aProperty);
|
||||
}
|
||||
nsIContent* content = aFrame->GetContent();
|
||||
if (content) {
|
||||
if (mozilla::HasAnimationOrTransition<ElementAnimations>(
|
||||
content, nsGkAtoms::animationsProperty, aProperty)) {
|
||||
return true;
|
||||
}
|
||||
if (mozilla::HasAnimationOrTransition<ElementTransitions>(
|
||||
content, nsGkAtoms::transitionsProperty, aProperty)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -230,8 +230,8 @@ nsLayoutUtils::HasAnimationsForCompositor(nsIContent* aContent,
|
||||
}
|
||||
|
||||
template <class AnimationsOrTransitions>
|
||||
static AnimationsOrTransitions*
|
||||
HasAnimationOrTransition(nsIContent* aContent,
|
||||
AnimationsOrTransitions*
|
||||
mozilla::HasAnimationOrTransition(nsIContent* aContent,
|
||||
nsIAtom* aAnimationProperty,
|
||||
nsCSSProperty aProperty)
|
||||
{
|
||||
@ -247,6 +247,17 @@ HasAnimationOrTransition(nsIContent* aContent,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
template ElementAnimations*
|
||||
mozilla::HasAnimationOrTransition<ElementAnimations>(nsIContent* aContent,
|
||||
nsIAtom* aAnimationProperty,
|
||||
nsCSSProperty aProperty);
|
||||
|
||||
template ElementTransitions*
|
||||
mozilla::HasAnimationOrTransition<ElementTransitions>(nsIContent* aContent,
|
||||
nsIAtom* aAnimationProperty,
|
||||
nsCSSProperty aProperty);
|
||||
|
||||
|
||||
bool
|
||||
nsLayoutUtils::HasAnimations(nsIContent* aContent,
|
||||
nsCSSProperty aProperty)
|
||||
|
@ -70,6 +70,12 @@ class HTMLVideoElement;
|
||||
namespace layers {
|
||||
class Layer;
|
||||
}
|
||||
|
||||
template <class AnimationsOrTransitions>
|
||||
extern AnimationsOrTransitions* HasAnimationOrTransition(nsIContent* aContent,
|
||||
nsIAtom* aAnimationProperty,
|
||||
nsCSSProperty aProperty);
|
||||
|
||||
} // namespace mozilla
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user