Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java

Issue 2784463002: Revert of chrome/android: Push EventFilters into the Layout implementations. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698