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

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

Issue 2774443002: chrome/android: Push EventFilters into the Layout implementations. (Closed)
Patch Set: fix for re-landing 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.annotation.TargetApi; 7 import android.annotation.TargetApi;
8 import android.content.Context; 8 import android.content.Context;
9 import android.os.Build; 9 import android.os.Build;
10 import android.util.SparseArray; 10 import android.util.SparseArray;
11 import android.view.MotionEvent; 11 import android.view.MotionEvent;
12 import android.view.ViewGroup; 12 import android.view.ViewGroup;
13 13
14 import org.chromium.chrome.browser.ChromeApplication; 14 import org.chromium.chrome.browser.ChromeApplication;
15 import org.chromium.chrome.browser.UrlConstants; 15 import org.chromium.chrome.browser.UrlConstants;
16 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContentViewD elegate; 16 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContentViewD elegate;
17 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager; 17 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager;
18 import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.Context ualSearchPanel; 18 import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.Context ualSearchPanel;
19 import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModePan el; 19 import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModePan el;
20 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab; 20 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
21 import org.chromium.chrome.browser.compositor.layouts.components.VirtualView; 21 import org.chromium.chrome.browser.compositor.layouts.components.VirtualView;
22 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; 22 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
23 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EdgeSwipeHandl er; 23 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EdgeSwipeHandl er;
24 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EmptyEdgeSwipe Handler; 24 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EmptyEdgeSwipe Handler;
25 import org.chromium.chrome.browser.compositor.layouts.eventfilter.GestureHandler ;
26 import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirectio n; 25 import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirectio n;
27 import org.chromium.chrome.browser.compositor.overlays.SceneOverlay; 26 import org.chromium.chrome.browser.compositor.overlays.SceneOverlay;
28 import org.chromium.chrome.browser.compositor.scene_layer.ToolbarSceneLayer; 27 import org.chromium.chrome.browser.compositor.scene_layer.ToolbarSceneLayer;
29 import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDe legate; 28 import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDe legate;
30 import org.chromium.chrome.browser.device.DeviceClassManager; 29 import org.chromium.chrome.browser.device.DeviceClassManager;
31 import org.chromium.chrome.browser.dom_distiller.ReaderModeManagerDelegate; 30 import org.chromium.chrome.browser.dom_distiller.ReaderModeManagerDelegate;
32 import org.chromium.chrome.browser.fullscreen.FullscreenManager; 31 import org.chromium.chrome.browser.fullscreen.FullscreenManager;
33 import org.chromium.chrome.browser.tab.Tab; 32 import org.chromium.chrome.browser.tab.Tab;
34 import org.chromium.chrome.browser.tabmodel.TabCreatorManager; 33 import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
35 import org.chromium.chrome.browser.tabmodel.TabModel; 34 import org.chromium.chrome.browser.tabmodel.TabModel;
(...skipping 14 matching lines...) Expand all
50 */ 49 */
51 public class LayoutManagerDocument extends LayoutManager 50 public class LayoutManagerDocument extends LayoutManager
52 implements OverlayPanelContentViewDelegate { 51 implements OverlayPanelContentViewDelegate {
53 // Layouts 52 // Layouts
54 /** A {@link Layout} used for showing a normal web page. */ 53 /** A {@link Layout} used for showing a normal web page. */
55 protected final StaticLayout mStaticLayout; 54 protected final StaticLayout mStaticLayout;
56 55
57 // Event Filters 56 // Event Filters
58 private final EdgeSwipeHandler mToolbarSwipeHandler; 57 private final EdgeSwipeHandler mToolbarSwipeHandler;
59 58
60 // Event Filter Handlers
61 /** A {@link GestureHandler} that will delegate all events to {@link #getAct iveLayout()}. */
62 protected final GestureHandler mGestureHandler;
63
64 // Internal State 59 // Internal State
65 private final SparseArray<LayoutTab> mTabCache = new SparseArray<LayoutTab>( ); 60 private final SparseArray<LayoutTab> mTabCache = new SparseArray<LayoutTab>( );
66 private final ContextualSearchPanel mContextualSearchPanel; 61 private final ContextualSearchPanel mContextualSearchPanel;
67 private final ReaderModePanel mReaderModePanel; 62 private final ReaderModePanel mReaderModePanel;
68 private final OverlayPanelManager mOverlayPanelManager; 63 private final OverlayPanelManager mOverlayPanelManager;
69 private final ToolbarSceneLayer mToolbarOverlay; 64 private final ToolbarSceneLayer mToolbarOverlay;
70 /** A delegate for interacting with the Contextual Search manager. */ 65 /** A delegate for interacting with the Contextual Search manager. */
71 protected ContextualSearchManagementDelegate mContextualSearchDelegate; 66 protected ContextualSearchManagementDelegate mContextualSearchDelegate;
72 67
73 private final Context mContext; 68 private final Context mContext;
74 69
75 @SuppressWarnings("unused") private TabModelSelectorTabObserver mTabModelSel ectorTabObserver; 70 @SuppressWarnings("unused") private TabModelSelectorTabObserver mTabModelSel ectorTabObserver;
76 71
77 /** 72 /**
78 * Creates a {@link LayoutManagerDocument} instance. 73 * Creates a {@link LayoutManagerDocument} instance.
79 * @param host A {@link LayoutManagerHost} instance. 74 * @param host A {@link LayoutManagerHost} instance.
80 */ 75 */
81 public LayoutManagerDocument(LayoutManagerHost host) { 76 public LayoutManagerDocument(LayoutManagerHost host) {
82 super(host); 77 super(host);
83 mContext = host.getContext(); 78 mContext = host.getContext();
84 LayoutRenderHost renderHost = host.getLayoutRenderHost(); 79 LayoutRenderHost renderHost = host.getLayoutRenderHost();
85 80
86 mToolbarOverlay = new ToolbarSceneLayer(mContext, this, renderHost); 81 mToolbarOverlay = new ToolbarSceneLayer(mContext, this, renderHost);
87 82
88 // Build Event Filter Handlers 83 // Build Event Filter Handlers
89 mGestureHandler = new GestureHandlerLayoutDelegate(this);
90 mToolbarSwipeHandler = new ToolbarSwipeHandler(this); 84 mToolbarSwipeHandler = new ToolbarSwipeHandler(this);
91 85
92 mOverlayPanelManager = new OverlayPanelManager(); 86 mOverlayPanelManager = new OverlayPanelManager();
93 87
94 // Build Layouts 88 // Build Layouts
95 mStaticLayout = new StaticLayout(mContext, this, renderHost, null, mOver layPanelManager); 89 mStaticLayout = new StaticLayout(mContext, this, renderHost, null, mOver layPanelManager);
96 90
97 // Contextual Search scene overlay. 91 // Contextual Search scene overlay.
98 mContextualSearchPanel = new ContextualSearchPanel(mContext, this, mOver layPanelManager); 92 mContextualSearchPanel = new ContextualSearchPanel(mContext, this, mOver layPanelManager);
99 93
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 || !FeatureUtilities.isDocumentModeEligible(mHost.getContext ()) 382 || !FeatureUtilities.isDocumentModeEligible(mHost.getContext ())
389 || !DeviceClassManager.enableToolbarSwipe() 383 || !DeviceClassManager.enableToolbarSwipe()
390 || (manager != null && manager.getPersistentFullscreenMode() )) { 384 || (manager != null && manager.getPersistentFullscreenMode() )) {
391 return false; 385 return false;
392 } 386 }
393 387
394 return direction == ScrollDirection.LEFT || direction == ScrollDirec tion.RIGHT; 388 return direction == ScrollDirection.LEFT || direction == ScrollDirec tion.RIGHT;
395 } 389 }
396 } 390 }
397 } 391 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698