Bug 1277456 part 2 - Store the parent document object of AnimationEffectTiming(ReadOnly) as nsIDocument instead of nsISupports; r?hiro draft
authorBrian Birtles <birtles@gmail.com>
Wed, 13 Jul 2016 11:32:05 +0900
changeset 386959 c8fa79efda3842a08bc2ca1b9044d7d56e0ff0d7
parent 386958 50621508554b7261d430204679a9413dfc090b1f
child 386960 8e1aeedde93569813776e2549d84d7057dc0b543
push id22865
push userbbirtles@mozilla.com
push dateWed, 13 Jul 2016 04:26:23 +0000
reviewershiro
bugs1277456
milestone50.0a1
Bug 1277456 part 2 - Store the parent document object of AnimationEffectTiming(ReadOnly) as nsIDocument instead of nsISupports; r?hiro MozReview-Commit-ID: HOgkXaDVuH5
dom/animation/AnimationEffectTiming.h
dom/animation/AnimationEffectTimingReadOnly.cpp
dom/animation/AnimationEffectTimingReadOnly.h
--- a/dom/animation/AnimationEffectTiming.h
+++ b/dom/animation/AnimationEffectTiming.h
@@ -12,20 +12,20 @@
 #include "nsStringFwd.h"
 
 namespace mozilla {
 namespace dom {
 
 class AnimationEffectTiming : public AnimationEffectTimingReadOnly
 {
 public:
-  AnimationEffectTiming(nsISupports* aParent,
+  AnimationEffectTiming(nsIDocument* aDocument,
                         const TimingParams& aTiming,
                         KeyframeEffect* aEffect)
-    : AnimationEffectTimingReadOnly(aParent, aTiming)
+    : AnimationEffectTimingReadOnly(aDocument, aTiming)
     , mEffect(aEffect) { }
 
   JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
 
   void Unlink() override { mEffect = nullptr; }
 
   void SetDelay(double aDelay);
   void SetEndDelay(double aEndDelay);
--- a/dom/animation/AnimationEffectTimingReadOnly.cpp
+++ b/dom/animation/AnimationEffectTimingReadOnly.cpp
@@ -10,17 +10,17 @@
 #include "mozilla/dom/AnimatableBinding.h"
 #include "mozilla/dom/AnimationEffectTimingReadOnlyBinding.h"
 #include "mozilla/dom/CSSPseudoElement.h"
 #include "mozilla/dom/KeyframeEffectBinding.h"
 
 namespace mozilla {
 namespace dom {
 
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(AnimationEffectTimingReadOnly, mParent)
+NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(AnimationEffectTimingReadOnly, mDocument)
 
 NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(AnimationEffectTimingReadOnly, AddRef)
 NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(AnimationEffectTimingReadOnly, Release)
 
 JSObject*
 AnimationEffectTimingReadOnly::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
 {
   return AnimationEffectTimingReadOnlyBinding::Wrap(aCx, this, aGivenProto);
--- a/dom/animation/AnimationEffectTimingReadOnly.h
+++ b/dom/animation/AnimationEffectTimingReadOnly.h
@@ -18,29 +18,29 @@
 
 namespace mozilla {
 namespace dom {
 
 class AnimationEffectTimingReadOnly : public nsWrapperCache
 {
 public:
   AnimationEffectTimingReadOnly() = default;
-  AnimationEffectTimingReadOnly(nsISupports* aParent,
+  AnimationEffectTimingReadOnly(nsIDocument* aDocument,
                                 const TimingParams& aTiming)
-    : mParent(aParent)
+    : mDocument(aDocument)
     , mTiming(aTiming) { }
 
   NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(AnimationEffectTimingReadOnly)
   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(AnimationEffectTimingReadOnly)
 
 protected:
   virtual ~AnimationEffectTimingReadOnly() = default;
 
 public:
-  nsISupports* GetParentObject() const { return mParent; }
+  nsISupports* GetParentObject() const { return mDocument; }
   JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
 
   double Delay() const { return mTiming.mDelay.ToMilliseconds(); }
   double EndDelay() const { return mTiming.mEndDelay.ToMilliseconds(); }
   FillMode Fill() const { return mTiming.mFill; }
   double IterationStart() const { return mTiming.mIterationStart; }
   double Iterations() const { return mTiming.mIterations; }
   void GetDuration(OwningUnrestrictedDoubleOrString& aRetVal) const;
@@ -48,16 +48,16 @@ public:
   void GetEasing(nsString& aRetVal) const;
 
   const TimingParams& AsTimingParams() const { return mTiming; }
   void SetTimingParams(const TimingParams& aTiming) { mTiming = aTiming; }
 
   virtual void Unlink() { }
 
 protected:
-  nsCOMPtr<nsISupports> mParent;
+  RefPtr<nsIDocument> mDocument;
   TimingParams mTiming;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 #endif // mozilla_dom_AnimationEffectTimingReadOnly_h