Title: [244355] trunk/Source
Revision
244355
Author
[email protected]
Date
2019-04-16 13:32:49 -0700 (Tue, 16 Apr 2019)

Log Message

FrameView base background color always starts white.
https://bugs.webkit.org/show_bug.cgi?id=196976

Reviewed by Beth Dakin.

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::setBaseBackgroundColor): Bail early if the base background
color did not change.

Source/WebKit:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Set m_backgroundColor before calling
WebFrame::createWithCoreMainFrame so the call to create the FrameView
for the empty page in transitionToCommittedForNewPage() gets
the correct color from WebPage.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (244354 => 244355)


--- trunk/Source/WebCore/ChangeLog	2019-04-16 19:53:09 UTC (rev 244354)
+++ trunk/Source/WebCore/ChangeLog	2019-04-16 20:32:49 UTC (rev 244355)
@@ -1,3 +1,14 @@
+2019-04-16  Timothy Hatcher  <[email protected]>
+
+        FrameView base background color always starts white.
+        https://bugs.webkit.org/show_bug.cgi?id=196976
+
+        Reviewed by Beth Dakin.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::setBaseBackgroundColor): Bail early if the base background
+        color did not change.
+
 2019-04-16  Devin Rousso  <[email protected]>
 
         Unprefix -webkit-sticky

Modified: trunk/Source/WebCore/page/FrameView.cpp (244354 => 244355)


--- trunk/Source/WebCore/page/FrameView.cpp	2019-04-16 19:53:09 UTC (rev 244354)
+++ trunk/Source/WebCore/page/FrameView.cpp	2019-04-16 20:32:49 UTC (rev 244355)
@@ -2984,8 +2984,12 @@
 
 void FrameView::setBaseBackgroundColor(const Color& backgroundColor)
 {
-    m_baseBackgroundColor = backgroundColor.isValid() ? backgroundColor : Color::white;
+    Color newBaseBackgroundColor = backgroundColor.isValid() ? backgroundColor : Color::white;
+    if (m_baseBackgroundColor == newBaseBackgroundColor)
+        return;
 
+    m_baseBackgroundColor = newBaseBackgroundColor;
+
     if (!isViewForDocumentInFrame())
         return;
 

Modified: trunk/Source/WebKit/ChangeLog (244354 => 244355)


--- trunk/Source/WebKit/ChangeLog	2019-04-16 19:53:09 UTC (rev 244354)
+++ trunk/Source/WebKit/ChangeLog	2019-04-16 20:32:49 UTC (rev 244355)
@@ -1,3 +1,16 @@
+2019-04-16  Timothy Hatcher  <[email protected]>
+
+        FrameView base background color always starts white.
+        https://bugs.webkit.org/show_bug.cgi?id=196976
+
+        Reviewed by Beth Dakin.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage): Set m_backgroundColor before calling
+        WebFrame::createWithCoreMainFrame so the call to create the FrameView
+        for the empty page in transitionToCommittedForNewPage() gets
+        the correct color from WebPage.
+
 2019-04-16  Ryan Haddad  <[email protected]>
 
         Unreviewed, fix the build with recent SDKs.

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (244354 => 244355)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2019-04-16 19:53:09 UTC (rev 244354)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2019-04-16 20:32:49 UTC (rev 244355)
@@ -497,6 +497,8 @@
 
     updatePreferences(parameters.store);
 
+    m_backgroundColor = parameters.backgroundColor;
+
     m_drawingArea = DrawingArea::create(*this, parameters);
     m_drawingArea->setPaintingEnabled(false);
     m_drawingArea->setShouldScaleViewToFitDocument(parameters.shouldScaleViewToFitDocument);
@@ -670,8 +672,6 @@
 #if USE(AUDIO_SESSION)
     PlatformMediaSessionManager::setShouldDeactivateAudioSession(true);
 #endif
-
-    setBackgroundColor(parameters.backgroundColor);
 }
 
 #if ENABLE(WEB_RTC)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to