Bug 1318506 - Assign DocGroup for ScriptLoader runnable (r?ehsan) draft
authorBill McCloskey <billm@mozilla.com>
Sun, 13 Nov 2016 10:23:05 -0800
changeset 440698 42a2c209d53a04bb3f9ddae37a18c22ce2b0baff
parent 440697 9c9baf7457f047f7096e84e2afce600ff6d20a86
child 537437 c96b6221421d81f18171ef2bbef9027ce3a3c4a0
push id36297
push userbmo:wmccloskey@mozilla.com
push dateFri, 18 Nov 2016 00:53:48 +0000
reviewersehsan
bugs1318506
milestone53.0a1
Bug 1318506 - Assign DocGroup for ScriptLoader runnable (r?ehsan) MozReview-Commit-ID: G8nQdpq11bR
dom/base/nsScriptLoader.cpp
--- a/dom/base/nsScriptLoader.cpp
+++ b/dom/base/nsScriptLoader.cpp
@@ -2216,18 +2216,23 @@ void
 nsScriptLoader::ProcessPendingRequestsAsync()
 {
   if (mParserBlockingRequest ||
       !mXSLTRequests.isEmpty() ||
       !mLoadedAsyncRequests.isEmpty() ||
       !mNonAsyncExternalScriptInsertedRequests.isEmpty() ||
       !mDeferRequests.isEmpty() ||
       !mPendingChildLoaders.IsEmpty()) {
-    NS_DispatchToCurrentThread(NewRunnableMethod(this,
-                                                 &nsScriptLoader::ProcessPendingRequests));
+    nsCOMPtr<nsIRunnable> task = NewRunnableMethod(this,
+                                                   &nsScriptLoader::ProcessPendingRequests);
+    if (mDocument) {
+      mDocument->Dispatch("ScriptLoader", TaskCategory::Other, task.forget());
+    } else {
+      NS_DispatchToCurrentThread(task.forget());
+    }
   }
 }
 
 void
 nsScriptLoader::ProcessPendingRequests()
 {
   RefPtr<nsScriptLoadRequest> request;