Bug 1469769 - Part 3: css: Replace failing NS_NOTREACHED with NS_ERROR. r?heycam draft
authorChris Peterson <cpeterson@mozilla.com>
Mon, 04 Jun 2018 01:41:20 -0700
changeset 808627 11504ad179370fe453f60e38e9874e29852a8818
parent 808626 599868b974c9e5a6321feaa6b05af12c994bef02
child 808628 b6ea29cce2595d68757589c37a7922b70cfaaf74
push id113444
push usercpeterson@mozilla.com
push dateWed, 20 Jun 2018 07:17:30 +0000
reviewersheycam
bugs1469769, 1221888
milestone62.0a1
Bug 1469769 - Part 3: css: Replace failing NS_NOTREACHED with NS_ERROR. r?heycam I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this SelectionManager assertion fails when running the Linux debug Web platform tests with e10s test-linux32/debug-web-platform-tests-reftests-e10s-6 W-e10s(Wr6). This assertion failure is bug 1221888. Marionette INFO Testing http://web-platform.test:8000/css/CSS2/ui/outline-applies-to-005.xht == http://web-platform.test:8000/css/CSS2/reference/no-red-on-blank-page-ref.xht ###!!! ASSERTION: we should have saved a frame property: 'Error', file /builds/worker/workspace/build/src/layout/painting/nsCSSRendering.cpp, line 1038 This patch DOES NOT fix the cause of the assertion failure (a missing HyperTextAccessible). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE. MozReview-Commit-ID: L26bu4agM6y
layout/painting/nsCSSRendering.cpp
--- a/layout/painting/nsCSSRendering.cpp
+++ b/layout/painting/nsCSSRendering.cpp
@@ -1032,17 +1032,19 @@ nsCSSRendering::CreateBorderRendererWith
 
 static nsRect
 GetOutlineInnerRect(nsIFrame* aFrame)
 {
   nsRect* savedOutlineInnerRect =
     aFrame->GetProperty(nsIFrame::OutlineInnerRectProperty());
   if (savedOutlineInnerRect)
     return *savedOutlineInnerRect;
-  NS_NOTREACHED("we should have saved a frame property");
+
+  // FIXME bug 1221888
+  NS_ERROR("we should have saved a frame property");
   return nsRect(nsPoint(0, 0), aFrame->GetSize());
 }
 
 Maybe<nsCSSBorderRenderer>
 nsCSSRendering::CreateBorderRendererForOutline(nsPresContext* aPresContext,
                                                gfxContext* aRenderingContext,
                                                nsIFrame* aForFrame,
                                                const nsRect& aDirtyRect,