Backout 25c589434eae (bug 817731) for xpcshell timeouts on Windows
authorEd Morley <emorley@mozilla.com>
Thu, 13 Dec 2012 17:40:23 +0000
changeset 125046 3e3800d9e4b67eb1c62da4fc96aa4cbd4bde54d6
parent 125045 021a624ea78ecc94177156d48a10f1d741a91768
child 125047 049f91872fbfbbb241f65ca581988a2ed0e6f2f8
push id2151
push userlsblakk@mozilla.com
push dateTue, 19 Feb 2013 18:06:57 +0000
treeherdermozilla-beta@4952e88741ec [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs817731
milestone20.0a1
backs out25c589434eaee833c3c090e8a44a63140a2b1765
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backout 25c589434eae (bug 817731) for xpcshell timeouts on Windows
content/base/src/nsInProcessTabChildGlobal.cpp
--- a/content/base/src/nsInProcessTabChildGlobal.cpp
+++ b/content/base/src/nsInProcessTabChildGlobal.cpp
@@ -45,31 +45,26 @@ nsInProcessTabChildGlobal::DoSendSyncMes
 }
 
 class nsAsyncMessageToParent : public nsRunnable
 {
 public:
   nsAsyncMessageToParent(nsInProcessTabChildGlobal* aTabChild,
                          const nsAString& aMessage,
                          const StructuredCloneData& aData)
-    : mTabChild(aTabChild), mMessage(aMessage), mRun(false)
+    : mTabChild(aTabChild), mMessage(aMessage)
   {
     if (aData.mDataLength && !mData.copy(aData.mData, aData.mDataLength)) {
       NS_RUNTIMEABORT("OOM");
     }
     mClosure = aData.mClosure;
   }
 
   NS_IMETHOD Run()
   {
-    if (mRun) {
-      return NS_OK;
-    }
-
-    mRun = true;
     mTabChild->mASyncMessages.RemoveElement(this);
     if (mTabChild->mChromeMessageManager) {
       StructuredCloneData data;
       data.mData = mData.data();
       data.mDataLength = mData.nbytes();
       data.mClosure = mClosure;
 
       nsRefPtr<nsFrameMessageManager> mm = mTabChild->mChromeMessageManager;
@@ -77,19 +72,16 @@ public:
                          nullptr, nullptr, nullptr);
     }
     return NS_OK;
   }
   nsRefPtr<nsInProcessTabChildGlobal> mTabChild;
   nsString mMessage;
   JSAutoStructuredCloneBuffer mData;
   StructuredCloneClosure mClosure;
-  // True if this runnable has already been called. This can happen if DoSendSyncMessage
-  // is called while waiting for an asynchronous message send.
-  bool mRun;
 };
 
 bool
 nsInProcessTabChildGlobal::DoSendAsyncMessage(const nsAString& aMessage,
                                               const StructuredCloneData& aData)
 {
   nsCOMPtr<nsIRunnable> ev =
     new nsAsyncMessageToParent(this, aMessage, aData);