Commit fd9fbd72 authored by Peter Kotwicz's avatar Peter Kotwicz Committed by Commit Bot

[CCT Refactor] Delete BaseCustomTabActivityTabController

Delete BaseCustomTabActivityTabController now that
CustomTabActivityTabController is the only subclass.

BUG=985328

Change-Id: I80599887f9f5cb1d04ce8272d5f1812e8bf907c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2205593
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Reviewed-by: default avatarPeter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#770327}
parent 09f6ed06
...@@ -152,7 +152,6 @@ chrome_java_sources = [ ...@@ -152,7 +152,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProvider.java", "java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProvider.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProxy.java", "java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProxy.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetService.java", "java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetService.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesActivityTabController.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java", "java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesMetrics.java", "java/src/org/chromium/chrome/browser/browserservices/BrowserServicesMetrics.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesStore.java", "java/src/org/chromium/chrome/browser/browserservices/BrowserServicesStore.java",
......
// Copyright 2019 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.browserservices;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Nullable;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
/**
* Interface for controlling Activity's tabs.
*/
public interface BrowserServicesActivityTabController {
/**
* Detaches the tab and starts reparenting into the browser using given {@param intent} and
* {@param startActivityOptions}.
*/
void detachAndStartReparenting(
Intent intent, Bundle startActivityOptions, Runnable finishCallback);
/** Closes the current tab. */
void closeTab();
/** Closes the tab and deletes related metadata. */
void closeAndForgetTab();
/** Save the current state of the tab. */
void saveState();
/** Returns {@link TabModelSelector}. Should be called after postInflationStartup. */
public @Nullable TabModelSelector getTabModelSelector();
}
...@@ -7,8 +7,8 @@ package org.chromium.chrome.browser.customtabs; ...@@ -7,8 +7,8 @@ package org.chromium.chrome.browser.customtabs;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.browserservices.BrowserServicesActivityTabController;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider; import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider; import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.dependency_injection.ActivityScope; import org.chromium.chrome.browser.dependency_injection.ActivityScope;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
...@@ -38,12 +38,12 @@ import javax.inject.Inject; ...@@ -38,12 +38,12 @@ import javax.inject.Inject;
@ActivityScope @ActivityScope
public class CloseButtonNavigator { public class CloseButtonNavigator {
@Nullable private PageCriteria mLandingPageCriteria; @Nullable private PageCriteria mLandingPageCriteria;
private final BrowserServicesActivityTabController mTabController; private final CustomTabActivityTabController mTabController;
private final CustomTabActivityTabProvider mTabProvider; private final CustomTabActivityTabProvider mTabProvider;
private final boolean mButtonClosesChildTab; private final boolean mButtonClosesChildTab;
@Inject @Inject
public CloseButtonNavigator(BrowserServicesActivityTabController tabController, public CloseButtonNavigator(CustomTabActivityTabController tabController,
CustomTabActivityTabProvider tabProvider, CustomTabActivityTabProvider tabProvider,
BrowserServicesIntentDataProvider intentDataProvider) { BrowserServicesIntentDataProvider intentDataProvider) {
mTabController = tabController; mTabController = tabController;
......
...@@ -25,7 +25,6 @@ import org.chromium.base.task.PostTask; ...@@ -25,7 +25,6 @@ import org.chromium.base.task.PostTask;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.browserservices.BrowserServicesActivityTabController;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider; import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.customtabs.CloseButtonNavigator; import org.chromium.chrome.browser.customtabs.CloseButtonNavigator;
import org.chromium.chrome.browser.customtabs.CustomTabObserver; import org.chromium.chrome.browser.customtabs.CustomTabObserver;
...@@ -82,7 +81,7 @@ public class CustomTabActivityNavigationController implements StartStopWithNativ ...@@ -82,7 +81,7 @@ public class CustomTabActivityNavigationController implements StartStopWithNativ
void onFinish(@FinishReason int reason); void onFinish(@FinishReason int reason);
} }
private final BrowserServicesActivityTabController mTabController; private final CustomTabActivityTabController mTabController;
private final CustomTabActivityTabProvider mTabProvider; private final CustomTabActivityTabProvider mTabProvider;
private final BrowserServicesIntentDataProvider mIntentDataProvider; private final BrowserServicesIntentDataProvider mIntentDataProvider;
private final CustomTabsConnection mConnection; private final CustomTabsConnection mConnection;
...@@ -115,7 +114,7 @@ public class CustomTabActivityNavigationController implements StartStopWithNativ ...@@ -115,7 +114,7 @@ public class CustomTabActivityNavigationController implements StartStopWithNativ
}; };
@Inject @Inject
public CustomTabActivityNavigationController(BrowserServicesActivityTabController tabController, public CustomTabActivityNavigationController(CustomTabActivityTabController tabController,
CustomTabActivityTabProvider tabProvider, CustomTabActivityTabProvider tabProvider,
BrowserServicesIntentDataProvider intentDataProvider, CustomTabsConnection connection, BrowserServicesIntentDataProvider intentDataProvider, CustomTabsConnection connection,
Lazy<CustomTabObserver> customTabObserver, CloseButtonNavigator closeButtonNavigator, Lazy<CustomTabObserver> customTabObserver, CloseButtonNavigator closeButtonNavigator,
......
...@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.IntentHandler; ...@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.ServiceTabLauncher; import org.chromium.chrome.browser.ServiceTabLauncher;
import org.chromium.chrome.browser.WarmupManager; import org.chromium.chrome.browser.WarmupManager;
import org.chromium.chrome.browser.WebContentsFactory; import org.chromium.chrome.browser.WebContentsFactory;
import org.chromium.chrome.browser.browserservices.BrowserServicesActivityTabController;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider; import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.customtabs.CustomTabDelegateFactory; import org.chromium.chrome.browser.customtabs.CustomTabDelegateFactory;
...@@ -71,8 +70,7 @@ import dagger.Lazy; ...@@ -71,8 +70,7 @@ import dagger.Lazy;
* Creates a new Tab or retrieves an existing Tab for the CustomTabActivity, and initializes it. * Creates a new Tab or retrieves an existing Tab for the CustomTabActivity, and initializes it.
*/ */
@ActivityScope @ActivityScope
public class CustomTabActivityTabController public class CustomTabActivityTabController implements InflationObserver {
implements InflationObserver, BrowserServicesActivityTabController {
// For CustomTabs.WebContentsStateOnLaunch, see histograms.xml. Append only. // For CustomTabs.WebContentsStateOnLaunch, see histograms.xml. Append only.
@IntDef({WebContentsState.NO_WEBCONTENTS, WebContentsState.PRERENDERED_WEBCONTENTS, @IntDef({WebContentsState.NO_WEBCONTENTS, WebContentsState.PRERENDERED_WEBCONTENTS,
WebContentsState.SPARE_WEBCONTENTS, WebContentsState.TRANSFERRED_WEBCONTENTS}) WebContentsState.SPARE_WEBCONTENTS, WebContentsState.TRANSFERRED_WEBCONTENTS})
...@@ -161,7 +159,6 @@ public class CustomTabActivityTabController ...@@ -161,7 +159,6 @@ public class CustomTabActivityTabController
&& !hasSpeculated && !mWarmupManager.hasSpareWebContents(); && !hasSpeculated && !mWarmupManager.hasSpareWebContents();
} }
@Override
public void detachAndStartReparenting( public void detachAndStartReparenting(
Intent intent, Bundle startActivityOptions, Runnable finishCallback) { Intent intent, Bundle startActivityOptions, Runnable finishCallback) {
Tab tab = mTabProvider.getTab(); Tab tab = mTabProvider.getTab();
...@@ -179,24 +176,20 @@ public class CustomTabActivityTabController ...@@ -179,24 +176,20 @@ public class CustomTabActivityTabController
* case links with target="_blank" were followed. See the comment to * case links with target="_blank" were followed. See the comment to
* {@link CustomTabActivityTabProvider.Observer#onAllTabsClosed}. * {@link CustomTabActivityTabProvider.Observer#onAllTabsClosed}.
*/ */
@Override
public void closeTab() { public void closeTab() {
mTabFactory.getTabModelSelector().getCurrentModel().closeTab(mTabProvider.getTab(), mTabFactory.getTabModelSelector().getCurrentModel().closeTab(mTabProvider.getTab(),
false, false, false); false, false, false);
} }
@Override
public void closeAndForgetTab() { public void closeAndForgetTab() {
mTabFactory.getTabModelSelector().closeAllTabs(true); mTabFactory.getTabModelSelector().closeAllTabs(true);
mTabPersistencePolicy.deleteMetadataStateFileAsync(); mTabPersistencePolicy.deleteMetadataStateFileAsync();
} }
@Override
public void saveState() { public void saveState() {
mTabFactory.getTabModelSelector().saveState(); mTabFactory.getTabModelSelector().saveState();
} }
@Override
public TabModelSelector getTabModelSelector() { public TabModelSelector getTabModelSelector() {
return mTabFactory.getTabModelSelector(); return mTabFactory.getTabModelSelector();
} }
......
...@@ -4,13 +4,11 @@ ...@@ -4,13 +4,11 @@
package org.chromium.chrome.browser.customtabs.dependency_injection; package org.chromium.chrome.browser.customtabs.dependency_injection;
import org.chromium.chrome.browser.browserservices.BrowserServicesActivityTabController;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider; import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.browserservices.trustedwebactivityui.TwaIntentHandlingStrategy; import org.chromium.chrome.browser.browserservices.trustedwebactivityui.TwaIntentHandlingStrategy;
import org.chromium.chrome.browser.browserservices.trustedwebactivityui.controller.TwaVerifier; import org.chromium.chrome.browser.browserservices.trustedwebactivityui.controller.TwaVerifier;
import org.chromium.chrome.browser.browserservices.trustedwebactivityui.controller.Verifier; import org.chromium.chrome.browser.browserservices.trustedwebactivityui.controller.Verifier;
import org.chromium.chrome.browser.customtabs.CustomTabNightModeStateController; import org.chromium.chrome.browser.customtabs.CustomTabNightModeStateController;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler.IntentIgnoringCriterion; import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler.IntentIgnoringCriterion;
import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandlingStrategy; import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandlingStrategy;
import org.chromium.chrome.browser.customtabs.content.DefaultCustomTabIntentHandlingStrategy; import org.chromium.chrome.browser.customtabs.content.DefaultCustomTabIntentHandlingStrategy;
...@@ -94,10 +92,4 @@ public class BaseCustomTabActivityModule { ...@@ -94,10 +92,4 @@ public class BaseCustomTabActivityModule {
public WebApkPostShareTargetNavigator providePostShareTargetNavigator() { public WebApkPostShareTargetNavigator providePostShareTargetNavigator() {
return new WebApkPostShareTargetNavigator(); return new WebApkPostShareTargetNavigator();
} }
@Provides
public BrowserServicesActivityTabController provideTabController(
CustomTabActivityTabController customTabActivityTabController) {
return customTabActivityTabController;
}
} }
...@@ -22,7 +22,6 @@ import org.chromium.base.Log; ...@@ -22,7 +22,6 @@ import org.chromium.base.Log;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.browserservices.BrowserServicesActivityTabController;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider; import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.compositor.layouts.LayoutManager; import org.chromium.chrome.browser.compositor.layouts.LayoutManager;
import org.chromium.chrome.browser.customtabs.CloseButtonVisibilityManager; import org.chromium.chrome.browser.customtabs.CloseButtonVisibilityManager;
...@@ -30,6 +29,7 @@ import org.chromium.chrome.browser.customtabs.CustomButtonParams; ...@@ -30,6 +29,7 @@ import org.chromium.chrome.browser.customtabs.CustomButtonParams;
import org.chromium.chrome.browser.customtabs.CustomTabCompositorContentInitializer; import org.chromium.chrome.browser.customtabs.CustomTabCompositorContentInitializer;
import org.chromium.chrome.browser.customtabs.CustomTabsConnection; import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigationController; import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigationController;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider; import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.dependency_injection.ActivityScope; import org.chromium.chrome.browser.dependency_injection.ActivityScope;
import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
...@@ -64,7 +64,7 @@ public class CustomTabToolbarCoordinator { ...@@ -64,7 +64,7 @@ public class CustomTabToolbarCoordinator {
private final CustomTabsConnection mConnection; private final CustomTabsConnection mConnection;
private final ChromeActivity<?> mActivity; private final ChromeActivity<?> mActivity;
private final Context mAppContext; private final Context mAppContext;
private final BrowserServicesActivityTabController mTabController; private final CustomTabActivityTabController mTabController;
private final Lazy<ChromeFullscreenManager> mFullscreenManager; private final Lazy<ChromeFullscreenManager> mFullscreenManager;
private final CustomTabActivityNavigationController mNavigationController; private final CustomTabActivityNavigationController mNavigationController;
private final CloseButtonVisibilityManager mCloseButtonVisibilityManager; private final CloseButtonVisibilityManager mCloseButtonVisibilityManager;
...@@ -84,7 +84,7 @@ public class CustomTabToolbarCoordinator { ...@@ -84,7 +84,7 @@ public class CustomTabToolbarCoordinator {
public CustomTabToolbarCoordinator(BrowserServicesIntentDataProvider intentDataProvider, public CustomTabToolbarCoordinator(BrowserServicesIntentDataProvider intentDataProvider,
CustomTabActivityTabProvider tabProvider, CustomTabsConnection connection, CustomTabActivityTabProvider tabProvider, CustomTabsConnection connection,
ChromeActivity<?> activity, @Named(APP_CONTEXT) Context appContext, ChromeActivity<?> activity, @Named(APP_CONTEXT) Context appContext,
BrowserServicesActivityTabController tabController, CustomTabActivityTabController tabController,
Lazy<ChromeFullscreenManager> fullscreenManager, Lazy<ChromeFullscreenManager> fullscreenManager,
CustomTabActivityNavigationController navigationController, CustomTabActivityNavigationController navigationController,
CloseButtonVisibilityManager closeButtonVisibilityManager, CloseButtonVisibilityManager closeButtonVisibilityManager,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment