mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-05 05:30:29 +00:00
Bug 1005409 - Move the releasing of shared frame metrics to always run on the compositor thread. r=botond
This commit is contained in:
parent
8d0cf46911
commit
2e664ce066
@ -504,16 +504,6 @@ AsyncPanZoomController::AsyncPanZoomController(uint64_t aLayersId,
|
||||
}
|
||||
|
||||
AsyncPanZoomController::~AsyncPanZoomController() {
|
||||
PCompositorParent* compositor = GetSharedFrameMetricsCompositor();
|
||||
|
||||
// Only send the release message if the SharedFrameMetrics has been created.
|
||||
if (compositor && mSharedFrameMetricsBuffer) {
|
||||
unused << compositor->SendReleaseSharedCompositorFrameMetrics(mFrameMetrics.GetScrollId(), mAPZCId);
|
||||
}
|
||||
|
||||
delete mSharedFrameMetricsBuffer;
|
||||
delete mSharedLock;
|
||||
|
||||
MOZ_COUNT_DTOR(AsyncPanZoomController);
|
||||
}
|
||||
|
||||
@ -558,6 +548,20 @@ AsyncPanZoomController::Destroy()
|
||||
mLastChild = nullptr;
|
||||
mParent = nullptr;
|
||||
mTreeManager = nullptr;
|
||||
|
||||
PCompositorParent* compositor = GetSharedFrameMetricsCompositor();
|
||||
// Only send the release message if the SharedFrameMetrics has been created.
|
||||
if (compositor && mSharedFrameMetricsBuffer) {
|
||||
unused << compositor->SendReleaseSharedCompositorFrameMetrics(mFrameMetrics.GetScrollId(), mAPZCId);
|
||||
}
|
||||
|
||||
{ // scope the lock
|
||||
ReentrantMonitorAutoEnter lock(mMonitor);
|
||||
delete mSharedFrameMetricsBuffer;
|
||||
mSharedFrameMetricsBuffer = nullptr;
|
||||
delete mSharedLock;
|
||||
mSharedLock = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
|
Loading…
x
Reference in New Issue
Block a user