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

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: Created 6 years, 10 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.app.Activity; 7 import android.app.Activity;
8 import android.app.SearchManager; 8 import android.app.SearchManager;
9 import android.content.ContentResolver; 9 import android.content.ContentResolver;
10 import android.content.Context; 10 import android.content.Context;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 import org.chromium.base.JNINamespace; 56 import org.chromium.base.JNINamespace;
57 import org.chromium.base.ObserverList; 57 import org.chromium.base.ObserverList;
58 import org.chromium.base.ObserverList.RewindableIterator; 58 import org.chromium.base.ObserverList.RewindableIterator;
59 import org.chromium.base.TraceEvent; 59 import org.chromium.base.TraceEvent;
60 import org.chromium.base.WeakContext; 60 import org.chromium.base.WeakContext;
61 import org.chromium.content.R; 61 import org.chromium.content.R;
62 import org.chromium.content.browser.ContentViewGestureHandler.MotionEventDelegat e; 62 import org.chromium.content.browser.ContentViewGestureHandler.MotionEventDelegat e;
63 import org.chromium.content.browser.accessibility.AccessibilityInjector; 63 import org.chromium.content.browser.accessibility.AccessibilityInjector;
64 import org.chromium.content.browser.accessibility.BrowserAccessibilityManager; 64 import org.chromium.content.browser.accessibility.BrowserAccessibilityManager;
65 import org.chromium.content.browser.input.AdapterInputConnection; 65 import org.chromium.content.browser.input.AdapterInputConnection;
66 import org.chromium.content.browser.input.GamepadAdapter;
66 import org.chromium.content.browser.input.HandleView; 67 import org.chromium.content.browser.input.HandleView;
67 import org.chromium.content.browser.input.ImeAdapter; 68 import org.chromium.content.browser.input.ImeAdapter;
68 import org.chromium.content.browser.input.ImeAdapter.AdapterInputConnectionFacto ry; 69 import org.chromium.content.browser.input.ImeAdapter.AdapterInputConnectionFacto ry;
69 import org.chromium.content.browser.input.InputMethodManagerWrapper; 70 import org.chromium.content.browser.input.InputMethodManagerWrapper;
70 import org.chromium.content.browser.input.InsertionHandleController; 71 import org.chromium.content.browser.input.InsertionHandleController;
71 import org.chromium.content.browser.input.SelectPopupDialog; 72 import org.chromium.content.browser.input.SelectPopupDialog;
72 import org.chromium.content.browser.input.SelectPopupItem; 73 import org.chromium.content.browser.input.SelectPopupItem;
73 import org.chromium.content.browser.input.SelectionHandleController; 74 import org.chromium.content.browser.input.SelectionHandleController;
74 import org.chromium.content.common.ContentSwitches; 75 import org.chromium.content.common.ContentSwitches;
75 import org.chromium.content_public.browser.GestureStateListener; 76 import org.chromium.content_public.browser.GestureStateListener;
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 mRenderCoordinates = new RenderCoordinates(); 460 mRenderCoordinates = new RenderCoordinates();
460 mRenderCoordinates.setDeviceScaleFactor( 461 mRenderCoordinates.setDeviceScaleFactor(
461 getContext().getResources().getDisplayMetrics().density); 462 getContext().getResources().getDisplayMetrics().density);
462 mStartHandlePoint = mRenderCoordinates.createNormalizedPoint(); 463 mStartHandlePoint = mRenderCoordinates.createNormalizedPoint();
463 mEndHandlePoint = mRenderCoordinates.createNormalizedPoint(); 464 mEndHandlePoint = mRenderCoordinates.createNormalizedPoint();
464 mInsertionHandlePoint = mRenderCoordinates.createNormalizedPoint(); 465 mInsertionHandlePoint = mRenderCoordinates.createNormalizedPoint();
465 mAccessibilityManager = (AccessibilityManager) 466 mAccessibilityManager = (AccessibilityManager)
466 getContext().getSystemService(Context.ACCESSIBILITY_SERVICE); 467 getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
467 mGestureStateListeners = new ObserverList<GestureStateListener>(); 468 mGestureStateListeners = new ObserverList<GestureStateListener>();
468 mGestureStateListenersIterator = mGestureStateListeners.rewindableIterat or(); 469 mGestureStateListenersIterator = mGestureStateListeners.rewindableIterat or();
470 GamepadAdapter.initialize(context);
469 } 471 }
470 472
471 /** 473 /**
472 * @return The context used for creating this ContentViewCore. 474 * @return The context used for creating this ContentViewCore.
473 */ 475 */
474 @CalledByNative 476 @CalledByNative
475 public Context getContext() { 477 public Context getContext() {
476 return mContext; 478 return mContext;
477 } 479 }
478 480
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1807 return mContainerViewInternals.super_dispatchKeyEventPreIme(event); 1809 return mContainerViewInternals.super_dispatchKeyEventPreIme(event);
1808 } finally { 1810 } finally {
1809 TraceEvent.end(); 1811 TraceEvent.end();
1810 } 1812 }
1811 } 1813 }
1812 1814
1813 /** 1815 /**
1814 * @see View#dispatchKeyEvent(KeyEvent) 1816 * @see View#dispatchKeyEvent(KeyEvent)
1815 */ 1817 */
1816 public boolean dispatchKeyEvent(KeyEvent event) { 1818 public boolean dispatchKeyEvent(KeyEvent event) {
1819
1817 if (getContentViewClient().shouldOverrideKeyEvent(event)) { 1820 if (getContentViewClient().shouldOverrideKeyEvent(event)) {
1818 return mContainerViewInternals.super_dispatchKeyEvent(event); 1821 return mContainerViewInternals.super_dispatchKeyEvent(event);
1819 } 1822 }
1820 1823
1824 if (GamepadAdapter.getInstance().handleKeyEvent(event)) return true;
1825
1821 if (mImeAdapter.dispatchKeyEvent(event)) return true; 1826 if (mImeAdapter.dispatchKeyEvent(event)) return true;
1822 1827
1823 return mContainerViewInternals.super_dispatchKeyEvent(event); 1828 return mContainerViewInternals.super_dispatchKeyEvent(event);
1824 } 1829 }
1825 1830
1826 /** 1831 /**
1827 * @see View#onHoverEvent(MotionEvent) 1832 * @see View#onHoverEvent(MotionEvent)
1828 * Mouse move events are sent on hover enter, hover move and hover exit. 1833 * Mouse move events are sent on hover enter, hover move and hover exit.
1829 * They are sent on hover exit because sometimes it acts as both a hover 1834 * They are sent on hover exit because sometimes it acts as both a hover
1830 * move and hover exit. 1835 * move and hover exit.
(...skipping 30 matching lines...) Expand all
1861 mFakeMouseMoveRunnable = new Runnable() { 1866 mFakeMouseMoveRunnable = new Runnable() {
1862 @Override 1867 @Override
1863 public void run() { 1868 public void run() {
1864 onHoverEvent(eventFakeMouseMove); 1869 onHoverEvent(eventFakeMouseMove);
1865 } 1870 }
1866 }; 1871 };
1867 mContainerView.postDelayed(mFakeMouseMoveRunnable, 250); 1872 mContainerView.postDelayed(mFakeMouseMoveRunnable, 250);
1868 return true; 1873 return true;
1869 } 1874 }
1870 } 1875 }
1876
1877 if (GamepadAdapter.getInstance().handleMotionEvent(event)) return true;
1878
1871 return mContainerViewInternals.super_onGenericMotionEvent(event); 1879 return mContainerViewInternals.super_onGenericMotionEvent(event);
1872 } 1880 }
1873 1881
1874 /** 1882 /**
1875 * @see View#scrollBy(int, int) 1883 * @see View#scrollBy(int, int)
1876 * Currently the ContentView scrolling happens in the native side. In 1884 * Currently the ContentView scrolling happens in the native side. In
1877 * the Java view system, it is always pinned at (0, 0). scrollBy() and scrol lTo() 1885 * the Java view system, it is always pinned at (0, 0). scrollBy() and scrol lTo()
1878 * are overridden, so that View's mScrollX and mScrollY will be unchanged at 1886 * are overridden, so that View's mScrollX and mScrollY will be unchanged at
1879 * (0, 0). This is critical for drawing ContentView correctly. 1887 * (0, 0). This is critical for drawing ContentView correctly.
1880 */ 1888 */
(...skipping 1592 matching lines...) Expand 10 before | Expand all | Expand 10 after
3473 3481
3474 private native void nativeSendSingleTapUma(long nativeContentViewCoreImpl, 3482 private native void nativeSendSingleTapUma(long nativeContentViewCoreImpl,
3475 int type, int count); 3483 int type, int count);
3476 3484
3477 private native void nativeSendActionAfterDoubleTapUma(long nativeContentView CoreImpl, 3485 private native void nativeSendActionAfterDoubleTapUma(long nativeContentView CoreImpl,
3478 int type, boolean hasDelay, int count); 3486 int type, boolean hasDelay, int count);
3479 3487
3480 private native void nativeExtractSmartClipData(long nativeContentViewCoreImp l, 3488 private native void nativeExtractSmartClipData(long nativeContentViewCoreImp l,
3481 int x, int y, int w, int h); 3489 int x, int y, int w, int h);
3482 } 3490 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698