32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
From 72cd6e97ae12b89659cd59788bad08cd2f514eff Mon Sep 17 00:00:00 2001
|
||
|
From: Andrea Marchesini <amarchesini@mozilla.com>
|
||
|
Date: Fri, 12 Jun 2015 10:06:19 -0400
|
||
|
Subject: [PATCH] Bug 1169867 - XMLHttpRequest::SendInternal should not unpin
|
||
|
itself when the worker goes away. r=bent, a=abillings
|
||
|
|
||
|
--HG--
|
||
|
extra : transplant_source : %28%B3%BD%9D%E2p%F3%BE%94S%CCD%08%8B%07%8A%CC%17%B0%7B
|
||
|
---
|
||
|
dom/workers/XMLHttpRequest.cpp | 5 +++++
|
||
|
1 file changed, 5 insertions(+)
|
||
|
|
||
|
diff --git a/dom/workers/XMLHttpRequest.cpp b/dom/workers/XMLHttpRequest.cpp
|
||
|
index 5690af5..d425eac 100644
|
||
|
--- a/dom/workers/XMLHttpRequest.cpp
|
||
|
+++ b/dom/workers/XMLHttpRequest.cpp
|
||
|
@@ -1829,6 +1829,11 @@ XMLHttpRequest::SendInternal(const nsAString& aStringBody,
|
||
|
new SendRunnable(mWorkerPrivate, mProxy, aStringBody, Move(aBody),
|
||
|
aClonedObjects, syncLoopTarget, hasUploadListeners);
|
||
|
if (!runnable->Dispatch(cx)) {
|
||
|
+ // Dispatch() may have spun the event loop and we may have already unrooted.
|
||
|
+ // If so we don't want autoUnpin to try again.
|
||
|
+ if (!mRooted) {
|
||
|
+ autoUnpin.Clear();
|
||
|
+ }
|
||
|
aRv.Throw(NS_ERROR_FAILURE);
|
||
|
return;
|
||
|
}
|
||
|
--
|
||
|
2.4.3
|
||
|
|