Bug 1554664 - Work-around broken border-radius caching. r=mattwoodrow a=jcristau
authorEmilio Cobos Álvarez <emilio@crisal.io>
Mon, 27 May 2019 22:43:32 +0000
changeset 533446 0a91cbfe3b3fa04f0af0adcaff33c8dc3b4a345d
parent 533445 bc9fed12c6e8f969337d00af730585d5590ce302
child 533447 54457d76cd8cc055a48a4955822e937511e1b460
push id11322
push usermalexandru@mozilla.com
push dateTue, 28 May 2019 11:39:39 +0000
treeherdermozilla-beta@0a91cbfe3b3f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow, jcristau
bugs1554664, 1554755
milestone68.0
Bug 1554664 - Work-around broken border-radius caching. r=mattwoodrow a=jcristau This is just a super-low-risk work-around for bug 1554755 that we can uplift to beta, I'll follow-up in a bit in there with a fix and a test. The reason my patch breaks this is because my patch stopped making images reframe. The reframe was of course a very expensive way of invalidating that bit ;) Differential Revision: https://phabricator.services.mozilla.com/D32749
layout/generic/nsImageFrame.cpp
--- a/layout/generic/nsImageFrame.cpp
+++ b/layout/generic/nsImageFrame.cpp
@@ -828,16 +828,18 @@ void nsImageFrame::NotifyNewCurrentReque
       } else {
         // We've already gotten the initial reflow, and our size hasn't changed,
         // so we're ready to request a decode.
         MaybeDecodeForPredictedSize();
       }
     }
     // Update border+content to account for image change
     InvalidateFrame();
+    // FIXME(emilio): This just workarounds bug 1554755.
+    mMayHaveRoundedCorners = true;
   }
 }
 
 void nsImageFrame::MaybeDecodeForPredictedSize() {
   // Check that we're ready to decode.
   if (!mImage) {
     return;  // Nothing to do yet.
   }