Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
index 2e8d56df7541aa7ac99a288fcb4175b669c4477b..7bbe211539c9ecd2c77cdc65d0a52f03e25bdc93 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
@@ -1455,6 +1455,7 @@ public class ContentViewCore |
setAccessibilityState(mAccessibilityManager.isEnabled()); |
ScreenOrientationListener.getInstance().addObserver(this, mContext); |
+ GamepadList.onAttachedToWindow(mContext); |
} |
/** |
@@ -1469,6 +1470,7 @@ public class ContentViewCore |
unregisterAccessibilityContentObserver(); |
ScreenOrientationListener.getInstance().removeObserver(this); |
+ GamepadList.onDetachedFromWindow(); |
} |
/** |
@@ -1696,6 +1698,9 @@ public class ContentViewCore |
* @see View#dispatchKeyEvent(KeyEvent) |
*/ |
public boolean dispatchKeyEvent(KeyEvent event) { |
+ if (GamepadList.dispatchKeyEvent(event)) { |
+ return true; |
+ } |
if (getContentViewClient().shouldOverrideKeyEvent(event)) { |
return mContainerViewInternals.super_dispatchKeyEvent(event); |
} |
@@ -1747,6 +1752,9 @@ public class ContentViewCore |
* @see View#onGenericMotionEvent(MotionEvent) |
*/ |
public boolean onGenericMotionEvent(MotionEvent event) { |
+ if (GamepadList.onGenericMotionEvent(event)) { |
+ return true; |
+ } |
if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0) { |
switch (event.getAction()) { |
case MotionEvent.ACTION_SCROLL: |