| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
| index 7f41a70c70440b3efdf69fe35f71ab10140f3fa5..220abca65b3f5d52b9d908903c987c21f7fd2902 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
| @@ -6,10 +6,14 @@
|
|
|
| import android.content.Context;
|
| import android.graphics.Bitmap;
|
| +import android.graphics.RectF;
|
| +import android.view.MotionEvent;
|
| import android.view.ViewGroup;
|
|
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
| +import org.chromium.chrome.browser.compositor.layouts.eventfilter.AreaGestureEventFilter;
|
| +import org.chromium.chrome.browser.compositor.layouts.eventfilter.GestureHandler;
|
| import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirection;
|
| import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutHelperManager;
|
| import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDelegate;
|
| @@ -29,6 +33,9 @@
|
| * the tablet.
|
| */
|
| public class LayoutManagerChromeTablet extends LayoutManagerChrome {
|
| + // Event Filters
|
| + private final TabStripEventFilter mTabStripFilter;
|
| +
|
| // Internal State
|
| private final String mDefaultTitle;
|
|
|
| @@ -43,8 +50,12 @@
|
| super(host, false);
|
| Context context = host.getContext();
|
|
|
| - mTabStripLayoutHelperManager =
|
| - new StripLayoutHelperManager(context, this, mHost.getLayoutRenderHost());
|
| + // Build Event Filters
|
| + mTabStripFilter =
|
| + new TabStripEventFilter(context, new TabStripEventHandler(), null, false, false);
|
| +
|
| + mTabStripLayoutHelperManager = new StripLayoutHelperManager(
|
| + context, this, mHost.getLayoutRenderHost(), mTabStripFilter);
|
|
|
| // Set up state
|
| mDefaultTitle = context.getString(R.string.tab_loading_default_title);
|
| @@ -196,4 +207,57 @@
|
| return super.isSwipeEnabled(direction);
|
| }
|
| }
|
| +
|
| + private class TabStripEventHandler implements GestureHandler {
|
| + @Override
|
| + public void onDown(float x, float y, boolean fromMouse, int buttons) {
|
| + mTabStripLayoutHelperManager.onDown(time(), x, y, fromMouse, buttons);
|
| + }
|
| +
|
| + @Override
|
| + public void onUpOrCancel() {
|
| + mTabStripLayoutHelperManager.onUpOrCancel(time());
|
| + }
|
| +
|
| + @Override
|
| + public void drag(float x, float y, float dx, float dy, float tx, float ty) {
|
| + mTabStripLayoutHelperManager.drag(time(), x, y, dx, dy, tx, ty);
|
| + }
|
| +
|
| + @Override
|
| + public void click(float x, float y, boolean fromMouse, int buttons) {
|
| + mTabStripLayoutHelperManager.click(time(), x, y, fromMouse, buttons);
|
| + }
|
| +
|
| + @Override
|
| + public void fling(float x, float y, float velocityX, float velocityY) {
|
| + mTabStripLayoutHelperManager.fling(time(), x, y, velocityX, velocityY);
|
| + }
|
| +
|
| + @Override
|
| + public void onLongPress(float x, float y) {
|
| + mTabStripLayoutHelperManager.onLongPress(time(), x, y);
|
| + }
|
| +
|
| + @Override
|
| + public void onPinch(float x0, float y0, float x1, float y1, boolean firstEvent) {
|
| + // Not implemented.
|
| + }
|
| + }
|
| +
|
| + private class TabStripEventFilter extends AreaGestureEventFilter {
|
| + public TabStripEventFilter(Context context, GestureHandler handler, RectF triggerRect,
|
| + boolean autoOffset, boolean useDefaultLongPress) {
|
| + super(context, handler, triggerRect, autoOffset, useDefaultLongPress);
|
| + }
|
| +
|
| + @Override
|
| + public boolean onInterceptTouchEventInternal(MotionEvent e, boolean isKeyboardShowing) {
|
| + if (getActiveLayout().isTabStripEventFilterEnabled()) {
|
| + return super.onInterceptTouchEventInternal(e, isKeyboardShowing);
|
| + }
|
| +
|
| + return false;
|
| + }
|
| + }
|
| }
|
|
|