Bug 1554664 - Work-around broken border-radius caching. r=mattwoodrow
authorEmilio Cobos Álvarez <emilio@crisal.io>
Mon, 27 May 2019 22:43:32 +0000
changeset 475772 0765f0fa75605655beb1eb98afc7584364efb846
parent 475771 92582acb077d723e32adbda4d368e4a8cca34876
child 475773 a9b24ae04ca3684c286b4c8504d694b2426f255c
push id36072
push userdluca@mozilla.com
push dateTue, 28 May 2019 09:38:00 +0000
treeherdermozilla-central@c6a17846e2d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs1554664, 1554755
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 1554664 - Work-around broken border-radius caching. r=mattwoodrow 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.
   }