зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 847bca011f0f (bug 1674776) for causing bug 1682472 on a CLOSED TREE
This commit is contained in:
Родитель
318b79c98d
Коммит
9159ca1ff4
|
@ -49,8 +49,6 @@ DocumentTimeline::DocumentTimeline(Document* aDocument,
|
|||
if (mDocument) {
|
||||
mDocument->Timelines().insertBack(this);
|
||||
}
|
||||
// Ensure mLastRefreshDriverTime is valid.
|
||||
UpdateLastRefreshDriverTime();
|
||||
}
|
||||
|
||||
DocumentTimeline::~DocumentTimeline() {
|
||||
|
@ -99,16 +97,11 @@ bool DocumentTimeline::TracksWallclockTime() const {
|
|||
}
|
||||
|
||||
TimeStamp DocumentTimeline::GetCurrentTimeStamp() const {
|
||||
nsRefreshDriver* refreshDriver = GetRefreshDriver();
|
||||
return refreshDriver ? refreshDriver->MostRecentRefresh()
|
||||
: mLastRefreshDriverTime;
|
||||
}
|
||||
|
||||
void DocumentTimeline::UpdateLastRefreshDriverTime() {
|
||||
nsRefreshDriver* refreshDriver = GetRefreshDriver();
|
||||
TimeStamp refreshTime =
|
||||
refreshDriver ? refreshDriver->MostRecentRefresh() : TimeStamp();
|
||||
|
||||
// Always return the same object to benefit from return-value optimization.
|
||||
TimeStamp result =
|
||||
!refreshTime.IsNull() ? refreshTime : mLastRefreshDriverTime;
|
||||
|
||||
|
@ -132,6 +125,8 @@ void DocumentTimeline::UpdateLastRefreshDriverTime() {
|
|||
if (!refreshTime.IsNull()) {
|
||||
mLastRefreshDriverTime = refreshTime;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Nullable<TimeDuration> DocumentTimeline::ToTimelineTime(
|
||||
|
|
|
@ -68,8 +68,6 @@ class DocumentTimeline final : public AnimationTimeline,
|
|||
|
||||
Document* GetDocument() const override { return mDocument; }
|
||||
|
||||
void UpdateLastRefreshDriverTime();
|
||||
|
||||
protected:
|
||||
TimeStamp GetCurrentTimeStamp() const;
|
||||
nsRefreshDriver* GetRefreshDriver() const;
|
||||
|
@ -83,7 +81,7 @@ class DocumentTimeline final : public AnimationTimeline,
|
|||
// The most recently used refresh driver time. This is used in cases where
|
||||
// we don't have a refresh driver (e.g. because we are in a display:none
|
||||
// iframe).
|
||||
TimeStamp mLastRefreshDriverTime;
|
||||
mutable TimeStamp mLastRefreshDriverTime;
|
||||
bool mIsObservingRefreshDriver;
|
||||
|
||||
TimeDuration mOriginTime;
|
||||
|
|
|
@ -953,12 +953,6 @@ bool EffectCompositor::PreTraverseInSubtree(ServoTraversalFlags aFlags,
|
|||
}
|
||||
}
|
||||
|
||||
if (foundElementsNeedingRestyle) {
|
||||
// Update the last refresh driver time in the timeline to avoid mutating it
|
||||
// during parallel styling.
|
||||
mPresContext->Document()->Timeline()->UpdateLastRefreshDriverTime();
|
||||
}
|
||||
|
||||
return foundElementsNeedingRestyle;
|
||||
}
|
||||
|
||||
|
|
|
@ -266,6 +266,9 @@ extern "C" const char* __tsan_default_suppressions() {
|
|||
"race:VRShMem::PullSystemState\n"
|
||||
"race:VRShMem::PushSystemState\n"
|
||||
|
||||
// Bug 1674776
|
||||
"race:DocumentTimeline::GetCurrentTimeAsDuration\n"
|
||||
|
||||
// Bug 1674835
|
||||
"race:nsHttpTransaction::ReadSegments\n"
|
||||
"race:nsHttpTransaction::SecurityInfo\n"
|
||||
|
|
Загрузка…
Ссылка в новой задаче