Title: [187039] trunk/Source
Revision
187039
Author
timothy_hor...@apple.com
Date
2015-07-20 15:33:16 -0700 (Mon, 20 Jul 2015)

Log Message

REGRESSION (r174287): Flash of black when opening a new web view or navigating to a new page
https://bugs.webkit.org/show_bug.cgi?id=147127
<rdar://problem/21474317>

Reviewed by Simon Fraser.

* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::snapshotAtSize):
Avoid using an invalid documentBackgroundColor, fall back to baseBackgroundColor
like we did before r174287.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (187038 => 187039)


--- trunk/Source/WebCore/ChangeLog	2015-07-20 21:48:04 UTC (rev 187038)
+++ trunk/Source/WebCore/ChangeLog	2015-07-20 22:33:16 UTC (rev 187039)
@@ -1,3 +1,16 @@
+2015-07-20  Tim Horton  <timothy_hor...@apple.com>
+
+        REGRESSION (r174287): Flash of black when opening a new web view or navigating to a new page
+        https://bugs.webkit.org/show_bug.cgi?id=147127
+        <rdar://problem/21474317>
+
+        Reviewed by Simon Fraser.
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::paintBoxDecorations):
+        Avoid using an invalid documentBackgroundColor, fall back to baseBackgroundColor
+        like we did before r174287.
+
 2015-07-20  Alex Christensen  <achristen...@webkit.org>
 
         [Win] Unreviewed build fix after r187022.

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (187038 => 187039)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2015-07-20 21:48:04 UTC (rev 187038)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2015-07-20 22:33:16 UTC (rev 187039)
@@ -612,7 +612,8 @@
     if (frameView().isTransparent()) // FIXME: This needs to be dynamic. We should be able to go back to blitting if we ever stop being transparent.
         frameView().setCannotBlitToWindow(); // The parent must show behind the child.
     else {
-        Color backgroundColor = backgroundShouldExtendBeyondPage ? frameView().documentBackgroundColor() : frameView().baseBackgroundColor();
+        Color documentBackgroundColor = frameView().documentBackgroundColor();
+        Color backgroundColor = (backgroundShouldExtendBeyondPage && documentBackgroundColor.isValid()) ? documentBackgroundColor : frameView().baseBackgroundColor();
         if (backgroundColor.alpha()) {
             CompositeOperator previousOperator = paintInfo.context->compositeOperation();
             paintInfo.context->setCompositeOperation(CompositeCopy);

Modified: trunk/Source/WebKit2/ChangeLog (187038 => 187039)


--- trunk/Source/WebKit2/ChangeLog	2015-07-20 21:48:04 UTC (rev 187038)
+++ trunk/Source/WebKit2/ChangeLog	2015-07-20 22:33:16 UTC (rev 187039)
@@ -1,3 +1,16 @@
+2015-07-20  Tim Horton  <timothy_hor...@apple.com>
+
+        REGRESSION (r174287): Flash of black when opening a new web view or navigating to a new page
+        https://bugs.webkit.org/show_bug.cgi?id=147127
+        <rdar://problem/21474317>
+
+        Reviewed by Simon Fraser.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::snapshotAtSize):
+        Avoid using an invalid documentBackgroundColor, fall back to baseBackgroundColor
+        like we did before r174287.
+
 2015-07-20  Michael Catanzaro  <mcatanz...@igalia.com>
 
         [Seccomp] Should be easier to debug blocked syscalls

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (187038 => 187039)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-07-20 21:48:04 UTC (rev 187038)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-07-20 22:33:16 UTC (rev 187039)
@@ -1731,7 +1731,8 @@
 
     auto graphicsContext = snapshot->bitmap()->createGraphicsContext();
 
-    Color backgroundColor = coreFrame->settings().backgroundShouldExtendBeyondPage() ? frameView->documentBackgroundColor() : frameView->baseBackgroundColor();
+    Color documentBackgroundColor = frameView->documentBackgroundColor();
+    Color backgroundColor = (coreFrame->settings().backgroundShouldExtendBeyondPage() && documentBackgroundColor.isValid()) ? documentBackgroundColor : frameView->baseBackgroundColor();
     graphicsContext->fillRect(IntRect(IntPoint(), bitmapSize), backgroundColor, ColorSpaceDeviceRGB);
 
     if (!(options & SnapshotOptionsExcludeDeviceScaleFactor)) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to