Index: chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java |
index cd4dd23c1827bc3ab5cdb522f3fde8e908e27848..fc75a2871ae572279bf448f05347cab297744f24 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java |
@@ -321,8 +321,19 @@ public class LocationBarLayout extends FrameLayout implements OnClickListener, |
}); |
} |
return true; |
+ } else if (keyCode == KeyEvent.KEYCODE_BACK) { |
+ if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) { |
+ // Tell the framework to start tracking this event. |
+ getKeyDispatcherState().startTracking(event, this); |
+ return true; |
+ } else if (event.getAction() == KeyEvent.ACTION_UP) { |
+ getKeyDispatcherState().handleUpEvent(event); |
+ if (event.isTracking() && !event.isCanceled()) { |
+ backKeyPressed(); |
+ return true; |
+ } |
+ } |
} |
- |
return false; |
} |
@@ -1952,8 +1963,7 @@ public class LocationBarLayout extends FrameLayout implements OnClickListener, |
} |
} |
- @Override |
- public void backKeyPressed() { |
+ private void backKeyPressed() { |
hideSuggestions(); |
UiUtils.hideKeyboard(mUrlBar); |
// Revert the URL to match the current page. |