| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java
|
| index 51e3f90a8144af2c536c1138ea14737f5254566d..91a654edd328dce1e1b7907d7f506699f19622c2 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java
|
| @@ -165,18 +165,47 @@ public class ReaderModePanel extends OverlayPanel {
|
|
|
| @Override
|
| public void handleBarClick(long time, float x, float y) {
|
| - super.handleBarClick(time, x, y);
|
| + handleBarClickInternal(x, y, true);
|
| + }
|
| +
|
| + @Override
|
| + public boolean onInterceptBarClick(float x, float y) {
|
| + boolean supportsSwipe = mManagerDelegate != null
|
| + ? mManagerDelegate.supportsOverlayPanelUI() : false;
|
| + handleBarClickInternal(x, y, supportsSwipe);
|
| + return !supportsSwipe;
|
| + }
|
| +
|
| + /**
|
| + * Handle normal bar clicks and low-end device clicks.
|
| + * @param x The X position of the gesture.
|
| + * @param y The Y position of the gesture.
|
| + * @param supportsSwipe If the device supports the swipable version of the overlay.
|
| + */
|
| + private void handleBarClickInternal(float x, float y, boolean supportsSwipe) {
|
| if (isCoordinateInsideCloseButton(x)) {
|
| closePanel(StateChangeReason.CLOSE_BUTTON, true);
|
| } else {
|
| - maximizePanel(StateChangeReason.SEARCH_BAR_TAP);
|
| + if (supportsSwipe) {
|
| + maximizePanel(StateChangeReason.SEARCH_BAR_TAP);
|
| + } else {
|
| + // Handle devices that do not support the swipable overlay.
|
| + mManagerDelegate.distillInCustomTab();
|
| + }
|
| }
|
| }
|
|
|
| @Override
|
| - public boolean onInterceptBarClick() {
|
| - // TODO(mdjones): Handle compatibility mode here (promote to tab on tap).
|
| - return false;
|
| + public boolean onInterceptBarSwipe() {
|
| + boolean supportsSwipe = mManagerDelegate != null
|
| + ? mManagerDelegate.supportsOverlayPanelUI() : false;
|
| + if (!supportsSwipe) mManagerDelegate.distillInCustomTab();
|
| + return !supportsSwipe;
|
| + }
|
| +
|
| + @Override
|
| + public boolean supportsContextualSearchLayout() {
|
| + return mManagerDelegate != null ? mManagerDelegate.supportsOverlayPanelUI() : false;
|
| }
|
|
|
| // ============================================================================================
|
|
|