Bug 1456394 - Drop AnimationEffectTiming(ReadOnly) interfaces; r=bz,hiro
MozReview-Commit-ID: KKqAWemDXwv
This commit is contained in:
@@ -17,15 +17,12 @@ namespace dom {
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(AnimationEffect)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(AnimationEffect)
|
||||
if (tmp->mTiming) {
|
||||
tmp->mTiming->Unlink();
|
||||
}
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocument, mTiming, mAnimation)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocument, mAnimation)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(AnimationEffect)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mDocument, mTiming, mAnimation)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mDocument, mAnimation)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_WRAPPERCACHE(AnimationEffect)
|
||||
@@ -38,14 +35,6 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(AnimationEffect)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
AnimationEffect::AnimationEffect(
|
||||
nsIDocument* aDocument, AnimationEffectTimingReadOnly* aTiming)
|
||||
: mDocument(aDocument)
|
||||
, mTiming(aTiming)
|
||||
{
|
||||
MOZ_ASSERT(aTiming);
|
||||
}
|
||||
|
||||
// https://drafts.csswg.org/web-animations/#current
|
||||
bool
|
||||
AnimationEffect::IsCurrent() const
|
||||
@@ -67,20 +56,15 @@ AnimationEffect::IsInEffect() const
|
||||
return !computedTiming.mProgress.IsNull();
|
||||
}
|
||||
|
||||
already_AddRefed<AnimationEffectTimingReadOnly>
|
||||
AnimationEffect::Timing()
|
||||
{
|
||||
RefPtr<AnimationEffectTimingReadOnly> temp(mTiming);
|
||||
return temp.forget();
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffect::SetSpecifiedTiming(const TimingParams& aTiming)
|
||||
{
|
||||
if (mTiming->AsTimingParams() == aTiming) {
|
||||
if (mTiming == aTiming) {
|
||||
return;
|
||||
}
|
||||
mTiming->SetTimingParams(aTiming);
|
||||
|
||||
mTiming = aTiming;
|
||||
|
||||
if (mAnimation) {
|
||||
Maybe<nsAutoAnimationMutationBatch> mb;
|
||||
if (AsKeyframeEffect() && AsKeyframeEffect()->GetTarget()) {
|
||||
@@ -343,8 +327,8 @@ void
|
||||
AnimationEffect::UpdateTiming(const OptionalEffectTiming& aTiming,
|
||||
ErrorResult& aRv)
|
||||
{
|
||||
TimingParams timing = TimingParams::MergeOptionalEffectTiming(
|
||||
mTiming->AsTimingParams(), aTiming, mDocument, aRv);
|
||||
TimingParams timing =
|
||||
TimingParams::MergeOptionalEffectTiming(mTiming, aTiming, mDocument, aRv);
|
||||
if (aRv.Failed()) {
|
||||
return;
|
||||
}
|
||||
@@ -352,15 +336,6 @@ AnimationEffect::UpdateTiming(const OptionalEffectTiming& aTiming,
|
||||
SetSpecifiedTiming(timing);
|
||||
}
|
||||
|
||||
AnimationEffect::~AnimationEffect()
|
||||
{
|
||||
// mTiming is cycle collected, so we have to do null check first even though
|
||||
// mTiming shouldn't be null during the lifetime of KeyframeEffect.
|
||||
if (mTiming) {
|
||||
mTiming->Unlink();
|
||||
}
|
||||
}
|
||||
|
||||
Nullable<TimeDuration>
|
||||
AnimationEffect::GetLocalTime() const
|
||||
{
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#define mozilla_dom_AnimationEffect_h
|
||||
|
||||
#include "mozilla/ComputedTiming.h"
|
||||
#include "mozilla/dom/AnimationEffectTimingReadOnly.h"
|
||||
#include "mozilla/dom/BindingDeclarations.h"
|
||||
#include "mozilla/dom/Nullable.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
@@ -25,7 +24,6 @@ struct ElementPropertyTransition;
|
||||
namespace dom {
|
||||
|
||||
class Animation;
|
||||
class AnimationEffectTimingReadOnly;
|
||||
class KeyframeEffect;
|
||||
struct ComputedEffectTiming;
|
||||
|
||||
@@ -36,8 +34,11 @@ public:
|
||||
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(AnimationEffect)
|
||||
|
||||
AnimationEffect(nsIDocument* aDocument,
|
||||
AnimationEffectTimingReadOnly* aTiming);
|
||||
AnimationEffect(nsIDocument* aDocument, const TimingParams& aTiming)
|
||||
: mDocument(aDocument)
|
||||
, mTiming(aTiming)
|
||||
{
|
||||
}
|
||||
|
||||
virtual KeyframeEffect* AsKeyframeEffect() { return nullptr; }
|
||||
|
||||
@@ -61,11 +62,7 @@ public:
|
||||
void GetComputedTimingAsDict(ComputedEffectTiming& aRetVal) const;
|
||||
void UpdateTiming(const OptionalEffectTiming& aTiming, ErrorResult& aRv);
|
||||
|
||||
already_AddRefed<AnimationEffectTimingReadOnly> Timing();
|
||||
const TimingParams& SpecifiedTiming() const
|
||||
{
|
||||
return mTiming->AsTimingParams();
|
||||
}
|
||||
const TimingParams& SpecifiedTiming() const { return mTiming; }
|
||||
void SetSpecifiedTiming(const TimingParams& aTiming);
|
||||
|
||||
// This function takes as input the timing parameters of an animation and
|
||||
@@ -98,14 +95,14 @@ public:
|
||||
virtual bool AffectsGeometry() const = 0;
|
||||
|
||||
protected:
|
||||
virtual ~AnimationEffect();
|
||||
virtual ~AnimationEffect() = default;
|
||||
|
||||
Nullable<TimeDuration> GetLocalTime() const;
|
||||
|
||||
protected:
|
||||
RefPtr<nsIDocument> mDocument;
|
||||
RefPtr<AnimationEffectTimingReadOnly> mTiming;
|
||||
RefPtr<Animation> mAnimation;
|
||||
TimingParams mTiming;
|
||||
};
|
||||
|
||||
} // namespace dom
|
||||
|
||||
@@ -1,152 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "mozilla/dom/AnimationEffectTiming.h"
|
||||
|
||||
#include "mozilla/dom/AnimatableBinding.h"
|
||||
#include "mozilla/dom/AnimationEffectTimingBinding.h"
|
||||
#include "mozilla/dom/KeyframeEffect.h"
|
||||
#include "mozilla/TimingParams.h"
|
||||
#include "nsAString.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
|
||||
JSObject*
|
||||
AnimationEffectTiming::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
|
||||
{
|
||||
return AnimationEffectTimingBinding::Wrap(aCx, this, aGivenProto);
|
||||
}
|
||||
|
||||
static inline void
|
||||
PostSpecifiedTimingUpdated(KeyframeEffect* aEffect)
|
||||
{
|
||||
if (aEffect) {
|
||||
aEffect->NotifySpecifiedTimingUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetDelay(double aDelay)
|
||||
{
|
||||
TimeDuration delay = TimeDuration::FromMilliseconds(aDelay);
|
||||
if (mTiming.Delay() == delay) {
|
||||
return;
|
||||
}
|
||||
mTiming.SetDelay(delay);
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetEndDelay(double aEndDelay)
|
||||
{
|
||||
TimeDuration endDelay = TimeDuration::FromMilliseconds(aEndDelay);
|
||||
if (mTiming.EndDelay() == endDelay) {
|
||||
return;
|
||||
}
|
||||
mTiming.SetEndDelay(endDelay);
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetFill(const FillMode& aFill)
|
||||
{
|
||||
if (mTiming.Fill() == aFill) {
|
||||
return;
|
||||
}
|
||||
mTiming.SetFill(aFill);
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetIterationStart(double aIterationStart,
|
||||
ErrorResult& aRv)
|
||||
{
|
||||
if (mTiming.IterationStart() == aIterationStart) {
|
||||
return;
|
||||
}
|
||||
|
||||
TimingParams::ValidateIterationStart(aIterationStart, aRv);
|
||||
if (aRv.Failed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mTiming.SetIterationStart(aIterationStart);
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetIterations(double aIterations, ErrorResult& aRv)
|
||||
{
|
||||
if (mTiming.Iterations() == aIterations) {
|
||||
return;
|
||||
}
|
||||
|
||||
TimingParams::ValidateIterations(aIterations, aRv);
|
||||
if (aRv.Failed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mTiming.SetIterations(aIterations);
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetDuration(const UnrestrictedDoubleOrString& aDuration,
|
||||
ErrorResult& aRv)
|
||||
{
|
||||
Maybe<StickyTimeDuration> newDuration =
|
||||
TimingParams::ParseDuration(aDuration, aRv);
|
||||
if (aRv.Failed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mTiming.Duration() == newDuration) {
|
||||
return;
|
||||
}
|
||||
|
||||
mTiming.SetDuration(Move(newDuration));
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetDirection(const PlaybackDirection& aDirection)
|
||||
{
|
||||
if (mTiming.Direction() == aDirection) {
|
||||
return;
|
||||
}
|
||||
|
||||
mTiming.SetDirection(aDirection);
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTiming::SetEasing(const nsAString& aEasing, ErrorResult& aRv)
|
||||
{
|
||||
Maybe<ComputedTimingFunction> newFunction =
|
||||
TimingParams::ParseEasing(aEasing, mDocument, aRv);
|
||||
if (aRv.Failed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mTiming.TimingFunction() == newFunction) {
|
||||
return;
|
||||
}
|
||||
|
||||
mTiming.SetTimingFunction(Move(newFunction));
|
||||
|
||||
PostSpecifiedTimingUpdated(mEffect);
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
@@ -1,49 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef mozilla_dom_AnimationEffectTiming_h
|
||||
#define mozilla_dom_AnimationEffectTiming_h
|
||||
|
||||
#include "mozilla/dom/AnimationEffectTimingReadOnly.h"
|
||||
#include "mozilla/Attributes.h" // For MOZ_NON_OWNING_REF
|
||||
#include "nsStringFwd.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
|
||||
class KeyframeEffect;
|
||||
|
||||
class AnimationEffectTiming : public AnimationEffectTimingReadOnly
|
||||
{
|
||||
public:
|
||||
AnimationEffectTiming(nsIDocument* aDocument,
|
||||
const TimingParams& aTiming,
|
||||
KeyframeEffect* aEffect)
|
||||
: 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);
|
||||
void SetFill(const FillMode& aFill);
|
||||
void SetIterationStart(double aIterationStart, ErrorResult& aRv);
|
||||
void SetIterations(double aIterations, ErrorResult& aRv);
|
||||
void SetDuration(const UnrestrictedDoubleOrString& aDuration,
|
||||
ErrorResult& aRv);
|
||||
void SetDirection(const PlaybackDirection& aDirection);
|
||||
void SetEasing(const nsAString& aEasing, ErrorResult& aRv);
|
||||
|
||||
private:
|
||||
KeyframeEffect* MOZ_NON_OWNING_REF mEffect;
|
||||
};
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_dom_AnimationEffectTiming_h
|
||||
@@ -1,51 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "mozilla/dom/AnimationEffectTimingReadOnly.h"
|
||||
|
||||
#include "mozilla/AnimationUtils.h"
|
||||
#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, 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);
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTimingReadOnly::GetDuration(
|
||||
OwningUnrestrictedDoubleOrString& aRetVal) const
|
||||
{
|
||||
if (mTiming.Duration()) {
|
||||
aRetVal.SetAsUnrestrictedDouble() = mTiming.Duration()->ToMilliseconds();
|
||||
} else {
|
||||
aRetVal.SetAsString().AssignLiteral("auto");
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
AnimationEffectTimingReadOnly::GetEasing(nsString& aRetVal) const
|
||||
{
|
||||
if (mTiming.TimingFunction()) {
|
||||
mTiming.TimingFunction()->AppendToString(aRetVal);
|
||||
} else {
|
||||
aRetVal.AssignLiteral("linear");
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
@@ -1,63 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef mozilla_dom_AnimationEffectTimingReadOnly_h
|
||||
#define mozilla_dom_AnimationEffectTimingReadOnly_h
|
||||
|
||||
#include "js/TypeDecls.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/ErrorResult.h"
|
||||
#include "mozilla/TimingParams.h"
|
||||
#include "mozilla/dom/BindingDeclarations.h"
|
||||
#include "mozilla/dom/UnionTypes.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsWrapperCache.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
|
||||
class AnimationEffectTimingReadOnly : public nsWrapperCache
|
||||
{
|
||||
public:
|
||||
AnimationEffectTimingReadOnly() = default;
|
||||
AnimationEffectTimingReadOnly(nsIDocument* aDocument,
|
||||
const TimingParams& aTiming)
|
||||
: 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 mDocument; }
|
||||
JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
|
||||
|
||||
double Delay() const { return mTiming.Delay().ToMilliseconds(); }
|
||||
double EndDelay() const { return mTiming.EndDelay().ToMilliseconds(); }
|
||||
FillMode Fill() const { return mTiming.Fill(); }
|
||||
double IterationStart() const { return mTiming.IterationStart(); }
|
||||
double Iterations() const { return mTiming.Iterations(); }
|
||||
void GetDuration(OwningUnrestrictedDoubleOrString& aRetVal) const;
|
||||
PlaybackDirection Direction() const { return mTiming.Direction(); }
|
||||
void GetEasing(nsString& aRetVal) const;
|
||||
|
||||
const TimingParams& AsTimingParams() const { return mTiming; }
|
||||
void SetTimingParams(const TimingParams& aTiming) { mTiming = aTiming; }
|
||||
|
||||
virtual void Unlink() { }
|
||||
|
||||
protected:
|
||||
RefPtr<nsIDocument> mDocument;
|
||||
TimingParams mTiming;
|
||||
};
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_dom_AnimationEffectTimingReadOnly_h
|
||||
@@ -73,17 +73,6 @@ KeyframeEffect::KeyframeEffect(
|
||||
const Maybe<OwningAnimationTarget>& aTarget,
|
||||
const TimingParams& aTiming,
|
||||
const KeyframeEffectParams& aOptions)
|
||||
: KeyframeEffect(aDocument, aTarget,
|
||||
new AnimationEffectTiming(aDocument, aTiming, this),
|
||||
aOptions)
|
||||
{
|
||||
}
|
||||
|
||||
KeyframeEffect::KeyframeEffect(
|
||||
nsIDocument* aDocument,
|
||||
const Maybe<OwningAnimationTarget>& aTarget,
|
||||
AnimationEffectTimingReadOnly* aTiming,
|
||||
const KeyframeEffectParams& aOptions)
|
||||
: AnimationEffect(aDocument, aTiming)
|
||||
, mTarget(aTarget)
|
||||
, mEffectOptions(aOptions)
|
||||
@@ -704,7 +693,7 @@ KeyframeEffect::ConstructKeyframeEffect(const GlobalObject& aGlobal,
|
||||
|
||||
// Create a new KeyframeEffect object with aSource's target,
|
||||
// iteration composite operation, composite operation, and spacing mode.
|
||||
// The constructor creates a new AnimationEffectTiming object by
|
||||
// The constructor creates a new AnimationEffect object by
|
||||
// aSource's TimingParams.
|
||||
// Note: we don't need to re-throw exceptions since the value specified on
|
||||
// aSource's timing object can be assumed valid.
|
||||
|
||||
@@ -300,11 +300,6 @@ public:
|
||||
uint64_t aCurrentIterationOnLastCompose);
|
||||
|
||||
protected:
|
||||
KeyframeEffect(nsIDocument* aDocument,
|
||||
const Maybe<OwningAnimationTarget>& aTarget,
|
||||
AnimationEffectTimingReadOnly* aTiming,
|
||||
const KeyframeEffectParams& aOptions);
|
||||
|
||||
~KeyframeEffect() override = default;
|
||||
|
||||
static Maybe<OwningAnimationTarget>
|
||||
|
||||
@@ -13,8 +13,6 @@ MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
|
||||
EXPORTS.mozilla.dom += [
|
||||
'Animation.h',
|
||||
'AnimationEffect.h',
|
||||
'AnimationEffectTiming.h',
|
||||
'AnimationEffectTimingReadOnly.h',
|
||||
'AnimationTimeline.h',
|
||||
'CSSPseudoElement.h',
|
||||
'DocumentTimeline.h',
|
||||
@@ -43,8 +41,6 @@ EXPORTS.mozilla += [
|
||||
UNIFIED_SOURCES += [
|
||||
'Animation.cpp',
|
||||
'AnimationEffect.cpp',
|
||||
'AnimationEffectTiming.cpp',
|
||||
'AnimationEffectTimingReadOnly.cpp',
|
||||
'AnimationEventDispatcher.cpp',
|
||||
'AnimationPerformanceWarning.cpp',
|
||||
'AnimationTimeline.cpp',
|
||||
|
||||
@@ -350,8 +350,8 @@ promise_test(t => {
|
||||
setupTransition(t, 'margin-left 100s 100s');
|
||||
|
||||
return watcher.wait_for('transitionrun').then(evt => {
|
||||
// We can't set the end delay via generated effect timing.
|
||||
// Because CSS-Transition use the AnimationEffectTimingReadOnly.
|
||||
// We can't set the end delay via generated effect timing
|
||||
// because mutating CSS transitions is not specced yet.
|
||||
transition.effect = new KeyframeEffect(div,
|
||||
{ marginleft: [ '0px', '100px' ]},
|
||||
{ duration: 100 * MS_PER_SEC,
|
||||
|
||||
@@ -126,10 +126,6 @@ var interfaceNamesInGlobalScope =
|
||||
{name: "Animation", insecureContext: true},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "AnimationEffect", insecureContext: true, release: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "AnimationEffectTiming", insecureContext: true, release: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "AnimationEffectTimingReadOnly", insecureContext: true, release: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "AnimationEvent", insecureContext: true},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
|
||||
@@ -57,8 +57,6 @@ dictionary ComputedEffectTiming : EffectTiming {
|
||||
|
||||
[Func="nsDocument::IsWebAnimationsEnabled"]
|
||||
interface AnimationEffect {
|
||||
[Cached, Constant]
|
||||
readonly attribute AnimationEffectTimingReadOnly timing;
|
||||
EffectTiming getTiming();
|
||||
[BinaryName="getComputedTimingAsDict"]
|
||||
ComputedEffectTiming getComputedTiming();
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* The origin of this IDL file is
|
||||
* https://drafts.csswg.org/web-animations/#animationeffecttiming
|
||||
*
|
||||
* Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
||||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Func="nsDocument::IsWebAnimationsEnabled"]
|
||||
interface AnimationEffectTiming : AnimationEffectTimingReadOnly {
|
||||
inherit attribute double delay;
|
||||
inherit attribute double endDelay;
|
||||
inherit attribute FillMode fill;
|
||||
[SetterThrows]
|
||||
inherit attribute double iterationStart;
|
||||
[SetterThrows]
|
||||
inherit attribute unrestricted double iterations;
|
||||
[SetterThrows]
|
||||
inherit attribute (unrestricted double or DOMString) duration;
|
||||
inherit attribute PlaybackDirection direction;
|
||||
[SetterThrows]
|
||||
inherit attribute DOMString easing;
|
||||
};
|
||||
@@ -1,23 +0,0 @@
|
||||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* The origin of this IDL file is
|
||||
* https://drafts.csswg.org/web-animations/#animationeffecttimingreadonly
|
||||
*
|
||||
* Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
||||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Func="nsDocument::IsWebAnimationsEnabled"]
|
||||
interface AnimationEffectTimingReadOnly {
|
||||
readonly attribute double delay;
|
||||
readonly attribute double endDelay;
|
||||
readonly attribute FillMode fill;
|
||||
readonly attribute double iterationStart;
|
||||
readonly attribute unrestricted double iterations;
|
||||
readonly attribute (unrestricted double or DOMString) duration;
|
||||
readonly attribute PlaybackDirection direction;
|
||||
readonly attribute DOMString easing;
|
||||
};
|
||||
@@ -365,8 +365,6 @@ WEBIDL_FILES = [
|
||||
'Animatable.webidl',
|
||||
'Animation.webidl',
|
||||
'AnimationEffect.webidl',
|
||||
'AnimationEffectTiming.webidl',
|
||||
'AnimationEffectTimingReadOnly.webidl',
|
||||
'AnimationEvent.webidl',
|
||||
'AnimationTimeline.webidl',
|
||||
'AnonymousContent.webidl',
|
||||
|
||||
Reference in New Issue
Block a user