mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
600f7a8f53
As the first step in dividing the functionality currently contained in AnimationPlayer between AnimationPlayer and Animation this patch moves the set of keyframe properties to the Animation. These properties are returned from the Animation by a couple of Properties() methods that provide direct access to the member variable. In future it is anticipated that the non-const version will be replaced with an appropriate setter function. This will likely happen when we implement a separate KeyframeEffect object as defined by the Web Animations API. With regards to error checking, nsAnimationManager checks the result of AnimationPlayer::GetSource() and handles the case where it is nullptr. nsTransitionManager, however, simply asserts that GetSource() is never null much like it also asserts that there is only one property with one segment in the animation. Eventually this code should be made more generic which will probably happen in bug 999927.
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
/* vim: set shiftwidth=2 tabstop=8 autoindent cindent expandtab: */
|
|
/* 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/Animation.h"
|
|
#include "mozilla/dom/AnimationBinding.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(Animation, mDocument)
|
|
|
|
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(Animation, AddRef)
|
|
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(Animation, Release)
|
|
|
|
JSObject*
|
|
Animation::WrapObject(JSContext* aCx)
|
|
{
|
|
return AnimationBinding::Wrap(aCx, this);
|
|
}
|
|
|
|
void
|
|
Animation::SetParentTime(Nullable<TimeDuration> aParentTime)
|
|
{
|
|
mParentTime = aParentTime;
|
|
}
|
|
|
|
bool
|
|
Animation::HasAnimationOfProperty(nsCSSProperty aProperty) const
|
|
{
|
|
for (size_t propIdx = 0, propEnd = mProperties.Length();
|
|
propIdx != propEnd; ++propIdx) {
|
|
if (aProperty == mProperties[propIdx].mProperty) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|