| Index: Source/core/dom/DocumentLifecycle.cpp
|
| diff --git a/Source/core/dom/DocumentLifecycle.cpp b/Source/core/dom/DocumentLifecycle.cpp
|
| index fcad629fdd4a5db361405adeadd4348e0a4b0448..b8f0d198767213bc8b2b176e950f81214b2db308 100644
|
| --- a/Source/core/dom/DocumentLifecycle.cpp
|
| +++ b/Source/core/dom/DocumentLifecycle.cpp
|
| @@ -130,6 +130,20 @@ bool DocumentLifecycle::canAdvanceTo(State state) const
|
| if (m_state == CompositingClean) {
|
| if (state == InStyleRecalc)
|
| return true;
|
| + if (state == InCompositingUpdate)
|
| + return true;
|
| + if (state == InPaintInvalidation)
|
| + return true;
|
| + return false;
|
| + }
|
| + if (m_state == InPaintInvalidation) {
|
| + if (state == PaintInvalidationClean)
|
| + return true;
|
| + return false;
|
| + }
|
| + if (m_state == PaintInvalidationClean) {
|
| + if (state == InStyleRecalc)
|
| + return true;
|
| if (state == InPreLayout)
|
| return true;
|
| if (state == InCompositingUpdate)
|
| @@ -144,7 +158,7 @@ bool DocumentLifecycle::canRewindTo(State state) const
|
| // This transition is bogus, but we've whitelisted it anyway.
|
| if (s_deprecatedTransitionStack && m_state == s_deprecatedTransitionStack->from() && state == s_deprecatedTransitionStack->to())
|
| return true;
|
| - return m_state == StyleClean || m_state == AfterPerformLayout || m_state == LayoutClean || m_state == CompositingClean;
|
| + return m_state == StyleClean || m_state == AfterPerformLayout || m_state == LayoutClean || m_state == CompositingClean || m_state == PaintInvalidationClean;
|
| }
|
|
|
| #endif
|
|
|