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

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

Issue 2444803003: Remove LayoutManagerDocumentTabSwitcher as it is unused. (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « no previous file | chrome/android/java_sources.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocumentTabSwitcher.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocumentTabSwitcher.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocumentTabSwitcher.java
deleted file mode 100644
index f6c3bf65304e9d454c3abdadc0ffc1a686c4c3fe..0000000000000000000000000000000000000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocumentTabSwitcher.java
+++ /dev/null
@@ -1,270 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.compositor.layouts;
-
-import android.app.Activity;
-import android.content.Context;
-import android.view.ViewGroup;
-
-import org.chromium.base.ObserverList;
-import org.chromium.chrome.browser.ChromeApplication;
-import org.chromium.chrome.browser.compositor.TitleCache;
-import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
-import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
-import org.chromium.chrome.browser.compositor.layouts.eventfilter.BlackHoleEventFilter;
-import org.chromium.chrome.browser.compositor.layouts.eventfilter.GestureEventFilter;
-import org.chromium.chrome.browser.compositor.layouts.eventfilter.GestureHandler;
-import org.chromium.chrome.browser.compositor.layouts.phone.StackLayout;
-import org.chromium.chrome.browser.compositor.overlays.SceneOverlay;
-import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDelegate;
-import org.chromium.chrome.browser.device.DeviceClassManager;
-import org.chromium.chrome.browser.dom_distiller.ReaderModeManagerDelegate;
-import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
-import org.chromium.chrome.browser.tabmodel.TabModelSelector;
-import org.chromium.chrome.browser.widget.OverviewListLayout;
-import org.chromium.content.browser.ContentViewCore;
-import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
-
-/**
- * A {@link Layout} controller for enabling tab switcher on document mode.
- * Note that lots of fields and methods here intentionally duplicate those of LayoutManagerChrome
- * without further refactoring them because because this is for a UX experiment, and
- * we might scrap this as a whole.
- * See https://crbug.com/520327 for more.
- */
-public class LayoutManagerDocumentTabSwitcher
- extends LayoutManagerDocument implements OverviewModeBehavior {
- /** A {@link Layout} that should be used when the user is swiping sideways on the toolbar. */
- private final OverviewListLayout mOverviewListLayout;
- private final StackLayout mOverviewLayout;
-
- // Event Filter Handlers
- /** A {@link GestureHandler} that will delegate all events to {@link #getActiveLayout()}. */
- private final BlackHoleEventFilter mBlackHoleEventFilter;
- private final GestureEventFilter mGestureEventFilter;
-
- private TitleCache mTitleCache;
- private final ObserverList<OverviewModeObserver> mOverviewModeObservers =
- new ObserverList<OverviewModeObserver>();
-
- /**
- * Creates a {@link LayoutManagerDocumentTabSwitcher} instance.
- * @param host A {@link LayoutManagerHost} instance.
- */
- public LayoutManagerDocumentTabSwitcher(LayoutManagerHost host) {
- super(host);
- Context context = host.getContext();
- LayoutRenderHost renderHost = host.getLayoutRenderHost();
-
- mBlackHoleEventFilter = new BlackHoleEventFilter(context, this);
- mGestureEventFilter = new GestureEventFilter(context, this, mGestureHandler);
- mOverviewListLayout =
- new OverviewListLayout(context, this, renderHost, mBlackHoleEventFilter);
- mOverviewLayout = new StackLayout(context, this, renderHost, mGestureEventFilter);
- }
-
- @Override
- public void init(TabModelSelector selector, TabCreatorManager creator,
- TabContentManager content, ViewGroup androidContentContainer,
- ContextualSearchManagementDelegate contextualSearchDelegate,
- ReaderModeManagerDelegate readerModeManagerDelegate,
- DynamicResourceLoader dynamicResourceLoader) {
- super.init(selector, creator, content, androidContentContainer, contextualSearchDelegate,
- readerModeManagerDelegate, dynamicResourceLoader);
-
- mTitleCache = mHost.getTitleCache();
- TabModelSelector documentTabSelector = ChromeApplication.getDocumentTabModelSelector();
- mOverviewListLayout.setTabModelSelector(documentTabSelector, content);
- mOverviewLayout.setTabModelSelector(documentTabSelector, content);
-
- // TODO(changwan): do we really need this?
- startShowing(getDefaultLayout(), false);
- }
-
- @Override
- public void destroy() {
- super.destroy();
-
- if (mOverviewListLayout != null) mOverviewListLayout.destroy();
- if (mOverviewLayout != null) mOverviewLayout.destroy();
- }
-
- /**
- * Adds the {@link SceneOverlay} across all {@link Layout}s owned by this class.
- * @param helper A {@link SceneOverlay} instance.
- */
- @Override
- protected void addGlobalSceneOverlay(SceneOverlay helper) {
- super.addGlobalSceneOverlay(helper);
- if (mOverviewListLayout != null) {
- mOverviewListLayout.addSceneOverlay(helper);
- }
- if (mOverviewLayout != null) {
- mOverviewLayout.addSceneOverlay(helper);
- }
- }
-
- @Override
- public void initLayoutTabFromHost(final int tabId) {
- if (mTitleCache != null) {
- mTitleCache.remove(tabId);
- }
- super.initLayoutTabFromHost(tabId);
- }
-
- @Override
- public void releaseTabLayout(int id) {
- super.releaseTabLayout(id);
- if (mTitleCache != null) mTitleCache.remove(id);
- }
-
- @Override
- public void doneHiding() {
- super.doneHiding();
- // Remove transition animation when switching to another tab, in accordance to
- // moveToFront() in ActivityDelegate.
- Activity activity = (Activity) mHost.getContext();
- if (activity != null) {
- activity.overridePendingTransition(0, 0);
- }
- }
-
- @Override
- protected void startShowing(Layout layout, boolean animate) {
- super.startShowing(layout, animate);
-
- Layout layoutBeingShown = getActiveLayout();
-
- // Check if we should notify OverviewModeObservers.
- if (isOverviewLayout(layoutBeingShown)) {
- boolean showToolbar = false;
- for (OverviewModeObserver observer : mOverviewModeObservers) {
- observer.onOverviewModeStartedShowing(showToolbar);
- }
- }
- }
-
- @Override
- public void startHiding(int nextTabId, boolean hintAtTabSelection) {
- super.startHiding(nextTabId, hintAtTabSelection);
-
- Layout layoutBeingHidden = getActiveLayout();
- if (isOverviewLayout(layoutBeingHidden)) {
- boolean showToolbar = true;
- if (layoutBeingHidden == mOverviewLayout) {
- final LayoutTab tab = layoutBeingHidden.getLayoutTab(nextTabId);
- // Note: this value is reversed in LayoutManagerChrome#startHiding.
- showToolbar = tab != null ? tab.showToolbar() : true;
- }
-
- boolean delayAnimation = false;
- for (OverviewModeObserver observer : mOverviewModeObservers) {
- observer.onOverviewModeStartedHiding(showToolbar, delayAnimation);
- }
- }
- }
-
- private boolean isOverviewLayout(Layout layout) {
- return layout != null && (layout == mOverviewLayout || layout == mOverviewListLayout);
- }
-
- @Override
- public void addOverviewModeObserver(OverviewModeObserver listener) {
- mOverviewModeObservers.addObserver(listener);
- }
-
- @Override
- public void removeOverviewModeObserver(OverviewModeObserver listener) {
- mOverviewModeObservers.removeObserver(listener);
- }
-
- @Override
- public boolean overviewVisible() {
- Layout activeLayout = getActiveLayout();
- return isOverviewLayout(activeLayout) && !activeLayout.isHiding();
- }
-
- public void toggleOverview() {
- Tab tab = getTabModelSelector().getCurrentTab();
- ContentViewCore contentViewCore = tab != null ? tab.getContentViewCore() : null;
-
- if (!overviewVisible()) {
- mHost.hideKeyboard(new Runnable() {
- @Override
- public void run() {
- showOverview(true);
- }
- });
- if (contentViewCore != null) {
- contentViewCore.setAccessibilityState(false);
- }
- } else {
- Layout activeLayout = getActiveLayout();
- if (activeLayout instanceof StackLayout) {
- ((StackLayout) activeLayout).commitOutstandingModelState(LayoutManager.time());
- }
- if (getTabModelSelector().getCurrentModel().getCount() != 0) {
- // Don't hide overview if current tab stack is empty()
- hideOverview(true);
-
- // hideOverview could change the current tab. Update the local variables.
- tab = getTabModelSelector().getCurrentTab();
- contentViewCore = tab != null ? tab.getContentViewCore() : null;
-
- if (contentViewCore != null) {
- contentViewCore.setAccessibilityState(true);
- }
- }
- }
- }
-
- /**
- * @return Whether or not to use the accessibility layout.
- */
- private boolean useAccessibilityLayout() {
- return DeviceClassManager.isAccessibilityModeEnabled(mHost.getContext())
- || DeviceClassManager.enableAccessibilityLayout();
- }
-
- /**
- * Show the overview {@link Layout}. This is generally a {@link Layout} that visibly represents
- * all of the {@link Tab}s opened by the user.
- * @param animate Whether or not to animate the transition to overview mode.
- */
- private void showOverview(boolean animate) {
- boolean useAccessibility = useAccessibilityLayout();
-
- boolean accessibilityIsVisible =
- useAccessibility && getActiveLayout() == mOverviewListLayout;
- boolean normalIsVisible = getActiveLayout() == mOverviewLayout && mOverviewLayout != null;
-
- // We only want to use the AccessibilityOverviewLayout if the following are all valid:
- // 1. We're already showing the AccessibilityOverviewLayout OR we're using accessibility.
- // 2. We're not already showing the normal OverviewLayout (or we are on a tablet, in which
- // case the normal layout is always visible).
- if ((accessibilityIsVisible || useAccessibility) && !normalIsVisible) {
- startShowing(mOverviewListLayout, animate);
- } else if (mOverviewLayout != null) {
- startShowing(mOverviewLayout, animate);
- }
- }
-
- /**
- * Hides the current {@link Layout}, returning to the default {@link Layout}.
- * @param animate Whether or not to animate the transition to the default {@link Layout}.
- */
- private void hideOverview(boolean animate) {
- Layout activeLayout = getActiveLayout();
- if (activeLayout != null && !activeLayout.isHiding()) {
- if (animate) {
- activeLayout.onTabSelecting(time(), Tab.INVALID_TAB_ID);
- } else {
- startHiding(Tab.INVALID_TAB_ID, false);
- doneHiding();
- }
- }
- }
-}
« no previous file with comments | « no previous file | chrome/android/java_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698