diff options
author | Kristian Monsen <kristianm@google.com> | 2010-03-15 15:41:48 +0000 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2010-03-17 11:21:19 +0000 |
commit | bf8327f47de10e9f3d583f226176772f8662b830 (patch) | |
tree | 720b434aa400c13441b260fb7706bc7558aa2dc8 /WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp | |
parent | b0c2f7b33106420933e04a3b0a69ca4d1d1b3fd8 (diff) | |
download | external_webkit-bf8327f47de10e9f3d583f226176772f8662b830.zip external_webkit-bf8327f47de10e9f3d583f226176772f8662b830.tar.gz external_webkit-bf8327f47de10e9f3d583f226176772f8662b830.tar.bz2 |
Fix for Bug 2486292, transparent backgrounds not transparent in Froyo.
Recreating the transparent and color of old window when creating a new one, and setting transparent if all the colors are 0.
Updated patch to fix comments from Grace.
Change-Id: I934401630fd7041e7e4ae1cbeeaa198271025c87
Diffstat (limited to 'WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp')
-rw-r--r-- | WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp index 60598f8..10cd0b3 100644 --- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp +++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp @@ -891,11 +891,12 @@ void FrameLoaderClientAndroid::transitionToCommittedForNewPage() { Retain(webViewCore); // Save the old WebFrameView's bounds and apply them to the new WebFrameView - WebFrameView* oldFrameView = static_cast<WebFrameView*> (m_frame->view()->platformWidget()); - IntRect bounds = oldFrameView->getBounds(); - IntRect windowBounds = oldFrameView->getWindowBounds(); - // we only support opaque, white background for now - m_frame->createView(bounds.size(), Color::white, false, IntSize(), false); + WebFrameView* oldWebFrameView = static_cast<WebFrameView*> (m_frame->view()->platformWidget()); + IntRect bounds = oldWebFrameView->getBounds(); + IntRect windowBounds = oldWebFrameView->getWindowBounds(); + WebCore::FrameView* oldFrameView = oldWebFrameView->view(); + m_frame->createView(bounds.size(), oldFrameView->baseBackgroundColor(), oldFrameView->isTransparent(), IntSize(), false); + // Create a new WebFrameView for the new FrameView WebFrameView* newFrameView = new WebFrameView(m_frame->view(), webViewCore); newFrameView->setLocation(bounds.x(), bounds.y()); |