mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 09:19:28 +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() {
|
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);
|
MOZ_COUNT_DTOR(AsyncPanZoomController);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -558,6 +548,20 @@ AsyncPanZoomController::Destroy()
|
|||||||
mLastChild = nullptr;
|
mLastChild = nullptr;
|
||||||
mParent = nullptr;
|
mParent = nullptr;
|
||||||
mTreeManager = 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
|
bool
|
||||||
|
Loading…
x
Reference in New Issue
Block a user