summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/WebCoreSupport
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-09-21 11:25:56 +0100
committerBen Murdoch <benm@google.com>2011-09-21 11:25:56 +0100
commit259cc8a1c75a1e2f4b1f029296279f210fed6b2c (patch)
treeba02c73d860a1ffeed0ad2e3a6722917b84dc64f /Source/WebKit/android/WebCoreSupport
parent9bb3d7b14004fcacb8d331e482208d5b883803ef (diff)
downloadexternal_webkit-259cc8a1c75a1e2f4b1f029296279f210fed6b2c.zip
external_webkit-259cc8a1c75a1e2f4b1f029296279f210fed6b2c.tar.gz
external_webkit-259cc8a1c75a1e2f4b1f029296279f210fed6b2c.tar.bz2
Post a full WebView inval when we navigate to a new page.
Rather than just posting an inval when we start to load a new page, we should do so on any new intra-page navigation, so that we cover cases that don't originate from Java. For example, when navigating the page cache. Bug: 5266447 Change-Id: I035ddcd9ef7d06a69a8adfe89cba75be7c502edb
Diffstat (limited to 'Source/WebKit/android/WebCoreSupport')
-rw-r--r--Source/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp b/Source/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
index 31eed62..3134a44 100644
--- a/Source/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
+++ b/Source/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
@@ -919,6 +919,10 @@ void FrameLoaderClientAndroid::transitionToCommittedFromCachedFrame(WebCore::Cac
#ifdef ANDROID_META_SUPPORT
platformData->restoreMetadata(m_frame->settings());
#endif
+ WebViewCore* webViewCore = WebViewCore::getWebViewCore(m_frame->view());
+
+ webViewCore->clearContent();
+
m_webFrame->transitionToCommitted(m_frame);
}
@@ -952,6 +956,7 @@ void FrameLoaderClientAndroid::transitionToCommittedForNewPage() {
// Create a new WebFrameView for the new FrameView
WebFrameView* newFrameView = new WebFrameView(m_frame->view(), webViewCore);
+ webViewCore->clearContent();
newFrameView->setLocation(bounds.x(), bounds.y());
newFrameView->setSize(bounds.width(), bounds.height());
newFrameView->setVisibleSize(visBounds.width(), visBounds.height());