Chromium Code Reviews| Index: Source/web/WebViewImpl.cpp |
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
| index e525031ce93686e42f3caf18ad834c0a7c5ad6bd..acc2f8a8a9f01728edfe29b2b62b5b159d4934aa 100644 |
| --- a/Source/web/WebViewImpl.cpp |
| +++ b/Source/web/WebViewImpl.cpp |
| @@ -138,7 +138,6 @@ |
| #include "core/platform/chromium/KeyboardCodes.h" |
| #include "core/platform/chromium/TraceEvent.h" |
| #include "core/platform/chromium/support/WebActiveGestureAnimation.h" |
| -#include "core/platform/graphics/Color.h" |
| #include "core/platform/graphics/ColorSpace.h" |
| #include "core/platform/graphics/Extensions3D.h" |
| #include "core/platform/graphics/FontCache.h" |
| @@ -427,6 +426,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client) |
| , m_showDebugBorders(false) |
| , m_continuousPaintingEnabled(false) |
| , m_showScrollBottleneckRects(false) |
| + , m_baseBackgroundColor(Color::white) |
| { |
| Page::PageClients pageClients; |
| pageClients.chromeClient = &m_chromeClientImpl; |
| @@ -2459,11 +2459,11 @@ WebColor WebViewImpl::backgroundColor() const |
| if (isTransparent()) |
| return Color::transparent; |
| if (!m_page) |
| - return Color::white; |
| + return m_baseBackgroundColor.rgb(); |
| FrameView* view = m_page->mainFrame()->view(); |
| Color backgroundColor = view->documentBackgroundColor(); |
| if (!backgroundColor.isValid()) |
| - return Color::white; |
| + return m_baseBackgroundColor.rgb(); |
| return backgroundColor.rgb(); |
| } |
| @@ -3571,6 +3571,20 @@ void WebViewImpl::setIsTransparent(bool isTransparent) |
| m_isTransparent = isTransparent; |
| } |
| +void WebViewImpl::setBaseBackgroundColor(WebColor color) |
| +{ |
| + Color c(static_cast<RGBA32>(color)); |
| + if (m_baseBackgroundColor == c) |
| + return; |
| + |
| + m_baseBackgroundColor = c; |
| + |
| + m_page->mainFrame()->view()->updateBackgroundRecursively(c, m_isTransparent); |
|
aelias_OOO_until_Jul13
2013/07/23 23:51:28
Here you don't check that the FrameView is non-NUL
|
| + |
| + if (m_layerTreeView) |
| + m_layerTreeView->setBackgroundColor(backgroundColor()); |
| +} |
| + |
| bool WebViewImpl::isTransparent() const |
| { |
| return m_isTransparent; |