Bug 1676363 - Avoid including CycleCollectedJSContext.h and Promise.h from Animation.h. r=#xpcom-reviewers

Differential Revision: https://phabricator.services.mozilla.com/D96561

Depends on D96560
This commit is contained in:
Simon Giesecke 2020-11-23 16:10:57 +00:00
parent a61cef41e1
commit 41c5b23a3e
2 changed files with 12 additions and 8 deletions

View File

@ -14,9 +14,11 @@
#include "mozilla/dom/DocumentInlines.h"
#include "mozilla/dom/DocumentTimeline.h"
#include "mozilla/dom/MutationObservers.h"
#include "mozilla/dom/Promise.h"
#include "mozilla/AnimationEventDispatcher.h"
#include "mozilla/AnimationTarget.h"
#include "mozilla/AutoRestore.h"
#include "mozilla/CycleCollectedJSContext.h"
#include "mozilla/DeclarationBlock.h"
#include "mozilla/Maybe.h" // For Maybe
#include "mozilla/StaticPrefs_dom.h"
@ -79,6 +81,11 @@ class MOZ_RAII AutoMutationBatchForAnimation {
//
// ---------------------------------------------------------------------------
Animation::Animation(nsIGlobalObject* aGlobal)
: DOMEventTargetHelper(aGlobal), mAnimationIndex(sNextAnimationIndex++) {}
Animation::~Animation() = default;
/* static */
already_AddRefed<Animation> Animation::ClonePausedAnimation(
nsIGlobalObject* aGlobal, const Animation& aOther, AnimationEffect& aEffect,

View File

@ -8,11 +8,9 @@
#define mozilla_dom_Animation_h
#include "X11UndefineNone.h"
#include "nsWrapperCache.h"
#include "nsCycleCollectionParticipant.h"
#include "mozilla/AnimationPerformanceWarning.h"
#include "mozilla/Attributes.h"
#include "mozilla/CycleCollectedJSContext.h"
#include "mozilla/DOMEventTargetHelper.h"
#include "mozilla/EffectCompositor.h" // For EffectCompositor::CascadeLevel
#include "mozilla/LinkedList.h"
@ -22,17 +20,16 @@
#include "mozilla/dom/AnimationBinding.h" // for AnimationPlayState
#include "mozilla/dom/AnimationEffect.h"
#include "mozilla/dom/AnimationTimeline.h"
#include "mozilla/dom/Promise.h"
#include "nsCSSPropertyID.h"
#include "nsIGlobalObject.h"
struct JSContext;
class nsCSSPropertyIDSet;
class nsIFrame;
class nsIGlobalObject;
namespace mozilla {
struct AnimationRule;
class MicroTaskRunnable;
namespace dom {
@ -40,15 +37,15 @@ class AsyncFinishNotification;
class CSSAnimation;
class CSSTransition;
class Document;
class Promise;
class Animation : public DOMEventTargetHelper,
public LinkedListElement<Animation> {
protected:
virtual ~Animation() = default;
virtual ~Animation();
public:
explicit Animation(nsIGlobalObject* aGlobal)
: DOMEventTargetHelper(aGlobal), mAnimationIndex(sNextAnimationIndex++) {}
explicit Animation(nsIGlobalObject* aGlobal);
// Constructs a copy of |aOther| with a new effect and timeline.
// This is only intended to be used while making a static clone of a document