Commit 33c87467 authored by Michael Thiessen's avatar Michael Thiessen Committed by Commit Bot

Cleanup of TabModelSelector#openNewTab

Should be no functionality changes here.
SingleTabModelSelector#openNewTab was completely unused because the
only instantiation of it overwrote it.

Binary-Size: This is an R8 bug, see b/139304307
Change-Id: Id9f4b8a9a4cf402194c631845632139b73f5bb23
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1748115Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#687321}
parent 2bc7961a
......@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.tabmodel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.TabSelectionType;
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.UiThreadTaskTraits;
/**
......@@ -39,14 +38,7 @@ public abstract class SingleTabActivity extends ChromeActivity {
@Override
protected TabModelSelector createTabModelSelector() {
return new SingleTabModelSelector(this, false, false) {
@Override
public Tab openNewTab(LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent,
boolean incognito) {
getTabCreator(incognito).createNewTab(loadUrlParams, type, parent);
return null;
}
};
return new SingleTabModelSelector(this, this, false, false);
}
@Override
......
......@@ -5,22 +5,18 @@
package org.chromium.chrome.browser.tabmodel;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.content_public.browser.LoadUrlParams;
/**
* Simple TabModelSelector that assumes that only the regular TabModel type exists.
*/
public class SingleTabModelSelector extends TabModelSelectorBase {
private final Context mApplicationContext;
private final SingleTabModel mTabModel;
public SingleTabModelSelector(Activity activity, boolean incognito, boolean blockNewWindows) {
mApplicationContext = activity.getApplicationContext();
public SingleTabModelSelector(Activity activity, TabCreatorManager tabCreatorManager,
boolean incognito, boolean blockNewWindows) {
super(tabCreatorManager);
mTabModel = new SingleTabModel(activity, incognito, blockNewWindows);
initialize(false, mTabModel);
}
......@@ -51,16 +47,6 @@ public class SingleTabModelSelector extends TabModelSelectorBase {
return mTabModel.isIncognito();
}
@Override
public Tab openNewTab(
LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent, boolean incognito) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(loadUrlParams.getUrl()));
intent.setPackage(mApplicationContext.getPackageName());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mApplicationContext.startActivity(intent);
return null;
}
@Override
public void closeAllTabs() {
mTabModel.closeAllTabs();
......
......@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.tabmodel;
import org.chromium.base.ObserverList;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.content_public.browser.LoadUrlParams;
import java.util.ArrayList;
import java.util.Collections;
......@@ -34,6 +35,12 @@ public abstract class TabModelSelectorBase implements TabModelSelector {
new ObserverList<TabModelSelectorObserver>();
private boolean mTabStateInitialized;
private final TabCreatorManager mTabCreatorManager;
protected TabModelSelectorBase(TabCreatorManager tabCreatorManager) {
mTabCreatorManager = tabCreatorManager;
}
protected final void initialize(boolean startIncognito, TabModel... models) {
// Only normal and incognito supported for now.
assert mTabModels.isEmpty();
......@@ -155,6 +162,13 @@ public abstract class TabModelSelectorBase implements TabModelSelector {
return mTabModels;
}
@Override
public Tab openNewTab(
LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent, boolean incognito) {
return mTabCreatorManager.getTabCreator(incognito).createNewTab(
loadUrlParams, type, parent);
}
@Override
public boolean closeTab(Tab tab) {
for (int i = 0; i < getModels().size(); i++) {
......@@ -261,4 +275,8 @@ public abstract class TabModelSelectorBase implements TabModelSelector {
listener.onNewTabCreated(tab);
}
}
protected TabCreatorManager getTabCreatorManager() {
return mTabCreatorManager;
}
}
......@@ -14,7 +14,6 @@ import org.chromium.chrome.browser.tab.SadTab;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.Tab.TabHidingType;
import org.chromium.chrome.browser.tabmodel.TabPersistentStore.TabPersistentStoreObserver;
import org.chromium.content_public.browser.LoadUrlParams;
import java.util.concurrent.atomic.AtomicBoolean;
......@@ -26,8 +25,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class TabModelSelectorImpl extends TabModelSelectorBase implements TabModelDelegate {
public static final int CUSTOM_TABS_SELECTOR_INDEX = -1;
private final TabCreatorManager mTabCreatorManager;
/** Flag set to false when the asynchronous loading of tabs is finished. */
private final AtomicBoolean mSessionRestoreInProgress =
new AtomicBoolean(true);
......@@ -65,8 +62,7 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
*/
public TabModelSelectorImpl(Activity activity, TabCreatorManager tabCreatorManager,
TabPersistencePolicy persistencePolicy, boolean supportUndo, boolean isTabbedActivity) {
super();
mTabCreatorManager = tabCreatorManager;
super(tabCreatorManager);
mUma = new TabModelSelectorUma(activity);
final TabPersistentStoreObserver persistentStoreObserver =
new TabPersistentStoreObserver() {
......@@ -78,7 +74,7 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
mIsUndoSupported = supportUndo;
mIsTabbedActivityForSync = isTabbedActivity;
mTabSaver = new TabPersistentStore(
persistencePolicy, this, mTabCreatorManager, persistentStoreObserver);
persistencePolicy, this, tabCreatorManager, persistentStoreObserver);
mOrderController = new TabModelOrderControllerImpl(this);
}
......@@ -125,9 +121,9 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
mTabContentManager = tabContentProvider;
ChromeTabCreator regularTabCreator =
(ChromeTabCreator) mTabCreatorManager.getTabCreator(false);
(ChromeTabCreator) getTabCreatorManager().getTabCreator(false);
ChromeTabCreator incognitoTabCreator =
(ChromeTabCreator) mTabCreatorManager.getTabCreator(true);
(ChromeTabCreator) getTabCreatorManager().getTabCreator(true);
TabModelImpl normalModel = new TabModelImpl(false, mIsTabbedActivityForSync,
regularTabCreator, incognitoTabCreator, mUma, mOrderController, mTabContentManager,
mTabSaver, this, mIsUndoSupported);
......@@ -331,13 +327,6 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
mActiveState = false;
}
@Override
public Tab openNewTab(
LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent, boolean incognito) {
return mTabCreatorManager.getTabCreator(incognito).createNewTab(
loadUrlParams, type, parent);
}
/**
* @return Number of restored tabs on cold startup.
*/
......
......@@ -67,7 +67,7 @@ public class TabModelSelectorObserverTestRule extends ChromeBrowserTestRule {
.getTargetContext()
.getApplicationContext());
mSelector = new TabModelSelectorBase() {
mSelector = new TabModelSelectorBase(null) {
@Override
public Tab openNewTab(LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent,
boolean incognito) {
......
......@@ -64,7 +64,7 @@ public class TabModelSelectorTabModelObserverTest {
@UiThreadTest
@SmallTest
public void testUninitializedSelector() throws InterruptedException, TimeoutException {
mSelector = new TabModelSelectorBase() {
mSelector = new TabModelSelectorBase(null) {
@Override
public Tab openNewTab(LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent,
boolean incognito) {
......
......@@ -110,7 +110,7 @@ public class TabModelSelectorTabObserverTest {
@Test
@SmallTest
public void testObserverAddedBeforeInitialize() {
TabModelSelectorBase selector = new TabModelSelectorBase() {
TabModelSelectorBase selector = new TabModelSelectorBase(null) {
@Override
public Tab openNewTab(LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent,
boolean incognito) {
......
......@@ -144,7 +144,13 @@ public class TabPersistentStoreTest {
private MockTabCreator mRegularCreator;
private MockTabCreator mIncognitoCreator;
public MockTabCreatorManager() {}
public MockTabCreatorManager(TabModelSelector selector) {
initialize(selector);
}
public void initialize(TabModelSelector selector) {
mRegularCreator = new MockTabCreator(false, selector);
mIncognitoCreator = new MockTabCreator(true, selector);
}
......@@ -162,11 +168,11 @@ public class TabPersistentStoreTest {
implements TabModelDelegate {
final TabPersistentStore mTabPersistentStore;
final MockTabPersistentStoreObserver mTabPersistentStoreObserver;
private final MockTabCreatorManager mTabCreatorManager;
private final TabModelOrderController mTabModelOrderController;
public TestTabModelSelector() throws Exception {
mTabCreatorManager = new MockTabCreatorManager(this);
super(new MockTabCreatorManager());
((MockTabCreatorManager) getTabCreatorManager()).initialize(this);
mTabPersistentStoreObserver = new MockTabPersistentStoreObserver();
mTabPersistentStore =
TestThreadUtils.runOnUiThreadBlocking(new Callable<TabPersistentStore>() {
......@@ -174,9 +180,9 @@ public class TabPersistentStoreTest {
public TabPersistentStore call() {
TabPersistencePolicy persistencePolicy =
new TabbedModeTabPersistencePolicy(0, true);
return new TabPersistentStore(
persistencePolicy, TestTabModelSelector.this,
mTabCreatorManager, mTabPersistentStoreObserver);
return new TabPersistentStore(persistencePolicy,
TestTabModelSelector.this, getTabCreatorManager(),
mTabPersistentStoreObserver);
}
});
mTabModelOrderController = new TabModelOrderControllerImpl(this);
......@@ -184,26 +190,21 @@ public class TabPersistentStoreTest {
Callable<TabModelImpl> callable = new Callable<TabModelImpl>() {
@Override
public TabModelImpl call() {
return new TabModelImpl(false, false, mTabCreatorManager.getTabCreator(false),
mTabCreatorManager.getTabCreator(true), null, mTabModelOrderController,
null, mTabPersistentStore, TestTabModelSelector.this, true);
return new TabModelImpl(false, false,
getTabCreatorManager().getTabCreator(false),
getTabCreatorManager().getTabCreator(true), null,
mTabModelOrderController, null, mTabPersistentStore,
TestTabModelSelector.this, true);
}
};
TabModelImpl regularTabModel = TestThreadUtils.runOnUiThreadBlocking(callable);
TabModel incognitoTabModel = new IncognitoTabModel(
new IncognitoTabModelImplCreator(mTabCreatorManager.getTabCreator(false),
mTabCreatorManager.getTabCreator(true),
null, mTabModelOrderController, null, mTabPersistentStore, this));
new IncognitoTabModelImplCreator(getTabCreatorManager().getTabCreator(false),
getTabCreatorManager().getTabCreator(true), null,
mTabModelOrderController, null, mTabPersistentStore, this));
initialize(false, regularTabModel, incognitoTabModel);
}
@Override
public Tab openNewTab(LoadUrlParams loadUrlParams, @TabLaunchType int type, Tab parent,
boolean incognito) {
return mTabCreatorManager.getTabCreator(incognito).createNewTab(
loadUrlParams, type, parent);
}
@Override
public void requestToShowTab(Tab tab, @TabSelectionType int type) {}
......
......@@ -23,7 +23,7 @@ public class MockTabModelSelector extends TabModelSelectorBase {
public MockTabModelSelector(
int tabCount, int incognitoTabCount, MockTabModel.MockTabModelDelegate delegate) {
super();
super(null);
initialize(false, new MockTabModel(false, delegate), new MockTabModel(true, delegate));
for (int i = 0; i < tabCount; i++) {
addMockTab();
......
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