merge b2g-inbound to mozilla-central
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Tue, 15 Oct 2013 10:27:51 +0200
changeset 165527 febfe3c7732bfb52252e77fa293046ad2e8ec41f
parent 165517 21793156b6eab2ceb759819292c85c8f0342baa2 (current diff)
parent 165526 d7bd3ebe59cf0acf50cbef87522467e4c469c3a3 (diff)
child 165536 4adaad07510456de38e52708915f08e2413fdc84
child 165560 38bf0e99cd7b4fc6b883a3682f1c85e62f7d8c61
child 165599 344307c027959e537e5d669f1d85f33a57097135
child 171400 a7c4c9136d58cb954cb80ec15768f073b264449c
child 178468 703f707d6734ea5143875abd6955dcccf12b0535
push id428
push userbbajaj@mozilla.com
push dateTue, 28 Jan 2014 00:16:25 +0000
treeherdermozilla-release@cd72a7ff3a75 [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)) {