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

Side by Side Diff: android_webview/java/src/org/chromium/android_webview/AwSettings.java

Issue 23346003: [Android] Add mechanism to disable double tap/drag zooming. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: joth comment. Created 7 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.android_webview; 5 package org.chromium.android_webview;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.os.Handler; 8 import android.os.Handler;
9 import android.os.Looper; 9 import android.os.Looper;
10 import android.os.Message; 10 import android.os.Message;
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 try { 162 try {
163 while (mIsUpdateWebkitPrefsMessagePending) { 163 while (mIsUpdateWebkitPrefsMessagePending) {
164 mAwSettingsLock.wait(); 164 mAwSettingsLock.wait();
165 } 165 }
166 } catch (InterruptedException e) {} 166 } catch (InterruptedException e) {}
167 } 167 }
168 } 168 }
169 } 169 }
170 170
171 interface ZoomSupportChangeListener { 171 interface ZoomSupportChangeListener {
172 public void onMultiTouchZoomSupportChanged(boolean supportsMultiTouchZoo m); 172 public void onGestureZoomSupportChanged(boolean supportsGestureZoom);
173 } 173 }
174 174
175 public AwSettings(Context context, boolean hasInternetPermission, 175 public AwSettings(Context context, boolean hasInternetPermission,
176 ZoomSupportChangeListener zoomChangeListener, 176 ZoomSupportChangeListener zoomChangeListener,
177 boolean isAccessFromFileURLsGrantedByDefault, 177 boolean isAccessFromFileURLsGrantedByDefault,
178 double dipScale) { 178 double dipScale) {
179 ThreadUtils.assertOnUiThread(); 179 ThreadUtils.assertOnUiThread();
180 synchronized (mAwSettingsLock) { 180 synchronized (mAwSettingsLock) {
181 mHasInternetPermission = hasInternetPermission; 181 mHasInternetPermission = hasInternetPermission;
182 mZoomChangeListener = zoomChangeListener; 182 mZoomChangeListener = zoomChangeListener;
183 mDIPScale = dipScale; 183 mDIPScale = dipScale;
184 mEventHandler = new EventHandler(); 184 mEventHandler = new EventHandler();
185 mBlockNetworkLoads = !hasInternetPermission; 185 mBlockNetworkLoads = !hasInternetPermission;
186 186
187 if (isAccessFromFileURLsGrantedByDefault) { 187 if (isAccessFromFileURLsGrantedByDefault) {
188 mAllowUniversalAccessFromFileURLs = true; 188 mAllowUniversalAccessFromFileURLs = true;
189 mAllowFileAccessFromFileURLs = true; 189 mAllowFileAccessFromFileURLs = true;
190 } 190 }
191 191
192 mUserAgent = LazyDefaultUserAgent.sInstance; 192 mUserAgent = LazyDefaultUserAgent.sInstance;
193 onMultiTouchZoomSupportChanged(supportsMultiTouchZoomLocked()); 193 onGestureZoomSupportChanged(supportsGestureZoomLocked());
194 194
195 // Respect the system setting for password echoing. 195 // Respect the system setting for password echoing.
196 mPasswordEchoEnabled = Settings.System.getInt(context.getContentReso lver(), 196 mPasswordEchoEnabled = Settings.System.getInt(context.getContentReso lver(),
197 Settings.System.TEXT_SHOW_PASSWORD, 1) == 1; 197 Settings.System.TEXT_SHOW_PASSWORD, 1) == 1;
198 } 198 }
199 // Defer initializing the native side until a native WebContents instanc e is set. 199 // Defer initializing the native side until a native WebContents instanc e is set.
200 } 200 }
201 201
202 @CalledByNative 202 @CalledByNative
203 private void nativeAwSettingsGone(int nativeAwSettings) { 203 private void nativeAwSettingsGone(int nativeAwSettings) {
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 synchronized (mAwSettingsLock) { 1242 synchronized (mAwSettingsLock) {
1243 return mDefaultVideoPosterURL; 1243 return mDefaultVideoPosterURL;
1244 } 1244 }
1245 } 1245 }
1246 1246
1247 @CalledByNative 1247 @CalledByNative
1248 private String getDefaultVideoPosterURLLocked() { 1248 private String getDefaultVideoPosterURLLocked() {
1249 return mDefaultVideoPosterURL; 1249 return mDefaultVideoPosterURL;
1250 } 1250 }
1251 1251
1252 private void onMultiTouchZoomSupportChanged(final boolean supportsMultiTouch Zoom) { 1252 private void onGestureZoomSupportChanged(final boolean supportsGestureZoom) {
1253 // Always post asynchronously here, to avoid doubling back onto the call er. 1253 // Always post asynchronously here, to avoid doubling back onto the call er.
1254 ThreadUtils.postOnUiThread(new Runnable() { 1254 ThreadUtils.postOnUiThread(new Runnable() {
1255 @Override 1255 @Override
1256 public void run() { 1256 public void run() {
1257 mZoomChangeListener.onMultiTouchZoomSupportChanged(supportsMulti TouchZoom); 1257 mZoomChangeListener.onGestureZoomSupportChanged(supportsGestureZ oom);
1258 } 1258 }
1259 }); 1259 });
1260 } 1260 }
1261 1261
1262 /** 1262 /**
1263 * See {@link android.webkit.WebSettings#setSupportZoom}. 1263 * See {@link android.webkit.WebSettings#setSupportZoom}.
1264 */ 1264 */
1265 public void setSupportZoom(boolean support) { 1265 public void setSupportZoom(boolean support) {
1266 synchronized (mAwSettingsLock) { 1266 synchronized (mAwSettingsLock) {
1267 if (mSupportZoom != support) { 1267 if (mSupportZoom != support) {
1268 mSupportZoom = support; 1268 mSupportZoom = support;
1269 onMultiTouchZoomSupportChanged(supportsMultiTouchZoomLocked()); 1269 onGestureZoomSupportChanged(supportsGestureZoomLocked());
1270 } 1270 }
1271 } 1271 }
1272 } 1272 }
1273 1273
1274 /** 1274 /**
1275 * See {@link android.webkit.WebSettings#supportZoom}. 1275 * See {@link android.webkit.WebSettings#supportZoom}.
1276 */ 1276 */
1277 public boolean supportZoom() { 1277 public boolean supportZoom() {
1278 synchronized (mAwSettingsLock) { 1278 synchronized (mAwSettingsLock) {
1279 return mSupportZoom; 1279 return mSupportZoom;
1280 } 1280 }
1281 } 1281 }
1282 1282
1283 /** 1283 /**
1284 * See {@link android.webkit.WebSettings#setBuiltInZoomControls}. 1284 * See {@link android.webkit.WebSettings#setBuiltInZoomControls}.
1285 */ 1285 */
1286 public void setBuiltInZoomControls(boolean enabled) { 1286 public void setBuiltInZoomControls(boolean enabled) {
1287 synchronized (mAwSettingsLock) { 1287 synchronized (mAwSettingsLock) {
1288 if (mBuiltInZoomControls != enabled) { 1288 if (mBuiltInZoomControls != enabled) {
1289 mBuiltInZoomControls = enabled; 1289 mBuiltInZoomControls = enabled;
1290 onMultiTouchZoomSupportChanged(supportsMultiTouchZoomLocked()); 1290 onGestureZoomSupportChanged(supportsGestureZoomLocked());
1291 } 1291 }
1292 } 1292 }
1293 } 1293 }
1294 1294
1295 /** 1295 /**
1296 * See {@link android.webkit.WebSettings#getBuiltInZoomControls}. 1296 * See {@link android.webkit.WebSettings#getBuiltInZoomControls}.
1297 */ 1297 */
1298 public boolean getBuiltInZoomControls() { 1298 public boolean getBuiltInZoomControls() {
1299 synchronized (mAwSettingsLock) { 1299 synchronized (mAwSettingsLock) {
1300 return mBuiltInZoomControls; 1300 return mBuiltInZoomControls;
(...skipping 11 matching lines...) Expand all
1312 1312
1313 /** 1313 /**
1314 * See {@link android.webkit.WebSettings#getDisplayZoomControls}. 1314 * See {@link android.webkit.WebSettings#getDisplayZoomControls}.
1315 */ 1315 */
1316 public boolean getDisplayZoomControls() { 1316 public boolean getDisplayZoomControls() {
1317 synchronized (mAwSettingsLock) { 1317 synchronized (mAwSettingsLock) {
1318 return mDisplayZoomControls; 1318 return mDisplayZoomControls;
1319 } 1319 }
1320 } 1320 }
1321 1321
1322 private boolean supportsMultiTouchZoomLocked() { 1322 private boolean supportsGestureZoomLocked() {
1323 assert Thread.holdsLock(mAwSettingsLock); 1323 assert Thread.holdsLock(mAwSettingsLock);
1324 return mSupportZoom && mBuiltInZoomControls; 1324 return mSupportZoom && mBuiltInZoomControls;
1325 } 1325 }
1326 1326
1327 boolean supportsMultiTouchZoom() { 1327 boolean supportsGestureZoom() {
1328 synchronized (mAwSettingsLock) { 1328 synchronized (mAwSettingsLock) {
1329 return supportsMultiTouchZoomLocked(); 1329 return supportsGestureZoomLocked();
1330 } 1330 }
1331 } 1331 }
1332 1332
1333 boolean shouldDisplayZoomControls() { 1333 boolean shouldDisplayZoomControls() {
1334 synchronized (mAwSettingsLock) { 1334 synchronized (mAwSettingsLock) {
1335 return supportsMultiTouchZoomLocked() && mDisplayZoomControls; 1335 return supportsGestureZoomLocked() && mDisplayZoomControls;
1336 } 1336 }
1337 } 1337 }
1338 1338
1339 private int clipFontSize(int size) { 1339 private int clipFontSize(int size) {
1340 if (size < MINIMUM_FONT_SIZE) { 1340 if (size < MINIMUM_FONT_SIZE) {
1341 return MINIMUM_FONT_SIZE; 1341 return MINIMUM_FONT_SIZE;
1342 } else if (size > MAXIMUM_FONT_SIZE) { 1342 } else if (size > MAXIMUM_FONT_SIZE) {
1343 return MAXIMUM_FONT_SIZE; 1343 return MAXIMUM_FONT_SIZE;
1344 } 1344 }
1345 return size; 1345 return size;
(...skipping 24 matching lines...) Expand all
1370 private native void nativeUpdateInitialPageScaleLocked(int nativeAwSettings) ; 1370 private native void nativeUpdateInitialPageScaleLocked(int nativeAwSettings) ;
1371 1371
1372 private native void nativeUpdateUserAgentLocked(int nativeAwSettings); 1372 private native void nativeUpdateUserAgentLocked(int nativeAwSettings);
1373 1373
1374 private native void nativeUpdateWebkitPreferencesLocked(int nativeAwSettings ); 1374 private native void nativeUpdateWebkitPreferencesLocked(int nativeAwSettings );
1375 1375
1376 private static native String nativeGetDefaultUserAgent(); 1376 private static native String nativeGetDefaultUserAgent();
1377 1377
1378 private native void nativeUpdateFormDataPreferencesLocked(int nativeAwSettin gs); 1378 private native void nativeUpdateFormDataPreferencesLocked(int nativeAwSettin gs);
1379 } 1379 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698