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

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

Issue 33823005: Dynamically enable spatial navigation based on events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | android_webview/java/src/org/chromium/android_webview/AwSettings.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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.ComponentCallbacks2; 7 import android.content.ComponentCallbacks2;
8 import android.content.Context; 8 import android.content.Context;
9 import android.content.pm.PackageManager; 9 import android.content.pm.PackageManager;
10 import android.content.res.Configuration; 10 import android.content.res.Configuration;
(...skipping 1205 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 return mContentViewCore.onCreateInputConnection(outAttrs); 1216 return mContentViewCore.onCreateInputConnection(outAttrs);
1217 } 1217 }
1218 1218
1219 /** 1219 /**
1220 * @see android.webkit.WebView#onKeyUp(int, KeyEvent) 1220 * @see android.webkit.WebView#onKeyUp(int, KeyEvent)
1221 */ 1221 */
1222 public boolean onKeyUp(int keyCode, KeyEvent event) { 1222 public boolean onKeyUp(int keyCode, KeyEvent event) {
1223 return mContentViewCore.onKeyUp(keyCode, event); 1223 return mContentViewCore.onKeyUp(keyCode, event);
1224 } 1224 }
1225 1225
1226 private boolean isDpadEvent(KeyEvent event) {
1227 if (event.getAction() == KeyEvent.ACTION_DOWN) {
1228 switch (event.getKeyCode()) {
1229 case KeyEvent.KEYCODE_DPAD_CENTER:
1230 case KeyEvent.KEYCODE_DPAD_DOWN:
1231 case KeyEvent.KEYCODE_DPAD_UP:
1232 case KeyEvent.KEYCODE_DPAD_LEFT:
1233 case KeyEvent.KEYCODE_DPAD_RIGHT:
1234 return true;
1235 }
1236 }
1237 return false;
1238 }
1239
1226 /** 1240 /**
1227 * @see android.webkit.WebView#dispatchKeyEvent(KeyEvent) 1241 * @see android.webkit.WebView#dispatchKeyEvent(KeyEvent)
1228 */ 1242 */
1229 public boolean dispatchKeyEvent(KeyEvent event) { 1243 public boolean dispatchKeyEvent(KeyEvent event) {
1244 if (isDpadEvent(event)) {
1245 mSettings.setSpatialNavigationEnabled(true);
1246 }
1230 return mContentViewCore.dispatchKeyEvent(event); 1247 return mContentViewCore.dispatchKeyEvent(event);
1231 } 1248 }
1232 1249
1233 /** 1250 /**
1234 * Clears the resource cache. Note that the cache is per-application, so thi s will clear the 1251 * Clears the resource cache. Note that the cache is per-application, so thi s will clear the
1235 * cache for all WebViews used. 1252 * cache for all WebViews used.
1236 * 1253 *
1237 * @param includeDiskFiles if false, only the RAM cache is cleared 1254 * @param includeDiskFiles if false, only the RAM cache is cleared
1238 */ 1255 */
1239 public void clearCache(boolean includeDiskFiles) { 1256 public void clearCache(boolean includeDiskFiles) {
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
1478 //-------------------------------------------------------------------------- ------------------ 1495 //-------------------------------------------------------------------------- ------------------
1479 // View and ViewGroup method implementations 1496 // View and ViewGroup method implementations
1480 //-------------------------------------------------------------------------- ------------------ 1497 //-------------------------------------------------------------------------- ------------------
1481 1498
1482 /** 1499 /**
1483 * @see android.webkit.View#onTouchEvent() 1500 * @see android.webkit.View#onTouchEvent()
1484 */ 1501 */
1485 public boolean onTouchEvent(MotionEvent event) { 1502 public boolean onTouchEvent(MotionEvent event) {
1486 if (mNativeAwContents == 0) return false; 1503 if (mNativeAwContents == 0) return false;
1487 1504
1505 if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
1506 mSettings.setSpatialNavigationEnabled(false);
1507 }
1508
1488 mScrollOffsetManager.setProcessingTouchEvent(true); 1509 mScrollOffsetManager.setProcessingTouchEvent(true);
1489 boolean rv = mContentViewCore.onTouchEvent(event); 1510 boolean rv = mContentViewCore.onTouchEvent(event);
1490 mScrollOffsetManager.setProcessingTouchEvent(false); 1511 mScrollOffsetManager.setProcessingTouchEvent(false);
1491 1512
1492 if (event.getActionMasked() == MotionEvent.ACTION_DOWN) { 1513 if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
1493 int actionIndex = event.getActionIndex(); 1514 int actionIndex = event.getActionIndex();
1494 1515
1495 // Note this will trigger IPC back to browser even if nothing is hit . 1516 // Note this will trigger IPC back to browser even if nothing is hit .
1496 nativeRequestNewHitTestDataAt(mNativeAwContents, 1517 nativeRequestNewHitTestDataAt(mNativeAwContents,
1497 (int)Math.round(event.getX(actionIndex ) / mDIPScale), 1518 (int)Math.round(event.getX(actionIndex ) / mDIPScale),
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
2043 private native int nativeCapturePicture(int nativeAwContents, int width, int height); 2064 private native int nativeCapturePicture(int nativeAwContents, int width, int height);
2044 private native void nativeEnableOnNewPicture(int nativeAwContents, boolean e nabled); 2065 private native void nativeEnableOnNewPicture(int nativeAwContents, boolean e nabled);
2045 2066
2046 private native void nativeInvokeGeolocationCallback( 2067 private native void nativeInvokeGeolocationCallback(
2047 int nativeAwContents, boolean value, String requestingFrame); 2068 int nativeAwContents, boolean value, String requestingFrame);
2048 2069
2049 private native void nativeSetJsOnlineProperty(int nativeAwContents, boolean networkUp); 2070 private native void nativeSetJsOnlineProperty(int nativeAwContents, boolean networkUp);
2050 2071
2051 private native void nativeTrimMemory(int nativeAwContents, int level); 2072 private native void nativeTrimMemory(int nativeAwContents, int level);
2052 } 2073 }
OLDNEW
« no previous file with comments | « no previous file | android_webview/java/src/org/chromium/android_webview/AwSettings.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698