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

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java

Issue 165483003: Gamepad API for Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 6 years, 9 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 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.content.browser; 5 package org.chromium.content.browser;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.app.SearchManager; 9 import android.app.SearchManager;
10 import android.content.ContentResolver; 10 import android.content.ContentResolver;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 import org.chromium.base.CommandLine; 52 import org.chromium.base.CommandLine;
53 import org.chromium.base.JNINamespace; 53 import org.chromium.base.JNINamespace;
54 import org.chromium.base.ObserverList; 54 import org.chromium.base.ObserverList;
55 import org.chromium.base.ObserverList.RewindableIterator; 55 import org.chromium.base.ObserverList.RewindableIterator;
56 import org.chromium.base.TraceEvent; 56 import org.chromium.base.TraceEvent;
57 import org.chromium.content.R; 57 import org.chromium.content.R;
58 import org.chromium.content.browser.ScreenOrientationListener.ScreenOrientationO bserver; 58 import org.chromium.content.browser.ScreenOrientationListener.ScreenOrientationO bserver;
59 import org.chromium.content.browser.accessibility.AccessibilityInjector; 59 import org.chromium.content.browser.accessibility.AccessibilityInjector;
60 import org.chromium.content.browser.accessibility.BrowserAccessibilityManager; 60 import org.chromium.content.browser.accessibility.BrowserAccessibilityManager;
61 import org.chromium.content.browser.input.AdapterInputConnection; 61 import org.chromium.content.browser.input.AdapterInputConnection;
62 import org.chromium.content.browser.input.GamepadAdapter;
62 import org.chromium.content.browser.input.HandleView; 63 import org.chromium.content.browser.input.HandleView;
63 import org.chromium.content.browser.input.ImeAdapter; 64 import org.chromium.content.browser.input.ImeAdapter;
64 import org.chromium.content.browser.input.ImeAdapter.AdapterInputConnectionFacto ry; 65 import org.chromium.content.browser.input.ImeAdapter.AdapterInputConnectionFacto ry;
65 import org.chromium.content.browser.input.InputMethodManagerWrapper; 66 import org.chromium.content.browser.input.InputMethodManagerWrapper;
66 import org.chromium.content.browser.input.InsertionHandleController; 67 import org.chromium.content.browser.input.InsertionHandleController;
67 import org.chromium.content.browser.input.SelectPopupDialog; 68 import org.chromium.content.browser.input.SelectPopupDialog;
68 import org.chromium.content.browser.input.SelectPopupItem; 69 import org.chromium.content.browser.input.SelectPopupItem;
69 import org.chromium.content.browser.input.SelectionHandleController; 70 import org.chromium.content.browser.input.SelectionHandleController;
70 import org.chromium.content.common.ContentSwitches; 71 import org.chromium.content.common.ContentSwitches;
71 import org.chromium.content_public.browser.GestureStateListener; 72 import org.chromium.content_public.browser.GestureStateListener;
(...skipping 1376 matching lines...) Expand 10 before | Expand all | Expand 10 after
1448 } 1449 }
1449 1450
1450 /** 1451 /**
1451 * @see View#onAttachedToWindow() 1452 * @see View#onAttachedToWindow()
1452 */ 1453 */
1453 @SuppressWarnings("javadoc") 1454 @SuppressWarnings("javadoc")
1454 public void onAttachedToWindow() { 1455 public void onAttachedToWindow() {
1455 setAccessibilityState(mAccessibilityManager.isEnabled()); 1456 setAccessibilityState(mAccessibilityManager.isEnabled());
1456 1457
1457 ScreenOrientationListener.getInstance().addObserver(this, mContext); 1458 ScreenOrientationListener.getInstance().addObserver(this, mContext);
1459 GamepadAdapter.onAttachedToWindow(mContext);
1458 } 1460 }
1459 1461
1460 /** 1462 /**
1461 * @see View#onDetachedFromWindow() 1463 * @see View#onDetachedFromWindow()
1462 */ 1464 */
1463 @SuppressWarnings("javadoc") 1465 @SuppressWarnings("javadoc")
1464 @SuppressLint("MissingSuperCall") 1466 @SuppressLint("MissingSuperCall")
1465 public void onDetachedFromWindow() { 1467 public void onDetachedFromWindow() {
1466 setInjectedAccessibility(false); 1468 setInjectedAccessibility(false);
1467 hidePopupDialog(); 1469 hidePopupDialog();
1468 mZoomControlsDelegate.dismissZoomPicker(); 1470 mZoomControlsDelegate.dismissZoomPicker();
1469 unregisterAccessibilityContentObserver(); 1471 unregisterAccessibilityContentObserver();
1470 1472
1471 ScreenOrientationListener.getInstance().removeObserver(this); 1473 ScreenOrientationListener.getInstance().removeObserver(this);
1474 GamepadAdapter.onDetachedFromWindow();
1472 } 1475 }
1473 1476
1474 /** 1477 /**
1475 * @see View#onVisibilityChanged(android.view.View, int) 1478 * @see View#onVisibilityChanged(android.view.View, int)
1476 */ 1479 */
1477 public void onVisibilityChanged(View changedView, int visibility) { 1480 public void onVisibilityChanged(View changedView, int visibility) {
1478 if (visibility != View.VISIBLE) { 1481 if (visibility != View.VISIBLE) {
1479 mZoomControlsDelegate.dismissZoomPicker(); 1482 mZoomControlsDelegate.dismissZoomPicker();
1480 } 1483 }
1481 } 1484 }
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1693 } 1696 }
1694 1697
1695 /** 1698 /**
1696 * @see View#dispatchKeyEvent(KeyEvent) 1699 * @see View#dispatchKeyEvent(KeyEvent)
1697 */ 1700 */
1698 public boolean dispatchKeyEvent(KeyEvent event) { 1701 public boolean dispatchKeyEvent(KeyEvent event) {
1699 if (getContentViewClient().shouldOverrideKeyEvent(event)) { 1702 if (getContentViewClient().shouldOverrideKeyEvent(event)) {
1700 return mContainerViewInternals.super_dispatchKeyEvent(event); 1703 return mContainerViewInternals.super_dispatchKeyEvent(event);
1701 } 1704 }
1702 1705
1706 if (GamepadAdapter.onKeyEvent(event)) return true;
1707
1703 if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER) { 1708 if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER) {
1704 showImeIfNeeded(); 1709 showImeIfNeeded();
1705 // Event is not consumed here, because ImeAdapter might interpret 1710 // Event is not consumed here, because ImeAdapter might interpret
1706 // it as "Enter". 1711 // it as "Enter".
1707 // showImeIfNeeded respects the policy of 1712 // showImeIfNeeded respects the policy of
1708 // InputMethodService.onEvaluateInputViewShown. So IME will not be 1713 // InputMethodService.onEvaluateInputViewShown. So IME will not be
1709 // shown if you have QWERTY physical keyboard attached. 1714 // shown if you have QWERTY physical keyboard attached.
1710 // Also, IME will not be shown if the focus is not on the input 1715 // Also, IME will not be shown if the focus is not on the input
1711 // field. See ImeAdapter.attachAndShowIfNeeded 1716 // field. See ImeAdapter.attachAndShowIfNeeded
1712 } 1717 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1761 mFakeMouseMoveRunnable = new Runnable() { 1766 mFakeMouseMoveRunnable = new Runnable() {
1762 @Override 1767 @Override
1763 public void run() { 1768 public void run() {
1764 onHoverEvent(eventFakeMouseMove); 1769 onHoverEvent(eventFakeMouseMove);
1765 } 1770 }
1766 }; 1771 };
1767 mContainerView.postDelayed(mFakeMouseMoveRunnable, 250); 1772 mContainerView.postDelayed(mFakeMouseMoveRunnable, 250);
1768 return true; 1773 return true;
1769 } 1774 }
1770 } 1775 }
1776
1777 if (GamepadAdapter.onMotionEvent(event)) return true;
1778
1771 return mContainerViewInternals.super_onGenericMotionEvent(event); 1779 return mContainerViewInternals.super_onGenericMotionEvent(event);
1772 } 1780 }
1773 1781
1774 /** 1782 /**
1775 * @see View#scrollBy(int, int) 1783 * @see View#scrollBy(int, int)
1776 * Currently the ContentView scrolling happens in the native side. In 1784 * Currently the ContentView scrolling happens in the native side. In
1777 * the Java view system, it is always pinned at (0, 0). scrollBy() and scrol lTo() 1785 * the Java view system, it is always pinned at (0, 0). scrollBy() and scrol lTo()
1778 * are overridden, so that View's mScrollX and mScrollY will be unchanged at 1786 * are overridden, so that View's mScrollX and mScrollY will be unchanged at
1779 * (0, 0). This is critical for drawing ContentView correctly. 1787 * (0, 0). This is critical for drawing ContentView correctly.
1780 */ 1788 */
(...skipping 1515 matching lines...) Expand 10 before | Expand all | Expand 10 after
3296 boolean enableHiding, boolean enableShowing, boolean animate); 3304 boolean enableHiding, boolean enableShowing, boolean animate);
3297 3305
3298 private native void nativeShowImeIfNeeded(long nativeContentViewCoreImpl); 3306 private native void nativeShowImeIfNeeded(long nativeContentViewCoreImpl);
3299 3307
3300 private native void nativeSetAccessibilityEnabled( 3308 private native void nativeSetAccessibilityEnabled(
3301 long nativeContentViewCoreImpl, boolean enabled); 3309 long nativeContentViewCoreImpl, boolean enabled);
3302 3310
3303 private native void nativeExtractSmartClipData(long nativeContentViewCoreImp l, 3311 private native void nativeExtractSmartClipData(long nativeContentViewCoreImp l,
3304 int x, int y, int w, int h); 3312 int x, int y, int w, int h);
3305 } 3313 }
OLDNEW
« no previous file with comments | « content/content_jni.gypi ('k') | content/public/android/java/src/org/chromium/content/browser/input/GamepadAdapter.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698