Bug 1318506 - Assign DocGroup for ScriptLoader runnable (r?ehsan) draft
authorBill McCloskey <billm@mozilla.com>
Sun, 13 Nov 2016 10:23:05 -0800
changeset 444819 353c2bb493fb8c78d9b2ce6b31c44ee50f49d059
parent 444818 c15690cc3eee9bb90cb60bb3292f4b52849b407e
child 538401 3cbc24dd57b4b457b09a0040daab6e1eb436e48c
push id37376
push userbmo:wmccloskey@mozilla.com
push dateMon, 28 Nov 2016 21:43:46 +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
@@ -2217,18 +2217,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;