merge b2g-inbound to mozilla-central
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Tue, 15 Oct 2013 10:27:51 +0200
changeset 164575 febfe3c7732bfb52252e77fa293046ad2e8ec41f
parent 164565 21793156b6eab2ceb759819292c85c8f0342baa2 (current diff)
parent 164574 d7bd3ebe59cf0acf50cbef87522467e4c469c3a3 (diff)
child 164584 4adaad07510456de38e52708915f08e2413fdc84
child 164608 38bf0e99cd7b4fc6b883a3682f1c85e62f7d8c61
child 164647 344307c027959e537e5d669f1d85f33a57097135
child 170426 a7c4c9136d58cb954cb80ec15768f073b264449c
child 177474 703f707d6734ea5143875abd6955dcccf12b0535
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone27.0a1
first release with
nightly linux32
febfe3c7732b / 27.0a1 / 20131015030319 / files
nightly linux64
febfe3c7732b / 27.0a1 / 20131015030319 / files
nightly mac
febfe3c7732b / 27.0a1 / 20131015030319 / files
nightly win32
febfe3c7732b / 27.0a1 / 20131015030319 / files
nightly win64
febfe3c7732b / 27.0a1 / 20131015030319 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
merge b2g-inbound to mozilla-central
--- a/b2g/config/gaia.json
+++ b/b2g/config/gaia.json
@@ -1,4 +1,4 @@
 {
-    "revision": "4a8dcbcad9433e7cb0b619d80b041219e5946130", 
+    "revision": "8c2ad9ad3192687c13efe1eb0cd986d6214b4b5d", 
     "repo_path": "/integration/gaia-central"
 }
--- a/dom/bindings/Exceptions.cpp
+++ b/dom/bindings/Exceptions.cpp
@@ -109,17 +109,26 @@ Throw(JSContext* aCx, nsresult aRv, cons
   }
 
   CycleCollectedJSRuntime* runtime = CycleCollectedJSRuntime::Get();
   nsCOMPtr<nsIException> existingException = runtime->GetPendingException();
   if (existingException) {
     nsresult nr;
     if (NS_SUCCEEDED(existingException->GetResult(&nr)) && 
         aRv == nr) {
-      // Just reuse the existing exception.
+      // Reuse the existing exception.
+
+      // Clear pending exception
+      runtime->SetPendingException(nullptr);
+
+      if (!ThrowExceptionObject(aCx, existingException)) {
+        // If we weren't able to throw an exception we're
+        // most likely out of memory
+        JS_ReportOutOfMemory(aCx);
+      }
       return false;
     }
   }
 
   nsRefPtr<Exception> finalException;
 
   // Do we use DOM exceptions for this error code?
   switch (NS_ERROR_GET_MODULE(aRv)) {