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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java

Issue 2784463002: Revert of chrome/android: Push EventFilters into the Layout implementations. (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.compositor.layouts; 5 package org.chromium.chrome.browser.compositor.layouts;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.res.Resources; 8 import android.content.res.Resources;
9 import android.graphics.RectF; 9 import android.graphics.RectF;
10 import android.view.animation.DecelerateInterpolator; 10 import android.view.animation.DecelerateInterpolator;
11 import android.view.animation.Interpolator; 11 import android.view.animation.Interpolator;
12 12
13 import org.chromium.base.metrics.RecordUserAction; 13 import org.chromium.base.metrics.RecordUserAction;
14 import org.chromium.chrome.R; 14 import org.chromium.chrome.R;
15 import org.chromium.chrome.browser.compositor.LayerTitleCache; 15 import org.chromium.chrome.browser.compositor.LayerTitleCache;
16 import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable ; 16 import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable ;
17 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab; 17 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
18 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; 18 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
19 import org.chromium.chrome.browser.compositor.layouts.eventfilter.BlackHoleEvent Filter;
20 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilter; 19 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilter;
21 import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirectio n; 20 import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirectio n;
22 import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer; 21 import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer;
23 import org.chromium.chrome.browser.compositor.scene_layer.TabListSceneLayer; 22 import org.chromium.chrome.browser.compositor.scene_layer.TabListSceneLayer;
24 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; 23 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
25 import org.chromium.chrome.browser.tab.Tab; 24 import org.chromium.chrome.browser.tab.Tab;
26 import org.chromium.chrome.browser.tabmodel.TabModel; 25 import org.chromium.chrome.browser.tabmodel.TabModel;
27 import org.chromium.chrome.browser.util.MathUtils; 26 import org.chromium.chrome.browser.util.MathUtils;
28 import org.chromium.ui.base.LocalizationUtils; 27 import org.chromium.ui.base.LocalizationUtils;
29 import org.chromium.ui.resources.ResourceManager; 28 import org.chromium.ui.resources.ResourceManager;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 62
64 // Offsets are in pixels [0, width]. 63 // Offsets are in pixels [0, width].
65 private float mOffsetStart; 64 private float mOffsetStart;
66 private float mOffset; 65 private float mOffset;
67 private float mOffsetTarget; 66 private float mOffsetTarget;
68 67
69 // These will be set from dimens.xml 68 // These will be set from dimens.xml
70 private final float mSpaceBetweenTabs; 69 private final float mSpaceBetweenTabs;
71 private final float mCommitDistanceFromEdge; 70 private final float mCommitDistanceFromEdge;
72 71
73 private final BlackHoleEventFilter mBlackHoleEventFilter;
74 private final TabListSceneLayer mSceneLayer; 72 private final TabListSceneLayer mSceneLayer;
75 73
76 private final Interpolator mEdgeInterpolator = new DecelerateInterpolator(); 74 private final Interpolator mEdgeInterpolator = new DecelerateInterpolator();
77 75
78 /** 76 /**
79 * @param context The current Android's context. 77 * @param context The current Android's context.
80 * @param updateHost The {@link LayoutUpdateHost} view for this lay out. 78 * @param updateHost The {@link LayoutUpdateHost} view for this lay out.
81 * @param renderHost The {@link LayoutRenderHost} view for this lay out. 79 * @param renderHost The {@link LayoutRenderHost} view for this lay out.
82 * @param eventFilter The {@link EventFilter} that is needed for thi s view. 80 * @param eventFilter The {@link EventFilter} that is needed for thi s view.
83 */ 81 */
84 public ToolbarSwipeLayout( 82 public ToolbarSwipeLayout(Context context, LayoutUpdateHost updateHost,
85 Context context, LayoutUpdateHost updateHost, LayoutRenderHost rende rHost) { 83 LayoutRenderHost renderHost, EventFilter eventFilter) {
86 super(context, updateHost, renderHost); 84 super(context, updateHost, renderHost, eventFilter);
87 mBlackHoleEventFilter = new BlackHoleEventFilter(context);
88 Resources res = context.getResources(); 85 Resources res = context.getResources();
89 final float pxToDp = 1.0f / res.getDisplayMetrics().density; 86 final float pxToDp = 1.0f / res.getDisplayMetrics().density;
90 mCommitDistanceFromEdge = res.getDimension(R.dimen.toolbar_swipe_commit_ distance) * pxToDp; 87 mCommitDistanceFromEdge = res.getDimension(R.dimen.toolbar_swipe_commit_ distance) * pxToDp;
91 mSpaceBetweenTabs = res.getDimension(R.dimen.toolbar_swipe_space_between _tabs) * pxToDp; 88 mSpaceBetweenTabs = res.getDimension(R.dimen.toolbar_swipe_space_between _tabs) * pxToDp;
92 mSceneLayer = new TabListSceneLayer(); 89 mSceneLayer = new TabListSceneLayer();
93 } 90 }
94 91
95 /** 92 /**
96 * @param moveToolbar Whether or not swiping this layout should also move th e toolbar as well as 93 * @param moveToolbar Whether or not swiping this layout should also move th e toolbar as well as
97 * the content. 94 * the content.
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 if (prop == Property.OFFSET) { 348 if (prop == Property.OFFSET) {
352 mOffset = value; 349 mOffset = value;
353 mOffsetTarget = mOffset; 350 mOffsetTarget = mOffset;
354 } 351 }
355 } 352 }
356 353
357 @Override 354 @Override
358 public void onPropertyAnimationFinished(Property prop) {} 355 public void onPropertyAnimationFinished(Property prop) {}
359 356
360 @Override 357 @Override
361 protected EventFilter getEventFilter() {
362 return mBlackHoleEventFilter;
363 }
364
365 @Override
366 protected SceneLayer getSceneLayer() { 358 protected SceneLayer getSceneLayer() {
367 return mSceneLayer; 359 return mSceneLayer;
368 } 360 }
369 361
370 @Override 362 @Override
371 protected void updateSceneLayer(RectF viewport, RectF contentViewport, 363 protected void updateSceneLayer(RectF viewport, RectF contentViewport,
372 LayerTitleCache layerTitleCache, TabContentManager tabContentManager , 364 LayerTitleCache layerTitleCache, TabContentManager tabContentManager ,
373 ResourceManager resourceManager, ChromeFullscreenManager fullscreenM anager) { 365 ResourceManager resourceManager, ChromeFullscreenManager fullscreenM anager) {
374 super.updateSceneLayer(viewport, contentViewport, layerTitleCache, tabCo ntentManager, 366 super.updateSceneLayer(viewport, contentViewport, layerTitleCache, tabCo ntentManager,
375 resourceManager, fullscreenManager); 367 resourceManager, fullscreenManager);
376 assert mSceneLayer != null; 368 assert mSceneLayer != null;
377 // contentViewport is intentionally passed for both parameters below. 369 // contentViewport is intentionally passed for both parameters below.
378 mSceneLayer.pushLayers(getContext(), contentViewport, contentViewport, t his, 370 mSceneLayer.pushLayers(getContext(), contentViewport, contentViewport, t his,
379 layerTitleCache, tabContentManager, resourceManager, fullscreenM anager); 371 layerTitleCache, tabContentManager, resourceManager, fullscreenM anager);
380 } 372 }
381 } 373 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698