Bug 1341985 - We call EnsureTimerStarted on the main-thread after the traversal. r?heycam
We end up calling it in SequentialTask for updating CSS animations.
MozReview-Commit-ID: 7ip5XzU0VFb
--- a/layout/base/nsRefreshDriver.cpp
+++ b/layout/base/nsRefreshDriver.cpp
@@ -1322,19 +1322,21 @@ nsRefreshDriver::RemoveImageRequest(imgI
start->mEntries.RemoveEntry(aRequest);
}
}
}
void
nsRefreshDriver::EnsureTimerStarted(EnsureTimerStartedFlags aFlags)
{
- MOZ_ASSERT(!ServoStyleSet::IsInServoTraversal(),
+ // FIXME: Bug 1346065: We should also assert the case where we have
+ // STYLO_THREADS=1.
+ MOZ_ASSERT(!ServoStyleSet::IsInServoTraversal() || NS_IsMainThread(),
"EnsureTimerStarted should be called only when we are not "
- "in servo traversal");
+ "in servo traversal or on the main-thread");
if (mTestControllingRefreshes)
return;
// will it already fire, and no other changes needed?
if (mActiveTimer && !(aFlags & eForceAdjustTimer))
return;