mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:18:48 +00:00
import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1161590 - Ignore blocklist preference in nightly and aurora. r=jrmuizelaar (47ec8bee6) - Bug 1162299 - Distinguish between all features and unrecognized feature. r=kats (e9705844f) - Add compositor, layers, and rendering info to nsIGfxInfo. (bug 1179051 part 5, r=mattwoodrow) (b4e6da05f) - Bug 1186002. Avoid testing for recreate on broken drivers. r=dvander (10506f4f2) - Bug 1156407 - part 1 - use static_assert instead of PR_STATIC_ASSERT; r=mccr8 (ff53e05ba) - Bug 1156407 - part 2 - make CALLBACK_TYPE enum a private implementation detail of nsTimerImpl; r=mccr8 (de0cc6527) - Bug 1156407 - part 3 - get rid of NS_NewTimer; r=mccr8 (c598b96e0) - Bug 1095433: fix the race condition in the Task Tracer that crashes processes forked from Nuwa. r=tlee (cffe07827) - Bug 1113562 - Expected delay time of tasks should not be the latency of those kind. r=sinker (f422ae04e) - Bug 1155059: Patch 1&2 - Convert Dispatch() and friends to already_AddRefed<> r=froydnj (2ca9850af) - Bug 1155059: Patch 4 - invoke NS_ASSERTION if DispatchToMainThread fails to get MainThread ptr r=froydnj (651903c22) - Bug 1155059: Patch 3&7 - fix leaks in Promise, ConsoleService and JS Finalize r=froydnj (b57cb08d9) - Bug 1155059: Patch 5 - clean up ServiceWorkers and avoid leaks r=nikhil (666245af8) - Bug 1155059: Patch 6 - fix problems with gfxFontInfoLoader shutdown sequence r=jdaggett (332e8bd76) - Bug 1155059: Patch 8 - Don't leak runnables when MediaCache/FileBlockCache get shut down after XPCOM is in final shutdown r=cpearce (18f36fa25) - Bug 1155059: Patch 9 - Modify DataChannel.cpp to use updated API r=froydnj (c5415703c) - Bug 1176446 - TextureClientD3D11 should take into account the layer backend when allocating a surface. r=bas (3c1b59296) - Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow (624e8107a) - Bug 1176363 - Part 2: Allow mapping of SourceSurfaceRawData from multiple threads. r=bas (38c8363cf) - Fix d3d11 texture sharing checks being preserved across device resets. (bug 1183910 part 6, r=mattwoodrow) (658121c50) - Clear the blur cache after device resets. (bug 1188032, r=bas) (c362b2ec6)
This commit is contained in:
@@ -66,6 +66,13 @@ nsThreadPool::~nsThreadPool()
|
||||
|
||||
nsresult
|
||||
nsThreadPool::PutEvent(nsIRunnable* aEvent)
|
||||
{
|
||||
nsCOMPtr<nsIRunnable> event(aEvent);
|
||||
return PutEvent(event.forget());
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsThreadPool::PutEvent(already_AddRefed<nsIRunnable>&& aEvent)
|
||||
{
|
||||
// Avoid spawning a new thread while holding the event queue lock...
|
||||
|
||||
@@ -89,7 +96,7 @@ nsThreadPool::PutEvent(nsIRunnable* aEvent)
|
||||
spawnThread = true;
|
||||
}
|
||||
|
||||
mEvents.PutEvent(aEvent);
|
||||
mEvents.PutEvent(Move(aEvent));
|
||||
stackSize = mStackSize;
|
||||
}
|
||||
|
||||
@@ -235,9 +242,16 @@ nsThreadPool::Run()
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsThreadPool::Dispatch(nsIRunnable* aEvent, uint32_t aFlags)
|
||||
nsThreadPool::DispatchFromScript(nsIRunnable* aEvent, uint32_t aFlags)
|
||||
{
|
||||
LOG(("THRD-P(%p) dispatch [%p %x]\n", this, aEvent, aFlags));
|
||||
nsCOMPtr<nsIRunnable> event(aEvent);
|
||||
return Dispatch(event.forget(), aFlags);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsThreadPool::Dispatch(already_AddRefed<nsIRunnable>&& aEvent, uint32_t aFlags)
|
||||
{
|
||||
LOG(("THRD-P(%p) dispatch [%p %x]\n", this, /* XXX aEvent*/ nullptr, aFlags));
|
||||
|
||||
if (NS_WARN_IF(mShutdown)) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
@@ -251,7 +265,7 @@ nsThreadPool::Dispatch(nsIRunnable* aEvent, uint32_t aFlags)
|
||||
}
|
||||
|
||||
nsRefPtr<nsThreadSyncDispatch> wrapper =
|
||||
new nsThreadSyncDispatch(thread, aEvent);
|
||||
new nsThreadSyncDispatch(thread, Move(aEvent));
|
||||
PutEvent(wrapper);
|
||||
|
||||
while (wrapper->IsPending()) {
|
||||
@@ -259,7 +273,7 @@ nsThreadPool::Dispatch(nsIRunnable* aEvent, uint32_t aFlags)
|
||||
}
|
||||
} else {
|
||||
NS_ASSERTION(aFlags == NS_DISPATCH_NORMAL, "unexpected dispatch flags");
|
||||
PutEvent(aEvent);
|
||||
PutEvent(Move(aEvent));
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user