From cb86952d254446a800421b5804f886f8d87cd875 Mon Sep 17 00:00:00 2001 From: Grace Kloba Date: Wed, 8 Jul 2009 17:32:41 -0700 Subject: Fix #1896846. Move reset the meta data from canHandleRequest to transitionToCommittedForNewPage as canHandleRequest may not trigger to go to a new page. For example, if a link is to open in a new window, even canHandleRequest returns true, the current page doesn't switch to a new page. So we should not reset the meta data. --- .../android/WebCoreSupport/FrameLoaderClientAndroid.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp') diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp index d8d45fe..5a07278 100644 --- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp +++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp @@ -643,15 +643,7 @@ bool FrameLoaderClientAndroid::canHandleRequest(const ResourceRequest& request) m_frame->tree() && m_frame->tree()->parent()) return true; - if (m_webFrame->canHandleRequest(request)) { -#ifdef ANDROID_META_SUPPORT - // reset metadata settings for the top frame as they are not preserved cross page - if (!m_frame->tree()->parent() && m_frame->settings()) - m_frame->settings()->resetMetadataSettings(); -#endif - return true; - } - return false; + return m_webFrame->canHandleRequest(request); } bool FrameLoaderClientAndroid::canShowMIMEType(const String& mimeType) const { @@ -773,6 +765,13 @@ void FrameLoaderClientAndroid::transitionToCommittedFromCachedFrame(WebCore::Cac void FrameLoaderClientAndroid::transitionToCommittedForNewPage() { ASSERT(m_frame); + +#ifdef ANDROID_META_SUPPORT + // reset metadata settings for the main frame as they are not preserved cross page + if (m_frame == m_frame->page()->mainFrame() && m_frame->settings()) + m_frame->settings()->resetMetadataSettings(); +#endif + if (m_frame->settings() && !m_frame->settings()->usesPageCache()) { m_webFrame->transitionToCommitted(m_frame); return; -- cgit v1.1