summaryrefslogtreecommitdiffstats
path: root/Source/WebKit
diff options
context:
space:
mode:
authorShimeng (Simon) Wang <swang@google.com>2011-07-01 11:02:59 -0700
committerShimeng (Simon) Wang <swang@google.com>2011-07-01 11:14:47 -0700
commit8db9f9e9e78973e25adf06722ce8f9126e92c60b (patch)
treeb6d6349c5385749c7e37c07dcfb879ccf9506cfd /Source/WebKit
parentc19571f3ec3bec025fa05e8d81ffd1998324e844 (diff)
downloadexternal_webkit-8db9f9e9e78973e25adf06722ce8f9126e92c60b.zip
external_webkit-8db9f9e9e78973e25adf06722ce8f9126e92c60b.tar.gz
external_webkit-8db9f9e9e78973e25adf06722ce8f9126e92c60b.tar.bz2
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
Diffstat (limited to 'Source/WebKit')
-rw-r--r--Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp16
-rw-r--r--Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.h2
2 files changed, 18 insertions, 0 deletions
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*) {}
diff --git a/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.h b/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.h
index acb7792..36576e6 100644
--- a/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.h
+++ b/Source/WebKit/android/WebCoreSupport/ChromeClientAndroid.h
@@ -124,6 +124,8 @@ namespace android {
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const;
// End methods used by HostWindow.
+ virtual void dispatchViewportDataDidChange(const ViewportArguments&) const;
+
virtual void scrollbarsModeDidChange() const;
virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned int);