We fixed a bug where newly created CSS animations and transitions would run, even when the WebView had explicitly suspended animations. It turns out that some content in some clients actually relied on this behaviour :( Add a flag to toggle back to the old buggy operation.
<rdar://problem/14511404>
Created attachment 207566 [details] Patch
Comment on attachment 207566 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=207566&action=review > Source/WebCore/ChangeLog:21 > + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false. > + (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Expose getter. > + (WebCore::AnimationControllerPrivate::setAllowNewAnimationsWhileSuspended): Expose setter. > + (WebCore::AnimationController::allowNewAnimationsWhileSuspended): "Public" getter. > + (WebCore::AnimationController::setAllowNewAnimationsWhileSuspended): "Public" setter. Are these up-to-date with the code changes? > Source/WebCore/page/animation/AnimationController.h:81 > + bool allowNewAnimationsWhileSuspended() const; > + void setAllowNewAnimationsWhileSuspended(bool); allow -> allows > Source/WebCore/page/animation/AnimationControllerPrivate.h:114 > + bool allowNewAnimationsWhileSuspended() const { return m_allowNewAnimationsWhileSuspended; } > + void setAllowNewAnimationsWhileSuspended(bool); allow -> allows > Source/WebCore/page/animation/AnimationControllerPrivate.h:148 > + bool m_allowNewAnimationsWhileSuspended; allows. might want to add a comment to explain why this is here. > Source/WebKit/mac/WebView/WebViewPrivate.h:568 > +- (BOOL)allowNewCSSAnimationsWhileSuspended; > +- (void)setAllowNewCSSAnimationsWhileSuspended:(BOOL)allowed; allows
(In reply to comment #3) > (From update of attachment 207566 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=207566&action=review > > > Source/WebCore/ChangeLog:21 > > + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false. > > + (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Expose getter. > > + (WebCore::AnimationControllerPrivate::setAllowNewAnimationsWhileSuspended): Expose setter. > > + (WebCore::AnimationController::allowNewAnimationsWhileSuspended): "Public" getter. > > + (WebCore::AnimationController::setAllowNewAnimationsWhileSuspended): "Public" setter. > > Are these up-to-date with the code changes? Yes, other than a little error :) Made other changes as requested.
Committed r153396: <http://trac.webkit.org/changeset/153396>