Remove Search Recent Tabs from suggested actions with Tab Group Sync
When Tab Groups Sync is enabled, Recent Tabs is not present in Tab Grid, so this CL then removes the suggested action from Regular Grid search. Fixed: 329632687 Change-Id: Iec8be37bd9307cb8b7e20e7604e9b1b1547fe418 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5676399 Commit-Queue: Louis Romero <lpromero@google.com> Auto-Submit: Louis Romero <lpromero@google.com> Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Reviewed-by: Ewann Pellé <ewannpv@chromium.org> Cr-Commit-Position: refs/heads/main@{#1323381}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
7b13913f84
commit
07228a1177
ios/chrome/browser/ui/tab_switcher/tab_grid
@ -36,6 +36,7 @@ source_set("unit_tests") {
|
||||
"//base",
|
||||
"//base/test:test_support",
|
||||
"//ios/chrome/app/strings",
|
||||
"//ios/chrome/browser/shared/public/features",
|
||||
"//ios/chrome/browser/shared/ui/table_view",
|
||||
"//ios/chrome/browser/shared/ui/table_view:test_support",
|
||||
"//third_party/ocmock",
|
||||
|
23
ios/chrome/browser/ui/tab_switcher/tab_grid/suggested_actions/suggested_actions_view_controller.mm
23
ios/chrome/browser/ui/tab_switcher/tab_grid/suggested_actions/suggested_actions_view_controller.mm
@ -8,6 +8,7 @@
|
||||
|
||||
#import "base/apple/foundation_util.h"
|
||||
#import "base/check_op.h"
|
||||
#import "ios/chrome/browser/shared/public/features/features.h"
|
||||
#import "ios/chrome/browser/shared/ui/symbols/symbols.h"
|
||||
#import "ios/chrome/browser/shared/ui/table_view/cells/table_view_image_item.h"
|
||||
#import "ios/chrome/browser/shared/ui/table_view/cells/table_view_item.h"
|
||||
@ -117,16 +118,18 @@ typedef NS_ENUM(NSInteger, ItemType) {
|
||||
[model addItem:searchWebItem
|
||||
toSectionWithIdentifier:kSectionIdentifierSuggestedActions];
|
||||
|
||||
TableViewImageItem* searchRecentTabsItem = [[TableViewImageItem alloc]
|
||||
initWithType:ItemTypeSuggestedActionSearchRecentTabs];
|
||||
searchRecentTabsItem.title = l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_RECENT_TABS);
|
||||
searchRecentTabsItem.image =
|
||||
[[UIImage imageNamed:@"suggested_action_recent_tabs"]
|
||||
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
searchRecentTabsItem.textColor = actionsTextColor;
|
||||
[model addItem:searchRecentTabsItem
|
||||
toSectionWithIdentifier:kSectionIdentifierSuggestedActions];
|
||||
if (!IsTabGroupSyncEnabled()) {
|
||||
TableViewImageItem* searchRecentTabsItem = [[TableViewImageItem alloc]
|
||||
initWithType:ItemTypeSuggestedActionSearchRecentTabs];
|
||||
searchRecentTabsItem.title = l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_RECENT_TABS);
|
||||
searchRecentTabsItem.image =
|
||||
[[UIImage imageNamed:@"suggested_action_recent_tabs"]
|
||||
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
searchRecentTabsItem.textColor = actionsTextColor;
|
||||
[model addItem:searchRecentTabsItem
|
||||
toSectionWithIdentifier:kSectionIdentifierSuggestedActions];
|
||||
}
|
||||
|
||||
TableViewTabsSearchSuggestedHistoryItem* searchHistoryItem =
|
||||
[[TableViewTabsSearchSuggestedHistoryItem alloc]
|
||||
|
@ -4,15 +4,15 @@
|
||||
|
||||
#import "ios/chrome/browser/ui/tab_switcher/tab_grid/suggested_actions/suggested_actions_view_controller.h"
|
||||
|
||||
#import "ios/chrome/browser/shared/public/features/features.h"
|
||||
#import "ios/chrome/browser/shared/ui/table_view/cells/table_view_image_item.h"
|
||||
#import "ios/chrome/browser/shared/ui/table_view/legacy_chrome_table_view_controller_test.h"
|
||||
#import "ios/chrome/grit/ios_strings.h"
|
||||
#import "testing/gtest/include/gtest/gtest.h"
|
||||
#import "testing/gtest_mac.h"
|
||||
#import "ui/base/l10n/l10n_util_mac.h"
|
||||
|
||||
#import "third_party/ocmock/OCMock/OCMock.h"
|
||||
#import "third_party/ocmock/gtest_support.h"
|
||||
#import "ui/base/l10n/l10n_util_mac.h"
|
||||
|
||||
// Test fixture for testing SuggestedActionsViewController class.
|
||||
class SuggestedActionsViewControllerTest
|
||||
@ -38,21 +38,35 @@ TEST_F(SuggestedActionsViewControllerTest, Initialization) {
|
||||
ASSERT_EQ(1, NumberOfSections());
|
||||
ASSERT_EQ(3, NumberOfItemsInSection(0));
|
||||
|
||||
// This is a static table it should have 3 items in that order: (SearchWeb,
|
||||
// SearchRecentTabs, SearchHistory).
|
||||
TableViewImageItem* item = GetTableViewItem(0, 0);
|
||||
EXPECT_NSEQ(
|
||||
l10n_util::GetNSString(IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_WEB),
|
||||
item.title);
|
||||
item = GetTableViewItem(0, 1);
|
||||
EXPECT_NSEQ(l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_RECENT_TABS),
|
||||
item.title);
|
||||
item = GetTableViewItem(0, 2);
|
||||
EXPECT_NSEQ(
|
||||
l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_HISTORY_UNKNOWN_RESULT_COUNT),
|
||||
item.title);
|
||||
if (IsTabGroupSyncEnabled()) {
|
||||
// This is a static table it should have 2 items in that order:
|
||||
// (SearchWeb, SearchHistory).
|
||||
TableViewImageItem* item = GetTableViewItem(0, 0);
|
||||
EXPECT_NSEQ(
|
||||
l10n_util::GetNSString(IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_WEB),
|
||||
item.title);
|
||||
item = GetTableViewItem(0, 1);
|
||||
EXPECT_NSEQ(
|
||||
l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_HISTORY_UNKNOWN_RESULT_COUNT),
|
||||
item.title);
|
||||
} else {
|
||||
// This is a static table it should have 3 items in that order: (SearchWeb,
|
||||
// SearchRecentTabs, SearchHistory).
|
||||
TableViewImageItem* item = GetTableViewItem(0, 0);
|
||||
EXPECT_NSEQ(
|
||||
l10n_util::GetNSString(IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_WEB),
|
||||
item.title);
|
||||
item = GetTableViewItem(0, 1);
|
||||
EXPECT_NSEQ(l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_RECENT_TABS),
|
||||
item.title);
|
||||
item = GetTableViewItem(0, 2);
|
||||
EXPECT_NSEQ(
|
||||
l10n_util::GetNSString(
|
||||
IDS_IOS_TABS_SEARCH_SUGGESTED_ACTION_SEARCH_HISTORY_UNKNOWN_RESULT_COUNT),
|
||||
item.title);
|
||||
}
|
||||
}
|
||||
|
||||
// Tests that selecting the search web item should call the relevant delegate.
|
||||
|
@ -2216,13 +2216,20 @@ void EchoURLDefaultSearchEngineResponseProvider::GetResponseHeadersAndBody(
|
||||
toSelectMatcher:SearchSuggestedActionsSectionHeader()]
|
||||
assertWithMatcher:grey_notNil()];
|
||||
|
||||
id<GREYMatcher> recentTabsMatcher =
|
||||
grey_descendant(SearchRecentTabsSuggestedAction());
|
||||
if ([ChromeEarlGrey isTabGroupSyncEnabled]) {
|
||||
// When Tab Group Sync is enabled, Recent Tabs is not reachable from
|
||||
// Tab Grid.
|
||||
recentTabsMatcher = grey_not(recentTabsMatcher);
|
||||
}
|
||||
|
||||
[[self
|
||||
scrollDownViewMatcher:RegularTabGrid()
|
||||
toSelectMatcher:grey_allOf(
|
||||
SearchSuggestedActionsSection(),
|
||||
grey_descendant(SearchOnWebSuggestedAction()),
|
||||
grey_descendant(
|
||||
SearchRecentTabsSuggestedAction()),
|
||||
recentTabsMatcher,
|
||||
grey_descendant(SearchHistorySuggestedAction()),
|
||||
grey_sufficientlyVisible(), nil)]
|
||||
assertWithMatcher:grey_notNil()];
|
||||
|
Reference in New Issue
Block a user