merge b2g-inbound to mozilla-central
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Tue, 15 Oct 2013 10:27:51 +0200
changeset 150760 febfe3c7732bfb52252e77fa293046ad2e8ec41f
parent 150750 21793156b6eab2ceb759819292c85c8f0342baa2 (current diff)
parent 150759 d7bd3ebe59cf0acf50cbef87522467e4c469c3a3 (diff)
child 150769 4adaad07510456de38e52708915f08e2413fdc84
child 150793 38bf0e99cd7b4fc6b883a3682f1c85e62f7d8c61
child 150832 344307c027959e537e5d669f1d85f33a57097135
child 155858 a7c4c9136d58cb954cb80ec15768f073b264449c
child 161464 703f707d6734ea5143875abd6955dcccf12b0535
push id25465
push usercbook@mozilla.com
push dateTue, 15 Oct 2013 08:28:13 +0000
treeherdermozilla-central@febfe3c7732b [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)) {