Backed out changeset e68169412c0b (bug 1431404) for failing mochitest browser chrome at browser/base/content/test/general/browser_datachoices_notification.js on a CLOSED TREE
authorAndreea Pavel <apavel@mozilla.com>
Tue, 13 Feb 2018 03:28:44 +0200
changeset 403506 8f2efa0387b68f054be4fc4fad2f825cca3ff173
parent 403505 04a85bd02d1e98362d6a107fec51ec6f64f9ff74
child 403507 19497c8c5b6f391a3b84734e75dbca461b7d373b
push id33435
push usernerli@mozilla.com
push dateTue, 13 Feb 2018 09:38:55 +0000
treeherdermozilla-central@3b6f8783a240 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1431404
milestone60.0a1
backs oute68169412c0b9058b45b9be98f5556831bbb43b5
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
Backed out changeset e68169412c0b (bug 1431404) for failing mochitest browser chrome at browser/base/content/test/general/browser_datachoices_notification.js on a CLOSED TREE
dom/ipc/TabParent.cpp
ipc/mscom/Interceptor.cpp
--- a/dom/ipc/TabParent.cpp
+++ b/dom/ipc/TabParent.cpp
@@ -968,16 +968,21 @@ TabParent::RecvPDocAccessibleConstructor
       return IPC_FAIL_NO_REASON(this);
     }
 
     doc->SetTopLevel();
     a11y::DocManager::RemoteDocAdded(doc);
 #ifdef XP_WIN
     a11y::WrapperFor(doc)->SetID(aMsaaID);
     MOZ_ASSERT(!aDocCOMProxy.IsNull());
+#ifdef NIGHTLY_BUILD
+    if (aDocCOMProxy.IsNull()) {
+      return IPC_FAIL(this, "Constructing a top-level PDocAccessible with null COM proxy");
+    }
+#endif
 
     RefPtr<IAccessible> proxy(aDocCOMProxy.Get());
     doc->SetCOMInterface(proxy);
     doc->MaybeInitWindowEmulation();
     doc->SendParentCOMProxy();
 #endif
   }
 #endif
--- a/ipc/mscom/Interceptor.cpp
+++ b/ipc/mscom/Interceptor.cpp
@@ -23,22 +23,36 @@
 #include "nsDirectoryServiceDefs.h"
 #include "nsDirectoryServiceUtils.h"
 #include "nsExceptionHandler.h"
 #include "nsPrintfCString.h"
 #include "nsRefPtrHashtable.h"
 #include "nsThreadUtils.h"
 #include "nsXULAppAPI.h"
 
+#if defined(MOZ_DEV_EDITION) || defined(RELEASE_OR_BETA)
+
 #define ENSURE_HR_SUCCEEDED(hr) \
-  MOZ_ASSERT(SUCCEEDED((HRESULT)hr)); \
   if (FAILED((HRESULT)hr)) { \
     return hr; \
   }
 
+#else
+
+#define ENSURE_HR_SUCCEEDED(hr) \
+  if (FAILED((HRESULT)hr)) { \
+    nsPrintfCString location("ENSURE_HR_SUCCEEDED \"%s\": %u", __FILE__, __LINE__); \
+    nsPrintfCString hrAsStr("0x%08X", (HRESULT)hr); \
+    CrashReporter::AnnotateCrashReport(location, hrAsStr); \
+    MOZ_DIAGNOSTIC_ASSERT(SUCCEEDED((HRESULT)hr)); \
+    return hr; \
+  }
+
+#endif // defined(MOZ_DEV_EDITION) || defined(RELEASE_OR_BETA)
+
 namespace mozilla {
 namespace mscom {
 namespace detail {
 
 class LiveSet final
 {
 public:
   LiveSet()