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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/widget/OverviewListLayout.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.widget; 5 package org.chromium.chrome.browser.widget;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.view.LayoutInflater; 8 import android.view.LayoutInflater;
9 import android.view.ViewGroup; 9 import android.view.ViewGroup;
10 import android.widget.FrameLayout; 10 import android.widget.FrameLayout;
11 import android.widget.ListView; 11 import android.widget.ListView;
12 12
13 import org.chromium.base.VisibleForTesting; 13 import org.chromium.base.VisibleForTesting;
14 import org.chromium.chrome.R; 14 import org.chromium.chrome.R;
15 import org.chromium.chrome.browser.compositor.layouts.Layout; 15 import org.chromium.chrome.browser.compositor.layouts.Layout;
16 import org.chromium.chrome.browser.compositor.layouts.LayoutRenderHost; 16 import org.chromium.chrome.browser.compositor.layouts.LayoutRenderHost;
17 import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost; 17 import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
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;
19 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilter; 20 import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilter;
20 import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer; 21 import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer;
21 import org.chromium.chrome.browser.tabmodel.TabModel; 22 import org.chromium.chrome.browser.tabmodel.TabModel;
22 import org.chromium.chrome.browser.tabmodel.TabModelSelector; 23 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
23 import org.chromium.chrome.browser.tabmodel.TabModelUtils; 24 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
24 import org.chromium.chrome.browser.widget.accessibility.AccessibilityTabModelAda pter.AccessibilityTabModelAdapterListener; 25 import org.chromium.chrome.browser.widget.accessibility.AccessibilityTabModelAda pter.AccessibilityTabModelAdapterListener;
25 import org.chromium.chrome.browser.widget.accessibility.AccessibilityTabModelWra pper; 26 import org.chromium.chrome.browser.widget.accessibility.AccessibilityTabModelWra pper;
26 27
27 /** 28 /**
28 * A {@link Layout} that shows the tabs as two {@link ListView}s, one for each { @link TabModel} to 29 * A {@link Layout} that shows the tabs as two {@link ListView}s, one for each { @link TabModel} to
29 * represent. 30 * represent.
30 */ 31 */
31 public class OverviewListLayout extends Layout implements AccessibilityTabModelA dapterListener { 32 public class OverviewListLayout extends Layout implements AccessibilityTabModelA dapterListener {
32 private AccessibilityTabModelWrapper mTabModelWrapper; 33 private AccessibilityTabModelWrapper mTabModelWrapper;
33 private final float mDpToPx; 34 private final float mDpToPx;
35 private final BlackHoleEventFilter mBlackHoleEventFilter;
34 private final SceneLayer mSceneLayer; 36 private final SceneLayer mSceneLayer;
35 37
36 public OverviewListLayout(Context context, LayoutUpdateHost updateHost, 38 public OverviewListLayout(
37 LayoutRenderHost renderHost, EventFilter eventFilter) { 39 Context context, LayoutUpdateHost updateHost, LayoutRenderHost rende rHost) {
38 super(context, updateHost, renderHost, eventFilter); 40 super(context, updateHost, renderHost);
41 mBlackHoleEventFilter = new BlackHoleEventFilter(context);
39 mDpToPx = context.getResources().getDisplayMetrics().density; 42 mDpToPx = context.getResources().getDisplayMetrics().density;
40 mSceneLayer = new SceneLayer(); 43 mSceneLayer = new SceneLayer();
41 } 44 }
42 45
43 @Override 46 @Override
44 public void attachViews(ViewGroup container) { 47 public void attachViews(ViewGroup container) {
45 if (mTabModelWrapper == null) { 48 if (mTabModelWrapper == null) {
46 mTabModelWrapper = 49 mTabModelWrapper =
47 (AccessibilityTabModelWrapper) LayoutInflater.from(container .getContext()) 50 (AccessibilityTabModelWrapper) LayoutInflater.from(container .getContext())
48 .inflate(R.layout.accessibility_tab_switcher, null); 51 .inflate(R.layout.accessibility_tab_switcher, null);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 public void onTabClosureCommitted(long time, int tabId, boolean incognito) { 182 public void onTabClosureCommitted(long time, int tabId, boolean incognito) {
180 mTabModelWrapper.setStateBasedOnModel(); 183 mTabModelWrapper.setStateBasedOnModel();
181 } 184 }
182 185
183 @Override 186 @Override
184 public void showTab(int tabId) { 187 public void showTab(int tabId) {
185 onTabSelecting(0, tabId); 188 onTabSelecting(0, tabId);
186 } 189 }
187 190
188 @Override 191 @Override
192 protected EventFilter getEventFilter() {
193 return mBlackHoleEventFilter;
194 }
195
196 @Override
189 protected SceneLayer getSceneLayer() { 197 protected SceneLayer getSceneLayer() {
190 return mSceneLayer; 198 return mSceneLayer;
191 } 199 }
192 } 200 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698