Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1335)

Unified Diff: android_webview/java/src/org/chromium/android_webview/AwSettings.java

Issue 144923002: [Android WebView] Inform ContentViewCore about double tap support status (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed assert in the Java getter Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/java/src/org/chromium/android_webview/AwSettings.java
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
index 645ec6a6beb01986456cab9958833ca26d857e52..a7cd1989bb4df690064b538a71371a8dcc9ee63e 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
@@ -194,7 +194,8 @@ public class AwSettings {
}
interface ZoomSupportChangeListener {
- public void onGestureZoomSupportChanged(boolean supportsGestureZoom);
+ public void onGestureZoomSupportChanged(
+ boolean supportsDoubleTapZoom, boolean supportsMultiTouchZoom);
}
public AwSettings(Context context,
@@ -265,7 +266,8 @@ public class AwSettings {
mEventHandler.bindUiThread();
mNativeAwSettings = nativeInit(nativeWebContents);
nativeUpdateEverythingLocked(mNativeAwSettings);
- onGestureZoomSupportChanged(supportsGestureZoomLocked());
+ onGestureZoomSupportChanged(
+ supportsDoubleTapZoomLocked(), supportsMultiTouchZoomLocked());
}
}
}
@@ -1120,6 +1122,8 @@ public class AwSettings {
synchronized (mAwSettingsLock) {
if (mUseWideViewport != use) {
mUseWideViewport = use;
+ onGestureZoomSupportChanged(
+ supportsDoubleTapZoomLocked(), supportsMultiTouchZoomLocked());
mEventHandler.updateWebkitPreferencesLocked();
}
}
@@ -1325,14 +1329,16 @@ public class AwSettings {
return mDefaultVideoPosterURL;
}
- private void onGestureZoomSupportChanged(final boolean supportsGestureZoom) {
+ private void onGestureZoomSupportChanged(
+ final boolean supportsDoubleTapZoom, final boolean supportsMultiTouchZoom) {
// Always post asynchronously here, to avoid doubling back onto the caller.
mEventHandler.maybePostOnUiThread(new Runnable() {
@Override
public void run() {
synchronized (mAwSettingsLock) {
if (mZoomChangeListener != null) {
- mZoomChangeListener.onGestureZoomSupportChanged(supportsGestureZoom);
+ mZoomChangeListener.onGestureZoomSupportChanged(
+ supportsDoubleTapZoom, supportsMultiTouchZoom);
}
}
}
@@ -1346,7 +1352,8 @@ public class AwSettings {
synchronized (mAwSettingsLock) {
if (mSupportZoom != support) {
mSupportZoom = support;
- onGestureZoomSupportChanged(supportsGestureZoomLocked());
+ onGestureZoomSupportChanged(
+ supportsDoubleTapZoomLocked(), supportsMultiTouchZoomLocked());
}
}
}
@@ -1367,7 +1374,8 @@ public class AwSettings {
synchronized (mAwSettingsLock) {
if (mBuiltInZoomControls != enabled) {
mBuiltInZoomControls = enabled;
- onGestureZoomSupportChanged(supportsGestureZoomLocked());
+ onGestureZoomSupportChanged(
+ supportsDoubleTapZoomLocked(), supportsMultiTouchZoomLocked());
}
}
}
@@ -1399,20 +1407,25 @@ public class AwSettings {
}
}
- private boolean supportsGestureZoomLocked() {
+ @CalledByNative
+ private boolean supportsDoubleTapZoomLocked() {
+ return mSupportZoom && mBuiltInZoomControls && mUseWideViewport;
boliu 2014/01/29 17:06:09 assert holdsLock is coming in https://codereview.c
mnaganov (inactive) 2014/01/29 17:48:47 Yes, I'll add it there after this one gets in.
+ }
+
+ private boolean supportsMultiTouchZoomLocked() {
assert Thread.holdsLock(mAwSettingsLock);
return mSupportZoom && mBuiltInZoomControls;
}
- boolean supportsGestureZoom() {
+ boolean supportsMultiTouchZoom() {
synchronized (mAwSettingsLock) {
- return supportsGestureZoomLocked();
+ return supportsMultiTouchZoomLocked();
}
}
boolean shouldDisplayZoomControls() {
synchronized (mAwSettingsLock) {
- return supportsGestureZoomLocked() && mDisplayZoomControls;
+ return supportsMultiTouchZoomLocked() && mDisplayZoomControls;
}
}
« no previous file with comments | « android_webview/java/src/org/chromium/android_webview/AwContents.java ('k') | android_webview/native/aw_settings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698