<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[192184] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/192184">192184</a></dd>
<dt>Author</dt> <dd>timothy_horton@apple.com</dd>
<dt>Date</dt> <dd>2015-11-09 16:03:28 -0800 (Mon, 09 Nov 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add drawsBackground SPI to WKWebView, and get rid of drawsTransparentBackground from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=151054
&lt;rdar://problem/22907994&gt;

Reviewed by Simon Fraser.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Deleted.
(WebKit::WebPageCreationParameters::decode): Deleted.
* Shared/WebPageCreationParameters.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView setDrawsTransparentBackground:]):
(-[WKView drawsTransparentBackground]):
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateLayer):
(WebKit::WebViewImpl::setDrawsTransparentBackground): Deleted.
(WebKit::WebViewImpl::drawsTransparentBackground): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Deleted.
(WebKit::WebPageProxy::setDrawsTransparentBackground): Deleted.
(WebKit::WebPageProxy::creationParameters): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::drawsTransparentBackground): Deleted.
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Deleted.
(WebKit::m_shouldDispatchFakeMouseMoveEvents): Deleted.
(WebKit::WebPage::setDrawsTransparentBackground): Deleted.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::drawsTransparentBackground): Deleted.
* WebProcess/WebPage/WebPage.messages.in:
Get rid of drawsTransparentBackground. It doesn't seem like there's any observable
difference in a layer-backed world. WKView's (set)drawsTransparentBackground
will just forward to drawsBackground (inverted).

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webProcessIsResponsive]):
Move _webProcessIsResponsive up with the other cross-platform SPI methods, instead
of below all of the platform-specific SPI methods.

(-[WKWebView _drawsBackground]):
(-[WKWebView _setDrawsBackground:]):
Added.

(-[WKWebView _drawsTransparentBackground]):
(-[WKWebView _setDrawsTransparentBackground:]):
Deleted.

* UIProcess/API/Cocoa/WKWebViewPrivate.h:
Replace drawsTransparentBackground with drawsBackground.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
Use drawsBackground instead, and make sure to set the window background color,
otherwise it might end up being gray anyway!

WebKit1 still doesn't work unless you turn off toolbar blurring, but at least
WebKit2 is working now!</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParameterscpp">trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParametersh">trunk/Source/WebKit2/Shared/WebPageCreationParameters.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewmm">trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebViewImplh">trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebViewImplmm">trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCoordinatedGraphicsWebViewcpp">trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsMiniBrowsermacWK1BrowserWindowControllerm">trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m</a></li>
<li><a href="#trunkToolsMiniBrowsermacWK2BrowserWindowControllerm">trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/ChangeLog        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -1,3 +1,60 @@
</span><ins>+2015-11-09  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+        Add drawsBackground SPI to WKWebView, and get rid of drawsTransparentBackground from WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=151054
+        &lt;rdar://problem/22907994&gt;
+
+        Reviewed by Simon Fraser.
+
+        * Shared/WebPageCreationParameters.cpp:
+        (WebKit::WebPageCreationParameters::encode): Deleted.
+        (WebKit::WebPageCreationParameters::decode): Deleted.
+        * Shared/WebPageCreationParameters.h:
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView setDrawsTransparentBackground:]):
+        (-[WKView drawsTransparentBackground]):
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::updateLayer):
+        (WebKit::WebViewImpl::setDrawsTransparentBackground): Deleted.
+        (WebKit::WebViewImpl::drawsTransparentBackground): Deleted.
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy): Deleted.
+        (WebKit::WebPageProxy::setDrawsTransparentBackground): Deleted.
+        (WebKit::WebPageProxy::creationParameters): Deleted.
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::drawsTransparentBackground): Deleted.
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage): Deleted.
+        (WebKit::m_shouldDispatchFakeMouseMoveEvents): Deleted.
+        (WebKit::WebPage::setDrawsTransparentBackground): Deleted.
+        * WebProcess/WebPage/WebPage.h:
+        (WebKit::WebPage::drawsTransparentBackground): Deleted.
+        * WebProcess/WebPage/WebPage.messages.in:
+        Get rid of drawsTransparentBackground. It doesn't seem like there's any observable
+        difference in a layer-backed world. WKView's (set)drawsTransparentBackground
+        will just forward to drawsBackground (inverted).
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _webProcessIsResponsive]):
+        Move _webProcessIsResponsive up with the other cross-platform SPI methods, instead
+        of below all of the platform-specific SPI methods.
+
+        (-[WKWebView _drawsBackground]):
+        (-[WKWebView _setDrawsBackground:]):
+        Added.
+
+        (-[WKWebView _drawsTransparentBackground]):
+        (-[WKWebView _setDrawsTransparentBackground:]):
+        Deleted.
+        
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        Replace drawsTransparentBackground with drawsBackground.
+
</ins><span class="cx"> 2015-11-09  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: REGRESSION: 2nd level inspector should not be able to dock to first
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParameterscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">     encoder &lt;&lt; pageGroupData;
</span><span class="cx">     encoder &lt;&lt; drawsBackground;
</span><span class="cx">     encoder &lt;&lt; isEditable;
</span><del>-    encoder &lt;&lt; drawsTransparentBackground;
</del><span class="cx">     encoder &lt;&lt; underlayColor;
</span><span class="cx">     encoder &lt;&lt; useFixedLayout;
</span><span class="cx">     encoder &lt;&lt; fixedLayoutSize;
</span><span class="lines">@@ -102,8 +101,6 @@
</span><span class="cx">         return false;
</span><span class="cx">     if (!decoder.decode(parameters.isEditable))
</span><span class="cx">         return false;
</span><del>-    if (!decoder.decode(parameters.drawsTransparentBackground))
-        return false;
</del><span class="cx">     if (!decoder.decode(parameters.underlayColor))
</span><span class="cx">         return false;
</span><span class="cx">     if (!decoder.decode(parameters.useFixedLayout))
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.h (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -65,7 +65,6 @@
</span><span class="cx">     WebPageGroupData pageGroupData;
</span><span class="cx"> 
</span><span class="cx">     bool drawsBackground;
</span><del>-    bool drawsTransparentBackground;
</del><span class="cx">     bool isEditable;
</span><span class="cx"> 
</span><span class="cx">     WebCore::Color underlayColor;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -3522,6 +3522,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (BOOL)_webProcessIsResponsive
+{
+    return _page-&gt;process().responsivenessTimer().isResponsive();
+}
+
</ins><span class="cx"> #pragma mark iOS-specific methods
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -3940,14 +3945,14 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma mark - OS X-specific methods
</span><span class="cx"> 
</span><del>-- (BOOL)_drawsTransparentBackground
</del><ins>+- (BOOL)_drawsBackground
</ins><span class="cx"> {
</span><del>-    return _impl-&gt;drawsTransparentBackground();
</del><ins>+    return _impl-&gt;drawsBackground();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)_setDrawsTransparentBackground:(BOOL)drawsTransparentBackground
</del><ins>+- (void)_setDrawsBackground:(BOOL)drawsBackground
</ins><span class="cx"> {
</span><del>-    _impl-&gt;setDrawsTransparentBackground(drawsTransparentBackground);
</del><ins>+    _impl-&gt;setDrawsBackground(drawsBackground);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="lines">@@ -4031,11 +4036,6 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-- (BOOL)_webProcessIsResponsive
-{
-    return _page-&gt;process().responsivenessTimer().isResponsive();
-}
-
</del><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx"> 
</span><span class="cx"> #else
</span><span class="cx"> @property (readonly) NSColor *_pageExtendedBackgroundColor;
</span><del>-@property (nonatomic, setter=_setDrawsTransparentBackground:) BOOL _drawsTransparentBackground;
</del><ins>+@property (nonatomic, setter=_setDrawsBackground:) BOOL _drawsBackground;
</ins><span class="cx"> @property (nonatomic, setter=_setTopContentInset:) CGFloat _topContentInset;
</span><span class="cx"> 
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101000
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -99,12 +99,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)setDrawsTransparentBackground:(BOOL)drawsTransparentBackground
</span><span class="cx"> {
</span><del>-    _data-&gt;_impl-&gt;setDrawsTransparentBackground(drawsTransparentBackground);
</del><ins>+    _data-&gt;_impl-&gt;setDrawsBackground(!drawsTransparentBackground);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)drawsTransparentBackground
</span><span class="cx"> {
</span><del>-    return _data-&gt;_impl-&gt;drawsTransparentBackground();
</del><ins>+    return !_data-&gt;_impl-&gt;drawsBackground();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)acceptsFirstResponder
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebViewImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -122,8 +122,6 @@
</span><span class="cx"> 
</span><span class="cx">     void setDrawsBackground(bool);
</span><span class="cx">     bool drawsBackground() const;
</span><del>-    void setDrawsTransparentBackground(bool);
-    bool drawsTransparentBackground() const;
</del><span class="cx">     bool isOpaque() const;
</span><span class="cx"> 
</span><span class="cx">     bool acceptsFirstMouse(NSEvent *);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebViewImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -549,16 +549,6 @@
</span><span class="cx">     return m_page-&gt;drawsBackground();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebViewImpl::setDrawsTransparentBackground(bool drawsTransparentBackground)
-{
-    m_page-&gt;setDrawsTransparentBackground(drawsTransparentBackground);
-}
-
-bool WebViewImpl::drawsTransparentBackground() const
-{
-    return m_page-&gt;drawsTransparentBackground();
-}
-
</del><span class="cx"> bool WebViewImpl::isOpaque() const
</span><span class="cx"> {
</span><span class="cx">     return m_page-&gt;drawsBackground();
</span><span class="lines">@@ -825,10 +815,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebViewImpl::updateLayer()
</span><span class="cx"> {
</span><del>-    if (drawsBackground() &amp;&amp; !drawsTransparentBackground())
-        m_view.layer.backgroundColor = CGColorGetConstantColor(kCGColorWhite);
-    else
-        m_view.layer.backgroundColor = CGColorGetConstantColor(kCGColorClear);
</del><ins>+    m_view.layer.backgroundColor = CGColorGetConstantColor(drawsBackground() ? kCGColorWhite : kCGColorClear);
</ins><span class="cx"> 
</span><span class="cx">     // If asynchronous geometry updates have been sent by forceAsyncDrawingAreaSizeUpdate,
</span><span class="cx">     // then subsequent calls to setFrameSize should not result in us waiting for the did
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCoordinatedGraphicsWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -173,12 +173,12 @@
</span><span class="cx"> 
</span><span class="cx"> void WebView::setDrawsTransparentBackground(bool transparentBackground)
</span><span class="cx"> {
</span><del>-    m_page-&gt;setDrawsTransparentBackground(transparentBackground);
</del><ins>+    m_page-&gt;setDrawsBackground(!transparentBackground);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebView::drawsTransparentBackground() const
</span><span class="cx"> {
</span><del>-    return m_page-&gt;drawsTransparentBackground();
</del><ins>+    return !m_page-&gt;drawsBackground();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebView::suspendActiveDOMObjectsAndAnimations()
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -361,7 +361,6 @@
</span><span class="cx">     , m_topContentInset(0)
</span><span class="cx">     , m_layerHostingMode(LayerHostingMode::InProcess)
</span><span class="cx">     , m_drawsBackground(true)
</span><del>-    , m_drawsTransparentBackground(false)
</del><span class="cx">     , m_useFixedLayout(false)
</span><span class="cx">     , m_suppressScrollbarAnimations(false)
</span><span class="cx">     , m_paginationMode(Pagination::Unpaginated)
</span><span class="lines">@@ -1245,17 +1244,6 @@
</span><span class="cx">         m_process-&gt;send(Messages::WebPage::SetDrawsBackground(drawsBackground), m_pageID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::setDrawsTransparentBackground(bool drawsTransparentBackground)
-{
-    if (m_drawsTransparentBackground == drawsTransparentBackground)
-        return;
-
-    m_drawsTransparentBackground = drawsTransparentBackground;
-
-    if (isValid())
-        m_process-&gt;send(Messages::WebPage::SetDrawsTransparentBackground(drawsTransparentBackground), m_pageID);
-}
-
</del><span class="cx"> void WebPageProxy::setTopContentInset(float contentInset)
</span><span class="cx"> {
</span><span class="cx">     if (m_topContentInset == contentInset)
</span><span class="lines">@@ -5094,7 +5082,6 @@
</span><span class="cx">     parameters.pageGroupData = m_pageGroup-&gt;data();
</span><span class="cx">     parameters.drawsBackground = m_drawsBackground;
</span><span class="cx">     parameters.isEditable = m_isEditable;
</span><del>-    parameters.drawsTransparentBackground = m_drawsTransparentBackground;
</del><span class="cx">     parameters.underlayColor = m_underlayColor;
</span><span class="cx">     parameters.useFixedLayout = m_useFixedLayout;
</span><span class="cx">     parameters.fixedLayoutSize = m_fixedLayoutSize;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -385,9 +385,6 @@
</span><span class="cx">     bool drawsBackground() const { return m_drawsBackground; }
</span><span class="cx">     void setDrawsBackground(bool);
</span><span class="cx"> 
</span><del>-    bool drawsTransparentBackground() const { return m_drawsTransparentBackground; }
-    void setDrawsTransparentBackground(bool);
-
</del><span class="cx">     float topContentInset() const { return m_topContentInset; }
</span><span class="cx">     void setTopContentInset(float);
</span><span class="cx"> 
</span><span class="lines">@@ -1599,7 +1596,6 @@
</span><span class="cx">     LayerHostingMode m_layerHostingMode;
</span><span class="cx"> 
</span><span class="cx">     bool m_drawsBackground;
</span><del>-    bool m_drawsTransparentBackground;
</del><span class="cx"> 
</span><span class="cx">     WebCore::Color m_underlayColor;
</span><span class="cx">     WebCore::Color m_pageExtendedBackgroundColor;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -1290,7 +1290,7 @@
</span><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame-&gt;page();
</span><span class="cx"> 
</span><del>-    Color backgroundColor = webPage-&gt;drawsTransparentBackground() ? Color::transparent : Color::white;
</del><ins>+    Color backgroundColor = webPage-&gt;drawsBackground() ? Color::white : Color::transparent;
</ins><span class="cx">     bool isMainFrame = m_frame-&gt;isMainFrame();
</span><span class="cx">     bool isTransparent = !webPage-&gt;drawsBackground();
</span><span class="cx">     bool shouldUseFixedLayout = isMainFrame &amp;&amp; webPage-&gt;useFixedLayout();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -261,7 +261,6 @@
</span><span class="cx">     , m_hasSeenPlugin(false)
</span><span class="cx">     , m_useFixedLayout(false)
</span><span class="cx">     , m_drawsBackground(true)
</span><del>-    , m_drawsTransparentBackground(false)
</del><span class="cx">     , m_isInRedo(false)
</span><span class="cx">     , m_isClosed(false)
</span><span class="cx">     , m_tabToLinks(false)
</span><span class="lines">@@ -436,7 +435,6 @@
</span><span class="cx">     setUseFixedLayout(parameters.useFixedLayout);
</span><span class="cx"> 
</span><span class="cx">     setDrawsBackground(parameters.drawsBackground);
</span><del>-    setDrawsTransparentBackground(parameters.drawsTransparentBackground);
</del><span class="cx"> 
</span><span class="cx">     setUnderlayColor(parameters.underlayColor);
</span><span class="cx"> 
</span><span class="lines">@@ -2264,23 +2262,6 @@
</span><span class="cx">     m_drawingArea-&gt;setNeedsDisplay();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::setDrawsTransparentBackground(bool drawsTransparentBackground)
-{
-    if (m_drawsTransparentBackground == drawsTransparentBackground)
-        return;
-
-    m_drawsTransparentBackground = drawsTransparentBackground;
-
-    Color backgroundColor = drawsTransparentBackground ? Color::transparent : Color::white;
-    for (Frame* coreFrame = m_mainFrame-&gt;coreFrame(); coreFrame; coreFrame = coreFrame-&gt;tree().traverseNext()) {
-        if (FrameView* view = coreFrame-&gt;view())
-            view-&gt;setBaseBackgroundColor(backgroundColor);
-    }
-
-    m_drawingArea-&gt;pageBackgroundTransparencyChanged();
-    m_drawingArea-&gt;setNeedsDisplay();
-}
-
</del><span class="cx"> void WebPage::setTopContentInset(float contentInset)
</span><span class="cx"> {
</span><span class="cx">     if (contentInset == m_page-&gt;topContentInset())
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -400,7 +400,6 @@
</span><span class="cx">     void postInjectedBundleMessage(const String&amp; messageName, const UserData&amp;);
</span><span class="cx"> 
</span><span class="cx">     bool drawsBackground() const { return m_drawsBackground; }
</span><del>-    bool drawsTransparentBackground() const { return m_drawsTransparentBackground; }
</del><span class="cx"> 
</span><span class="cx">     void setUnderlayColor(const WebCore::Color&amp; color) { m_underlayColor = color; }
</span><span class="cx">     WebCore::Color underlayColor() const { return m_underlayColor; }
</span><span class="lines">@@ -1029,7 +1028,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void setDrawsBackground(bool);
</span><del>-    void setDrawsTransparentBackground(bool);
</del><span class="cx"> 
</span><span class="cx">     void setTopContentInset(float);
</span><span class="cx"> 
</span><span class="lines">@@ -1197,7 +1195,6 @@
</span><span class="cx">     bool m_useFixedLayout;
</span><span class="cx"> 
</span><span class="cx">     bool m_drawsBackground;
</span><del>-    bool m_drawsTransparentBackground;
</del><span class="cx"> 
</span><span class="cx">     WebCore::Color m_underlayColor;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx">     SetSessionID(WebCore::SessionID sessionID)
</span><span class="cx"> 
</span><span class="cx">     SetDrawsBackground(bool drawsBackground)
</span><del>-    SetDrawsTransparentBackground(bool drawsTransparentBackground)
</del><span class="cx"> 
</span><span class="cx">     SetTopContentInset(float contentInset)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Tools/ChangeLog        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2015-11-09  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+        Add drawsBackground SPI to WKWebView, and get rid of drawsTransparentBackground from WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=151054
+        &lt;rdar://problem/22907994&gt;
+
+        Reviewed by Simon Fraser.
+
+        * MiniBrowser/mac/WK1BrowserWindowController.m:
+        (-[WK1BrowserWindowController didChangeSettings]):
+        * MiniBrowser/mac/WK2BrowserWindowController.m:
+        (-[WK2BrowserWindowController didChangeSettings]):
+        Use drawsBackground instead, and make sure to set the window background color,
+        otherwise it might end up being gray anyway!
+
+        WebKit1 still doesn't work unless you turn off toolbar blurring, but at least
+        WebKit2 is working now!
+
</ins><span class="cx"> 2015-11-09  Isaac Devine  &lt;isaac@devinesystems.co.nz&gt;
</span><span class="cx"> 
</span><span class="cx">         Fresh checkout fails to build on windows, DumpRenderTree can't find cairo_win.h
</span></span></pre></div>
<a id="trunkToolsMiniBrowsermacWK1BrowserWindowControllerm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -264,6 +264,7 @@
</span><span class="cx">     BOOL useTransparentWindows = settings.useTransparentWindows;
</span><span class="cx">     if (useTransparentWindows != !self.window.isOpaque) {
</span><span class="cx">         [self.window setOpaque:!useTransparentWindows];
</span><ins>+        [self.window setBackgroundColor:[NSColor clearColor]];
</ins><span class="cx">         [self.window setHasShadow:!useTransparentWindows];
</span><span class="cx"> 
</span><span class="cx">         [_webView setBackgroundColor:useTransparentWindows ? [NSColor clearColor] : [NSColor whiteColor]];
</span></span></pre></div>
<a id="trunkToolsMiniBrowsermacWK2BrowserWindowControllerm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m (192183 => 192184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m        2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m        2015-11-10 00:03:28 UTC (rev 192184)
</span><span class="lines">@@ -345,11 +345,12 @@
</span><span class="cx">     preferences._resourceUsageOverlayVisible = settings.resourceUsageOverlayVisible;
</span><span class="cx"> 
</span><span class="cx">     BOOL useTransparentWindows = settings.useTransparentWindows;
</span><del>-    if (useTransparentWindows != _webView._drawsTransparentBackground) {
</del><ins>+    if (useTransparentWindows != !_webView._drawsBackground) {
</ins><span class="cx">         [self.window setOpaque:!useTransparentWindows];
</span><ins>+        [self.window setBackgroundColor:[NSColor clearColor]];
</ins><span class="cx">         [self.window setHasShadow:!useTransparentWindows];
</span><span class="cx"> 
</span><del>-        _webView._drawsTransparentBackground = useTransparentWindows;
</del><ins>+        _webView._drawsBackground = !useTransparentWindows;
</ins><span class="cx"> 
</span><span class="cx">         [self.window display];
</span><span class="cx">     }
</span></span></pre>
</div>
</div>

</body>
</html>