зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1308039 - Preempt GC to paint (r=mrbkap)
This commit is contained in:
Родитель
387c3c0e70
Коммит
00e4e382d6
|
@ -307,7 +307,7 @@ HangMonitorChild::InterruptCallback()
|
|||
if (forcePaint) {
|
||||
RefPtr<TabChild> tabChild = TabChild::FindTabChild(forcePaintTab);
|
||||
if (tabChild) {
|
||||
JS::AutoAssertOnGC aaogc(mContext);
|
||||
JS::AutoAssertOnGC nogc(mContext);
|
||||
JS::AutoAssertOnBarrier nobarrier(mContext);
|
||||
tabChild->ForcePaint(forcePaintEpoch);
|
||||
}
|
||||
|
@ -390,6 +390,7 @@ HangMonitorChild::RecvForcePaint(const TabId& aTabId, const uint64_t& aLayerObse
|
|||
}
|
||||
|
||||
JS_RequestInterruptCallback(mContext);
|
||||
JS::RequestGCInterruptCallback(mContext);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1188,6 +1189,7 @@ mozilla::CreateHangMonitorChild(mozilla::ipc::Transport* aTransport,
|
|||
|
||||
JSContext* cx = danger::GetJSContext();
|
||||
JS_AddInterruptCallback(cx, InterruptCallback);
|
||||
JS::AddGCInterruptCallback(cx, InterruptCallback);
|
||||
|
||||
ProcessHangMonitor* monitor = ProcessHangMonitor::GetOrCreate();
|
||||
HangMonitorChild* child = new HangMonitorChild(monitor);
|
||||
|
|
Загрузка…
Ссылка в новой задаче