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

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

Issue 2774443002: chrome/android: Push EventFilters into the Layout implementations. (Closed)
Patch Set: fix for re-landing 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/Layout.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
index be3cf7b4c8ff4a0fc1129af23eef7b8393925ed4..67763c3e7adcaa97cd006deb56fcfefd044e7f25 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
@@ -99,7 +99,6 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
// Helpers
private final LayoutUpdateHost mUpdateHost;
protected final LayoutRenderHost mRenderHost;
- private EventFilter mEventFilter;
/** The tabs currently being rendered as part of this layout. The tabs are
* drawn using the same ordering as this array. */
@@ -120,14 +119,11 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
* @param context The current Android's context.
* @param updateHost The parent {@link LayoutUpdateHost}.
* @param renderHost The parent {@link LayoutRenderHost}.
- * @param eventFilter The {@link EventFilter} this {@link Layout} is listening to.
*/
- public Layout(Context context, LayoutUpdateHost updateHost, LayoutRenderHost renderHost,
- EventFilter eventFilter) {
+ public Layout(Context context, LayoutUpdateHost updateHost, LayoutRenderHost renderHost) {
mContext = context;
mUpdateHost = updateHost;
mRenderHost = renderHost;
- mEventFilter = eventFilter;
// Invalid sizes
mWidthDp = -1;
@@ -572,69 +568,6 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
}
/**
- * Called on touch drag event.
- * @param time The current time of the app in ms.
- * @param x The y coordinate of the end of the drag event.
- * @param y The y coordinate of the end of the drag event.
- * @param deltaX The number of pixels dragged in the x direction.
- * @param deltaY The number of pixels dragged in the y direction.
- */
- public void drag(long time, float x, float y, float deltaX, float deltaY) { }
-
- /**
- * Called on touch fling event. This is called before the onUpOrCancel event.
- *
- * @param time The current time of the app in ms.
- * @param x The y coordinate of the start of the fling event.
- * @param y The y coordinate of the start of the fling event.
- * @param velocityX The amount of velocity in the x direction.
- * @param velocityY The amount of velocity in the y direction.
- */
- public void fling(long time, float x, float y, float velocityX, float velocityY) { }
-
- /**
- * Called on onDown event.
- *
- * @param time The time stamp in millisecond of the event.
- * @param x The x position of the event.
- * @param y The y position of the event.
- */
- public void onDown(long time, float x, float y) { }
-
- /**
- * Called on long press touch event.
- * @param time The current time of the app in ms.
- * @param x The x coordinate of the position of the press event.
- * @param y The y coordinate of the position of the press event.
- */
- public void onLongPress(long time, float x, float y) { }
-
- /**
- * Called on click. This is called before the onUpOrCancel event.
- * @param time The current time of the app in ms.
- * @param x The x coordinate of the position of the click.
- * @param y The y coordinate of the position of the click.
- */
- public void click(long time, float x, float y) { }
-
- /**
- * Called on up or cancel touch events. This is called after the click and fling event if any.
- * @param time The current time of the app in ms.
- */
- public void onUpOrCancel(long time) { }
-
- /**
- * Called when at least 2 touch events are detected.
- * @param time The current time of the app in ms.
- * @param x0 The x coordinate of the first touch event.
- * @param y0 The y coordinate of the first touch event.
- * @param x1 The x coordinate of the second touch event.
- * @param y1 The y coordinate of the second touch event.
- * @param firstEvent The pinch is the first of a sequence of pinch events.
- */
- public void onPinch(long time, float x0, float y0, float x1, float y1, boolean firstEvent) { }
-
- /**
* Called by the LayoutManager when an animation should be killed.
*/
public void unstallImmediately() { }
@@ -1038,15 +971,6 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
}
/**
- * Setting this will only take effect the next time this layout is shown. If it is currently
- * showing the original filter will still be used.
- * @param filter
- */
- public void setEventFilter(EventFilter filter) {
- mEventFilter = filter;
- }
-
- /**
* @param e The {@link MotionEvent} to consider.
* @param offsets The current touch offsets that should be applied to the
* {@link EventFilter}s.
@@ -1064,9 +988,14 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
if (eventFilter.onInterceptTouchEvent(e, isKeyboardShowing)) return eventFilter;
}
- if (mEventFilter != null) {
- if (offsets != null) mEventFilter.setCurrentMotionEventOffsets(offsets.x, offsets.y);
- if (mEventFilter.onInterceptTouchEvent(e, isKeyboardShowing)) return mEventFilter;
+ EventFilter layoutEventFilter = getEventFilter();
+ if (layoutEventFilter != null) {
+ if (offsets != null) {
+ layoutEventFilter.setCurrentMotionEventOffsets(offsets.x, offsets.y);
+ }
+ if (layoutEventFilter.onInterceptTouchEvent(e, isKeyboardShowing)) {
+ return layoutEventFilter;
+ }
}
return null;
}
@@ -1127,11 +1056,9 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
}
/**
- * @return Whether the tabstrip's event filter is enabled.
+ * @return The EventFilter to use for processing events for this Layout.
*/
- public boolean isTabStripEventFilterEnabled() {
- return true;
- }
+ protected abstract EventFilter getEventFilter();
/**
* Get an instance of {@link SceneLayer}. Any class inheriting {@link Layout}

Powered by Google App Engine
This is Rietveld 408576698