Commit 8723a16f authored by Yue Zhang's avatar Yue Zhang Committed by Commit Bot

Partially revert TabListMediator initialization

This CL reverts the changes in TabListMediator initialization in
http://crrev.com/c/2326858 to help identify the cause of a related
crash.

Bug: 1116985, 1111122
Change-Id: Ib1131418ac0ce6f60a76d3dea23ea80eb5a2ca03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2375885
Commit-Queue: Yue Zhang <yuezhanggg@chromium.org>
Reviewed-by: default avatarWei-Yin Chen (陳威尹) <wychen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#801552}
parent a3268614
...@@ -38,7 +38,6 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.e ...@@ -38,7 +38,6 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.e
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.finishActivity; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.finishActivity;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.leaveTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.leaveTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.mergeAllNormalTabsToAGroup;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.switchTabModel; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.switchTabModel;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabModelTabCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabModelTabCount;
...@@ -2022,14 +2021,6 @@ public class StartSurfaceLayoutTest { ...@@ -2022,14 +2021,6 @@ public class StartSurfaceLayoutTest {
// closure. // closure.
closeFirstTabInTabSwitcher(); closeFirstTabInTabSwitcher();
verifyTabSwitcherCardCount(cta, 0); verifyTabSwitcherCardCount(cta, 0);
// Verify TabGroupModelFilter is correctly setup by checking if tab switcher changes with
// tab grouping.
createTabs(cta, false, 3);
enterTabSwitcher(cta);
verifyTabSwitcherCardCount(cta, 2);
mergeAllNormalTabsToAGroup(cta);
verifyTabSwitcherCardCount(cta, 1);
} }
private void enterTabGroupManualSelection(ChromeTabbedActivity cta) { private void enterTabGroupManualSelection(ChromeTabbedActivity cta) {
......
...@@ -567,7 +567,8 @@ class TabListMediator { ...@@ -567,7 +567,8 @@ class TabListMediator {
} }
}; };
if (TabUiFeatureUtilities.isTabGroupsAndroidEnabled()) { if (mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilter()
instanceof TabGroupModelFilter) {
mTabGroupObserver = new EmptyTabGroupModelFilterObserver() { mTabGroupObserver = new EmptyTabGroupModelFilterObserver() {
@Override @Override
public void didMoveWithinGroup( public void didMoveWithinGroup(
...@@ -695,6 +696,13 @@ class TabListMediator { ...@@ -695,6 +696,13 @@ class TabListMediator {
public void didCreateGroup( public void didCreateGroup(
List<Tab> tabs, List<Integer> tabOriginalIndex, boolean isSameGroup) {} List<Tab> tabs, List<Integer> tabOriginalIndex, boolean isSameGroup) {}
}; };
((TabGroupModelFilter) mTabModelSelector.getTabModelFilterProvider().getTabModelFilter(
false))
.addTabGroupObserver(mTabGroupObserver);
((TabGroupModelFilter) mTabModelSelector.getTabModelFilterProvider().getTabModelFilter(
true))
.addTabGroupObserver(mTabGroupObserver);
} }
// TODO(meiliang): follow up with unit tests to test the close signal is sent correctly with // TODO(meiliang): follow up with unit tests to test the close signal is sent correctly with
...@@ -758,17 +766,6 @@ class TabListMediator { ...@@ -758,17 +766,6 @@ class TabListMediator {
mTabListFaviconProvider.initWithNative(profile); mTabListFaviconProvider.initWithNative(profile);
mTabModelSelector.getTabModelFilterProvider().addTabModelFilterObserver(mTabModelObserver); mTabModelSelector.getTabModelFilterProvider().addTabModelFilterObserver(mTabModelObserver);
if (mTabGroupObserver != null) {
assert mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilter()
instanceof TabGroupModelFilter;
((TabGroupModelFilter) mTabModelSelector.getTabModelFilterProvider().getTabModelFilter(
false))
.addTabGroupObserver(mTabGroupObserver);
((TabGroupModelFilter) mTabModelSelector.getTabModelFilterProvider().getTabModelFilter(
true))
.addTabGroupObserver(mTabGroupObserver);
}
if (TabUiFeatureUtilities.isTabGroupsAndroidContinuationEnabled()) { if (TabUiFeatureUtilities.isTabGroupsAndroidContinuationEnabled()) {
mTabGroupTitleEditor = new TabGroupTitleEditor(mTabModelSelector) { mTabGroupTitleEditor = new TabGroupTitleEditor(mTabModelSelector) {
@Override @Override
......
...@@ -784,6 +784,7 @@ public class TabGridDialogTest { ...@@ -784,6 +784,7 @@ public class TabGridDialogTest {
@Test @Test
@MediumTest @MediumTest
@DisabledTest(message = "Re-enable this when crbug.com/1116985 is resolved.")
@Features.EnableFeatures({ChromeFeatureList.INSTANT_START}) @Features.EnableFeatures({ChromeFeatureList.INSTANT_START})
public void testSetup_WithInstantStart() { public void testSetup_WithInstantStart() {
final ChromeTabbedActivity cta = mActivityTestRule.getActivity(); final ChromeTabbedActivity cta = mActivityTestRule.getActivity();
......
...@@ -2342,11 +2342,7 @@ public class TabListMediatorUnitTest { ...@@ -2342,11 +2342,7 @@ public class TabListMediatorUnitTest {
mTabContentManager::getTabThumbnailWithCallback, mTitleProvider, mTabContentManager::getTabThumbnailWithCallback, mTitleProvider,
mTabListFaviconProvider, actionOnRelatedTabs, null, null, handler, mTabListFaviconProvider, actionOnRelatedTabs, null, null, handler,
getClass().getSimpleName(), uiType); getClass().getSimpleName(), uiType);
// TabGroupModelFilterObserver is registered when native is ready.
assertThat(mTabGroupModelFilterObserverCaptor.getAllValues().isEmpty(), equalTo(true));
mMediator.initWithNative(mProfile); mMediator.initWithNative(mProfile);
assertThat(mTabGroupModelFilterObserverCaptor.getAllValues().isEmpty(), equalTo(false));
// There are two TabModelObserver and two TabGroupModelFilter.Observer added when // There are two TabModelObserver and two TabGroupModelFilter.Observer added when
// initializing TabListMediator, one set from TabListMediator and the other from // initializing TabListMediator, one set from TabListMediator and the other from
......
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