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