Bug 1494430 - Handle torn-down Render thread when getting memory reports. r=jrmuizel

Differential Revision: https://phabricator.services.mozilla.com/D6994

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Bobby Holley 2018-09-26 20:44:59 +00:00
Родитель f18ceae200
Коммит 58c4192a77
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -159,7 +159,13 @@ RenderThread::AccumulateMemoryReport(MemoryReport aInitial)
{ {
RefPtr<MemoryReportPromise::Private> p = new MemoryReportPromise::Private(__func__); RefPtr<MemoryReportPromise::Private> p = new MemoryReportPromise::Private(__func__);
MOZ_ASSERT(!IsInRenderThread()); MOZ_ASSERT(!IsInRenderThread());
MOZ_ASSERT(Get()); if (!Get() || !Get()->Loop()) {
// Seems to happen sometimes, see bug 1494430.
NS_WARNING("No render thread, returning empty memory report");
p->Resolve(aInitial, __func__);
return p;
}
Get()->Loop()->PostTask( Get()->Loop()->PostTask(
NewRunnableMethod<MemoryReport, RefPtr<MemoryReportPromise::Private>>( NewRunnableMethod<MemoryReport, RefPtr<MemoryReportPromise::Private>>(
"wr::RenderThread::DoAccumulateMemoryReport", "wr::RenderThread::DoAccumulateMemoryReport",