OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |