Diff
Modified: trunk/Source/WebKit2/ChangeLog (192183 => 192184)
--- 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)
@@ -1,3 +1,60 @@
+2015-11-09 Tim Horton <timothy_hor...@apple.com>
+
+ Add drawsBackground SPI to WKWebView, and get rid of drawsTransparentBackground from WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=151054
+ <rdar://problem/22907994>
+
+ 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.
+
2015-11-09 Joseph Pecoraro <pecor...@apple.com>
Web Inspector: REGRESSION: 2nd level inspector should not be able to dock to first
Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp (192183 => 192184)
--- 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)
@@ -40,7 +40,6 @@
encoder << pageGroupData;
encoder << drawsBackground;
encoder << isEditable;
- encoder << drawsTransparentBackground;
encoder << underlayColor;
encoder << useFixedLayout;
encoder << fixedLayoutSize;
@@ -102,8 +101,6 @@
return false;
if (!decoder.decode(parameters.isEditable))
return false;
- if (!decoder.decode(parameters.drawsTransparentBackground))
- return false;
if (!decoder.decode(parameters.underlayColor))
return false;
if (!decoder.decode(parameters.useFixedLayout))
Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.h (192183 => 192184)
--- 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)
@@ -65,7 +65,6 @@
WebPageGroupData pageGroupData;
bool drawsBackground;
- bool drawsTransparentBackground;
bool isEditable;
WebCore::Color underlayColor;
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (192183 => 192184)
--- 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)
@@ -3522,6 +3522,11 @@
#endif
}
+- (BOOL)_webProcessIsResponsive
+{
+ return _page->process().responsivenessTimer().isResponsive();
+}
+
#pragma mark iOS-specific methods
#if PLATFORM(IOS)
@@ -3940,14 +3945,14 @@
#pragma mark - OS X-specific methods
-- (BOOL)_drawsTransparentBackground
+- (BOOL)_drawsBackground
{
- return _impl->drawsTransparentBackground();
+ return _impl->drawsBackground();
}
-- (void)_setDrawsTransparentBackground:(BOOL)drawsTransparentBackground
+- (void)_setDrawsBackground:(BOOL)drawsBackground
{
- _impl->setDrawsTransparentBackground(drawsTransparentBackground);
+ _impl->setDrawsBackground(drawsBackground);
}
#if WK_API_ENABLED
@@ -4031,11 +4036,6 @@
#endif
-- (BOOL)_webProcessIsResponsive
-{
- return _page->process().responsivenessTimer().isResponsive();
-}
-
@end
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (192183 => 192184)
--- 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)
@@ -169,7 +169,7 @@
#else
@property (readonly) NSColor *_pageExtendedBackgroundColor;
-@property (nonatomic, setter=_setDrawsTransparentBackground:) BOOL _drawsTransparentBackground;
+@property (nonatomic, setter=_setDrawsBackground:) BOOL _drawsBackground;
@property (nonatomic, setter=_setTopContentInset:) CGFloat _topContentInset;
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (192183 => 192184)
--- 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)
@@ -99,12 +99,12 @@
- (void)setDrawsTransparentBackground:(BOOL)drawsTransparentBackground
{
- _data->_impl->setDrawsTransparentBackground(drawsTransparentBackground);
+ _data->_impl->setDrawsBackground(!drawsTransparentBackground);
}
- (BOOL)drawsTransparentBackground
{
- return _data->_impl->drawsTransparentBackground();
+ return !_data->_impl->drawsBackground();
}
- (BOOL)acceptsFirstResponder
Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h (192183 => 192184)
--- 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)
@@ -122,8 +122,6 @@
void setDrawsBackground(bool);
bool drawsBackground() const;
- void setDrawsTransparentBackground(bool);
- bool drawsTransparentBackground() const;
bool isOpaque() const;
bool acceptsFirstMouse(NSEvent *);
Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (192183 => 192184)
--- 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)
@@ -549,16 +549,6 @@
return m_page->drawsBackground();
}
-void WebViewImpl::setDrawsTransparentBackground(bool drawsTransparentBackground)
-{
- m_page->setDrawsTransparentBackground(drawsTransparentBackground);
-}
-
-bool WebViewImpl::drawsTransparentBackground() const
-{
- return m_page->drawsTransparentBackground();
-}
-
bool WebViewImpl::isOpaque() const
{
return m_page->drawsBackground();
@@ -825,10 +815,7 @@
void WebViewImpl::updateLayer()
{
- if (drawsBackground() && !drawsTransparentBackground())
- m_view.layer.backgroundColor = CGColorGetConstantColor(kCGColorWhite);
- else
- m_view.layer.backgroundColor = CGColorGetConstantColor(kCGColorClear);
+ m_view.layer.backgroundColor = CGColorGetConstantColor(drawsBackground() ? kCGColorWhite : kCGColorClear);
// If asynchronous geometry updates have been sent by forceAsyncDrawingAreaSizeUpdate,
// then subsequent calls to setFrameSize should not result in us waiting for the did
Modified: trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp (192183 => 192184)
--- 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)
@@ -173,12 +173,12 @@
void WebView::setDrawsTransparentBackground(bool transparentBackground)
{
- m_page->setDrawsTransparentBackground(transparentBackground);
+ m_page->setDrawsBackground(!transparentBackground);
}
bool WebView::drawsTransparentBackground() const
{
- return m_page->drawsTransparentBackground();
+ return !m_page->drawsBackground();
}
void WebView::suspendActiveDOMObjectsAndAnimations()
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (192183 => 192184)
--- 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)
@@ -361,7 +361,6 @@
, m_topContentInset(0)
, m_layerHostingMode(LayerHostingMode::InProcess)
, m_drawsBackground(true)
- , m_drawsTransparentBackground(false)
, m_useFixedLayout(false)
, m_suppressScrollbarAnimations(false)
, m_paginationMode(Pagination::Unpaginated)
@@ -1245,17 +1244,6 @@
m_process->send(Messages::WebPage::SetDrawsBackground(drawsBackground), m_pageID);
}
-void WebPageProxy::setDrawsTransparentBackground(bool drawsTransparentBackground)
-{
- if (m_drawsTransparentBackground == drawsTransparentBackground)
- return;
-
- m_drawsTransparentBackground = drawsTransparentBackground;
-
- if (isValid())
- m_process->send(Messages::WebPage::SetDrawsTransparentBackground(drawsTransparentBackground), m_pageID);
-}
-
void WebPageProxy::setTopContentInset(float contentInset)
{
if (m_topContentInset == contentInset)
@@ -5094,7 +5082,6 @@
parameters.pageGroupData = m_pageGroup->data();
parameters.drawsBackground = m_drawsBackground;
parameters.isEditable = m_isEditable;
- parameters.drawsTransparentBackground = m_drawsTransparentBackground;
parameters.underlayColor = m_underlayColor;
parameters.useFixedLayout = m_useFixedLayout;
parameters.fixedLayoutSize = m_fixedLayoutSize;
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (192183 => 192184)
--- 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)
@@ -385,9 +385,6 @@
bool drawsBackground() const { return m_drawsBackground; }
void setDrawsBackground(bool);
- bool drawsTransparentBackground() const { return m_drawsTransparentBackground; }
- void setDrawsTransparentBackground(bool);
-
float topContentInset() const { return m_topContentInset; }
void setTopContentInset(float);
@@ -1599,7 +1596,6 @@
LayerHostingMode m_layerHostingMode;
bool m_drawsBackground;
- bool m_drawsTransparentBackground;
WebCore::Color m_underlayColor;
WebCore::Color m_pageExtendedBackgroundColor;
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (192183 => 192184)
--- 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)
@@ -1290,7 +1290,7 @@
{
WebPage* webPage = m_frame->page();
- Color backgroundColor = webPage->drawsTransparentBackground() ? Color::transparent : Color::white;
+ Color backgroundColor = webPage->drawsBackground() ? Color::white : Color::transparent;
bool isMainFrame = m_frame->isMainFrame();
bool isTransparent = !webPage->drawsBackground();
bool shouldUseFixedLayout = isMainFrame && webPage->useFixedLayout();
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (192183 => 192184)
--- 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)
@@ -261,7 +261,6 @@
, m_hasSeenPlugin(false)
, m_useFixedLayout(false)
, m_drawsBackground(true)
- , m_drawsTransparentBackground(false)
, m_isInRedo(false)
, m_isClosed(false)
, m_tabToLinks(false)
@@ -436,7 +435,6 @@
setUseFixedLayout(parameters.useFixedLayout);
setDrawsBackground(parameters.drawsBackground);
- setDrawsTransparentBackground(parameters.drawsTransparentBackground);
setUnderlayColor(parameters.underlayColor);
@@ -2264,23 +2262,6 @@
m_drawingArea->setNeedsDisplay();
}
-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->coreFrame(); coreFrame; coreFrame = coreFrame->tree().traverseNext()) {
- if (FrameView* view = coreFrame->view())
- view->setBaseBackgroundColor(backgroundColor);
- }
-
- m_drawingArea->pageBackgroundTransparencyChanged();
- m_drawingArea->setNeedsDisplay();
-}
-
void WebPage::setTopContentInset(float contentInset)
{
if (contentInset == m_page->topContentInset())
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (192183 => 192184)
--- 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)
@@ -400,7 +400,6 @@
void postInjectedBundleMessage(const String& messageName, const UserData&);
bool drawsBackground() const { return m_drawsBackground; }
- bool drawsTransparentBackground() const { return m_drawsTransparentBackground; }
void setUnderlayColor(const WebCore::Color& color) { m_underlayColor = color; }
WebCore::Color underlayColor() const { return m_underlayColor; }
@@ -1029,7 +1028,6 @@
#endif
void setDrawsBackground(bool);
- void setDrawsTransparentBackground(bool);
void setTopContentInset(float);
@@ -1197,7 +1195,6 @@
bool m_useFixedLayout;
bool m_drawsBackground;
- bool m_drawsTransparentBackground;
WebCore::Color m_underlayColor;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (192183 => 192184)
--- 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)
@@ -28,7 +28,6 @@
SetSessionID(WebCore::SessionID sessionID)
SetDrawsBackground(bool drawsBackground)
- SetDrawsTransparentBackground(bool drawsTransparentBackground)
SetTopContentInset(float contentInset)
Modified: trunk/Tools/ChangeLog (192183 => 192184)
--- trunk/Tools/ChangeLog 2015-11-10 00:01:24 UTC (rev 192183)
+++ trunk/Tools/ChangeLog 2015-11-10 00:03:28 UTC (rev 192184)
@@ -1,3 +1,21 @@
+2015-11-09 Tim Horton <timothy_hor...@apple.com>
+
+ Add drawsBackground SPI to WKWebView, and get rid of drawsTransparentBackground from WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=151054
+ <rdar://problem/22907994>
+
+ 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!
+
2015-11-09 Isaac Devine <is...@devinesystems.co.nz>
Fresh checkout fails to build on windows, DumpRenderTree can't find cairo_win.h
Modified: trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m (192183 => 192184)
--- 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)
@@ -264,6 +264,7 @@
BOOL useTransparentWindows = settings.useTransparentWindows;
if (useTransparentWindows != !self.window.isOpaque) {
[self.window setOpaque:!useTransparentWindows];
+ [self.window setBackgroundColor:[NSColor clearColor]];
[self.window setHasShadow:!useTransparentWindows];
[_webView setBackgroundColor:useTransparentWindows ? [NSColor clearColor] : [NSColor whiteColor]];
Modified: trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m (192183 => 192184)
--- 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)
@@ -345,11 +345,12 @@
preferences._resourceUsageOverlayVisible = settings.resourceUsageOverlayVisible;
BOOL useTransparentWindows = settings.useTransparentWindows;
- if (useTransparentWindows != _webView._drawsTransparentBackground) {
+ if (useTransparentWindows != !_webView._drawsBackground) {
[self.window setOpaque:!useTransparentWindows];
+ [self.window setBackgroundColor:[NSColor clearColor]];
[self.window setHasShadow:!useTransparentWindows];
- _webView._drawsTransparentBackground = useTransparentWindows;
+ _webView._drawsBackground = !useTransparentWindows;
[self.window display];
}