Bug 1560400: Follow-up: Really fix crashtest bustage. r=bustage
☠☠ backed out by f9bf5e4b0b4f ☠ ☠
authorKris Maglione <maglione.k@gmail.com>
Mon, 01 Jul 2019 19:13:59 -0700
changeset 480845 757d285aafdd9df1d939edb8265948277b6bfe79
parent 480844 a7eab5ca061da40d0a4e882064bc90ec257576ac
child 480846 d916d89a5c90af020cd5bc06f744f1ac8814ef1c
push id113575
push usermaglione.k@gmail.com
push dateTue, 02 Jul 2019 02:19:15 +0000
treeherdermozilla-inbound@d916d89a5c90 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbustage
bugs1560400
milestone69.0a1
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
Bug 1560400: Follow-up: Really fix crashtest bustage. r=bustage
dom/base/nsGlobalWindowOuter.cpp
layout/tools/reftest/reftest-content.js
--- a/dom/base/nsGlobalWindowOuter.cpp
+++ b/dom/base/nsGlobalWindowOuter.cpp
@@ -3178,21 +3178,17 @@ bool nsGlobalWindowOuter::Closed() { ret
 
 Nullable<WindowProxyHolder> nsGlobalWindowOuter::IndexedGetterOuter(
     uint32_t aIndex) {
   BrowsingContext* bc = GetBrowsingContext();
   NS_ENSURE_TRUE(bc, nullptr);
 
   const BrowsingContext::Children& children = bc->GetChildren();
   if (aIndex < children.Length()) {
-    BrowsingContext* child = children[aIndex];
-    if (child->IsInProcess()) {
-      child->GetDOMWindow()->EnsureInnerWindow();
-    }
-    return WindowProxyHolder(child);
+    return WindowProxyHolder(children[aIndex]);
   }
   return nullptr;
 }
 
 nsIControllers* nsGlobalWindowOuter::GetControllersOuter(ErrorResult& aError) {
   if (!mControllers) {
     mControllers = new nsXULControllers();
     if (!mControllers) {
--- a/layout/tools/reftest/reftest-content.js
+++ b/layout/tools/reftest/reftest-content.js
@@ -519,17 +519,21 @@ function FlushRendering(aFlushMode) {
         }
 
         if (!afterPaintWasPending && utils.isMozAfterPaintPending) {
             LogInfo("FlushRendering generated paint for window " + win.location.href);
             anyPendingPaintsGeneratedInDescendants = true;
         }
 
         for (var i = 0; i < win.frames.length; ++i) {
-            flushWindow(win.frames[i]);
+            try {
+                flushWindow(win.frames[i]);
+            } catch (e) {
+                Cu.reportError(e);
+            }
         }
     }
 
     flushWindow(content);
 
     if (anyPendingPaintsGeneratedInDescendants &&
         !windowUtils().isMozAfterPaintPending) {
         LogWarning("Internal error: descendant frame generated a MozAfterPaint event, but the root document doesn't have one!");