From 8db9f9e9e78973e25adf06722ce8f9126e92c60b Mon Sep 17 00:00:00 2001 From: "Shimeng (Simon) Wang" Date: Fri, 1 Jul 2011 11:02:59 -0700 Subject: Update viewport using webkit's way. The Android's customized way of parsing viewport meta tags is kept intact; while the viewport update notification mechanism is changed to use webkit's way. This gives much better notification of viewport switching. issue: 4975315 Change-Id: I7896b67d684efec015245ee804a9243e72ff0b50 --- .../android/WebCoreSupport/ChromeClientAndroid.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp') diff --git a/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp b/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp index 1fd8ee9..7ff5b19 100644 --- a/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp +++ b/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp @@ -347,6 +347,22 @@ void ChromeClientAndroid::scrollbarsModeDidChange() const notImplemented(); } +void ChromeClientAndroid::dispatchViewportDataDidChange(const ViewportArguments& input) const { +#ifdef ANDROID_META_SUPPORT + const ViewportArguments emptyArgument; + if (input == emptyArgument) { + // Empty Argument is for a page with no viewport meta tag; so reset everything. + m_webFrame->page()->settings()->resetMetadataSettings(); + } + Document* doc = m_webFrame->page()->mainFrame()->document(); + if (!doc->ownerElement()) { + FrameView* view = doc->view(); + if (view) + PlatformBridge::updateViewport(view); + } +#endif +} + void ChromeClientAndroid::mouseDidMoveOverElement(const HitTestResult&, unsigned int) {} void ChromeClientAndroid::setToolTip(const String&, TextDirection) {} void ChromeClientAndroid::print(Frame*) {} -- cgit v1.1