[SxS] Clean up references to kSideBySide flag Doing this cleanup in chunks. For now I'm sticking to just the kSideBySide flag and having it always return true. I'm leaving the flag itself so feature params can be cleaned up separately Bug: 454347097 Change-Id: I8dad5db7cf8720595544744aefadb74e552bcc94 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7256855 Reviewed-by: Darryl James <dljames@chromium.org> Commit-Queue: Alison Gale <agale@chromium.org> Cr-Commit-Position: refs/heads/main@{#1558322}
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc index ffdc88b..e6f3691 100644 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -1740,8 +1740,7 @@ // constraints as opening a link in a new tab since a split view tab is a // new tab that is then joined with the current active tab. Browser* const browser = GetBrowser(); - if (base::FeatureList::IsEnabled(features::kSideBySide) && browser && - browser->is_type_normal()) { + if (browser && browser->is_type_normal()) { int string_id = IDS_CONTENT_CONTEXT_OPENLINKSPLITVIEW; tabs::TabInterface* tab = tabs::TabInterface::MaybeGetFromContents(GetWebContents());
diff --git a/chrome/browser/resources/bookmarks/command_manager.ts b/chrome/browser/resources/bookmarks/command_manager.ts index 7d3fc0b..21a87921 100644 --- a/chrome/browser/resources/bookmarks/command_manager.ts +++ b/chrome/browser/resources/bookmarks/command_manager.ts
@@ -757,10 +757,8 @@ Command.OPEN_NEW_GROUP, Command.OPEN_NEW_TAB, Command.OPEN_NEW_WINDOW, + Command.OPEN_SPLIT_VIEW, ]; - if (loadTimeData.getBoolean('splitViewEnabled')) { - commands.push(Command.OPEN_SPLIT_VIEW); - } return commands; case MenuSource.TOOLBAR: return [
diff --git a/chrome/browser/resources/settings/appearance_page/appearance_page.html b/chrome/browser/resources/settings/appearance_page/appearance_page.html index 57f02ce5..823074d 100644 --- a/chrome/browser/resources/settings/appearance_page/appearance_page.html +++ b/chrome/browser/resources/settings/appearance_page/appearance_page.html
@@ -281,7 +281,6 @@ </if> </div> <settings-toggle-button class="hr" id="splitViewDragAndDrop" - hidden="[[!showSplitViewDragAndDropSetting_]]" pref="{{prefs.browser.split_view_drag_and_drop_enabled}}" label="$i18n{allowSplitViewDragAndDrop}"> </settings-toggle-button>
diff --git a/chrome/browser/resources/settings/appearance_page/appearance_page.ts b/chrome/browser/resources/settings/appearance_page/appearance_page.ts index 25d4d7f..76d3bf52 100644 --- a/chrome/browser/resources/settings/appearance_page/appearance_page.ts +++ b/chrome/browser/resources/settings/appearance_page/appearance_page.ts
@@ -238,13 +238,6 @@ value: false, }, - showSplitViewDragAndDropSetting_: { - type: Boolean, - value() { - return loadTimeData.getBoolean('showSplitViewDragAndDropSetting'); - }, - }, - showResetPinnedActionsButton_: { type: Boolean, value: false, @@ -299,7 +292,6 @@ declare private isForcedTheme_: boolean; declare private showHoverCardImagesOption_: boolean; declare private showResetPinnedActionsButton_: boolean; - declare private showSplitViewDragAndDropSetting_: boolean; // <if expr="is_linux"> declare private showCustomChromeFrame_: boolean;
diff --git a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_context_menu.ts b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_context_menu.ts index c1943c4..1cdc95fe 100644 --- a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_context_menu.ts +++ b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_context_menu.ts
@@ -163,8 +163,7 @@ }); } - if (loadTimeData.getBoolean('splitViewEnabled') && bookmarkCount === 1 && - this.bookmarks_[0].url) { + if (bookmarkCount === 1 && this.bookmarks_[0].url) { menuItems.push({ id: MenuItemId.OPEN_SPLIT_VIEW, label: loadTimeData.getString('menuOpenSplitView'),
diff --git a/chrome/browser/resources/tab_search/split_view/app.ts b/chrome/browser/resources/tab_search/split_view/app.ts index 53713d5..3f9c9b8 100644 --- a/chrome/browser/resources/tab_search/split_view/app.ts +++ b/chrome/browser/resources/tab_search/split_view/app.ts
@@ -72,15 +72,11 @@ override connectedCallback() { super.connectedCallback(); - if (loadTimeData.getBoolean('splitViewEnabled')) { - this.apiProxy_.getIsSplit().then(({isSplit}) => { - if (!isSplit) { - this.redirectToNtp_(); - } - }); - } else { - this.redirectToNtp_(); - } + this.apiProxy_.getIsSplit().then(({isSplit}) => { + if (!isSplit) { + this.redirectToNtp_(); + } + }); const callbackRouter = this.apiProxy_.getCallbackRouter(); this.listenerIds_.push(
diff --git a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc index b0c95c45..76e17fb 100644 --- a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc +++ b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc
@@ -230,10 +230,8 @@ IDS_BOOKMARK_BAR_OPEN_IN_NEW_WINDOW); AddItem(IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO, IDS_BOOKMARK_BAR_OPEN_INCOGNITO); - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - AddItem(IDC_BOOKMARK_BAR_OPEN_SPLIT_VIEW, - IDS_BOOKMARK_BAR_OPEN_IN_SPLIT_VIEW); - } + AddItem(IDC_BOOKMARK_BAR_OPEN_SPLIT_VIEW, + IDS_BOOKMARK_BAR_OPEN_IN_SPLIT_VIEW); } else { int count = bookmarks::OpenCount(selection_); AddItem(IDC_BOOKMARK_BAR_OPEN_ALL, @@ -620,7 +618,6 @@ tabs::TabInterface* active_tab = browser_ ? browser_->GetActiveTabInterface() : nullptr; return bookmarks::HasBookmarkURLs(selection_) && - base::FeatureList::IsEnabled(features::kSideBySide) && active_tab && !active_tab->IsSplit(); } case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW:
diff --git a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc index daf1b5a..cc3037d 100644 --- a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc +++ b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc
@@ -190,21 +190,6 @@ EXPECT_TRUE(controller.IsCommandIdEnabled(IDC_BOOKMARK_BAR_NEW_FOLDER)); } -// With the side by side feature flag disabled, tests the enabled state of the -// split view command when supplied a vector with a single url. -TEST_F(BookmarkContextMenuControllerTest, SingleURLNoSplitView) { - feature_list_.Reset(); - feature_list_.InitWithFeatures( - {switches::kSyncEnableBookmarksInTransportMode}, {features::kSideBySide}); - std::vector<raw_ptr<const BookmarkNode, VectorExperimental>> nodes = { - model_->bookmark_bar_node()->children().front().get(), - }; - BookmarkContextMenuController controller( - gfx::NativeWindow(), nullptr, nullptr, profile_.get(), - BookmarkLaunchLocation::kNone, nodes); - EXPECT_FALSE(controller.IsCommandIdEnabled(IDC_BOOKMARK_BAR_OPEN_SPLIT_VIEW)); -} - // Tests the enabled state of the menus when supplied a vector with multiple // urls. TEST_F(BookmarkContextMenuControllerTest, MultipleURLs) {
diff --git a/chrome/browser/ui/browser_window/internal/browser_window_features.cc b/chrome/browser/ui/browser_window/internal/browser_window_features.cc index e806464..25d51e7 100644 --- a/chrome/browser/ui/browser_window/internal/browser_window_features.cc +++ b/chrome/browser/ui/browser_window/internal/browser_window_features.cc
@@ -556,21 +556,19 @@ *browser, browser); } - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - if (browser_view) { - split_tab_highlight_controller_ = - std::make_unique<split_tabs::SplitTabHighlightController>( - browser_view); - } + if (browser_view) { + split_tab_highlight_controller_ = + std::make_unique<split_tabs::SplitTabHighlightController>( + browser_view); + } - if (base::FeatureList::IsEnabled( - feature_engagement::kIPHSideBySidePinnableFeature) || - base::FeatureList::IsEnabled( - feature_engagement::kIPHSideBySideTabSwitchFeature)) { - split_view_iph_controller_ = - GetUserDataFactory().CreateInstance<SplitViewIphController>( - *browser, browser); - } + if (base::FeatureList::IsEnabled( + feature_engagement::kIPHSideBySidePinnableFeature) || + base::FeatureList::IsEnabled( + feature_engagement::kIPHSideBySideTabSwitchFeature)) { + split_view_iph_controller_ = + GetUserDataFactory().CreateInstance<SplitViewIphController>(*browser, + browser); } }
diff --git a/chrome/browser/ui/javascript_dialogs/javascript_dialog_browsertest.cc b/chrome/browser/ui/javascript_dialogs/javascript_dialog_browsertest.cc index fc147ef..d0a8a81 100644 --- a/chrome/browser/ui/javascript_dialogs/javascript_dialog_browsertest.cc +++ b/chrome/browser/ui/javascript_dialogs/javascript_dialog_browsertest.cc
@@ -51,6 +51,8 @@ ASSERT_TRUE(embedded_test_server()->Start()); } + TabStripModel* tab_strip_model() { return browser()->tab_strip_model(); } + private: friend class JavaScriptDialogDismissalCauseTester; }; @@ -484,19 +486,7 @@ dialog_manager->GetTitle(tab, subframe->GetLastCommittedOrigin())); } -class JavaScriptDialogForSplitViewTest : public JavaScriptDialogTest { - public: - JavaScriptDialogForSplitViewTest() { - scoped_feature_list_.InitWithFeatures({features::kSideBySide}, {}); - } - - TabStripModel* tab_strip_model() { return browser()->tab_strip_model(); } - - private: - base::test::ScopedFeatureList scoped_feature_list_; -}; - -IN_PROC_BROWSER_TEST_F(JavaScriptDialogForSplitViewTest, +IN_PROC_BROWSER_TEST_F(JavaScriptDialogTest, HandlesSwappingTabWithDialogIntoSplitView) { // Create three tabs with the first two in a split view. chrome::NewTab(browser());
diff --git a/chrome/browser/ui/lens/lens_overlay_controller.cc b/chrome/browser/ui/lens/lens_overlay_controller.cc index adb02a3..a5ec882 100644 --- a/chrome/browser/ui/lens/lens_overlay_controller.cc +++ b/chrome/browser/ui/lens/lens_overlay_controller.cc
@@ -1583,16 +1583,11 @@ // TODO(crbug.com/443102583): Remove this block if overlay_view_ ends up // getting reparented such that it always shares a parent with // contents_web_view. - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - // When split view is enabled, there are two additional layers of - // hierarchy: - // BrowserView->MultiContentsView->ContentsContainerView->ContentsWebView - // vs. - // BrowserView->ContentsWebView - // Since the overlay view is parented by BrowserView, to properly pass the - // check below, we should only compare direct children of BrowserView. - child_contents_view = child_contents_view->parent()->parent(); - } + // The hierarchy to access the contents web view is: + // BrowserView->MultiContentsView->ContentsContainerView->ContentsWebView + // Since the overlay view is parented by BrowserView, to properly pass the + // check below, we should only compare direct children of BrowserView. + child_contents_view = child_contents_view->parent()->parent(); CHECK(parent_view->GetIndexOf(overlay_view_) > parent_view->GetIndexOf(child_contents_view)); @@ -2030,9 +2025,6 @@ void LensOverlayController::SetOverlayRoundedCorner() { CHECK(overlay_view_ && overlay_web_view_); - if (!base::FeatureList::IsEnabled(features::kSideBySide)) { - return; - } const bool should_round_corner = IsResultsSidePanelShowing(); const float radius =
diff --git a/chrome/browser/ui/read_anything/immersive_read_anything_browsertest.cc b/chrome/browser/ui/read_anything/immersive_read_anything_browsertest.cc index 61fc3874..ae74843 100644 --- a/chrome/browser/ui/read_anything/immersive_read_anything_browsertest.cc +++ b/chrome/browser/ui/read_anything/immersive_read_anything_browsertest.cc
@@ -65,46 +65,17 @@ } } -INSTANTIATE_TEST_SUITE_P(All, - ImmersiveReadAnythingBrowserTest, - testing::Bool()); - -class ImmersiveReadAnythingSplitViewBrowserTest - : public InProcessBrowserTest, - public testing::WithParamInterface<bool> { - public: - ImmersiveReadAnythingSplitViewBrowserTest() { - feature_list_.InitWithFeatureStates({ - {features::kSideBySide, true}, - {features::kImmersiveReadAnything, IsImmersiveEnabled()}, - }); - } - - void SetUpOnMainThread() override { - BrowserView* browser_view = - BrowserView::GetBrowserViewForBrowser(browser()); - ASSERT_NE(browser_view, nullptr); - browser_view->GetWidget()->Show(); - - chrome::NewTab(browser()); - browser()->tab_strip_model()->ActivateTabAt(0); - std::vector<int> other_tab_indices = {1}; - split_tabs::SplitTabVisualData visual_data; - split_tabs::SplitTabCreatedSource source = - split_tabs::SplitTabCreatedSource::kToolbarButton; - browser()->tab_strip_model()->AddToNewSplit(other_tab_indices, visual_data, - source); - } - - protected: - bool IsImmersiveEnabled() const { return GetParam(); } - - private: - base::test::ScopedFeatureList feature_list_; -}; - -IN_PROC_BROWSER_TEST_P(ImmersiveReadAnythingSplitViewBrowserTest, +IN_PROC_BROWSER_TEST_P(ImmersiveReadAnythingBrowserTest, OverlayExistsOnSplitViewsWhenImmersiveIsEnabled) { + chrome::NewTab(browser()); + browser()->tab_strip_model()->ActivateTabAt(0); + std::vector<int> other_tab_indices = {1}; + split_tabs::SplitTabVisualData visual_data; + split_tabs::SplitTabCreatedSource source = + split_tabs::SplitTabCreatedSource::kToolbarButton; + browser()->tab_strip_model()->AddToNewSplit(other_tab_indices, visual_data, + source); + const auto ContainsReadAnythingOverlay = [](views::View* container) { if (!container) { return false; @@ -132,5 +103,5 @@ } INSTANTIATE_TEST_SUITE_P(All, - ImmersiveReadAnythingSplitViewBrowserTest, + ImmersiveReadAnythingBrowserTest, testing::Bool());
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc index b2de6fa0..9e0864d 100644 --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc
@@ -495,9 +495,7 @@ #if BUILDFLAG(IS_ANDROID) nullptr; #else - base::FeatureList::IsEnabled(features::kSideBySide) - ? tabs::TabInterface::MaybeGetFromContents(web_contents) - : nullptr; + tabs::TabInterface::MaybeGetFromContents(web_contents); #endif // BUILDFLAG(IS_ANDROID) permissions::PermissionRequestManager::CreateForWebContents( web_contents, desktop_tab_interface);
diff --git a/chrome/browser/ui/tabs/public/tab_dialog_manager.h b/chrome/browser/ui/tabs/public/tab_dialog_manager.h index 8324f84..af20ce4e 100644 --- a/chrome/browser/ui/tabs/public/tab_dialog_manager.h +++ b/chrome/browser/ui/tabs/public/tab_dialog_manager.h
@@ -186,7 +186,6 @@ std::optional<content::WebContents::ScopedIgnoreInputEvents> scoped_ignore_input_events_; std::unique_ptr<TabDialogWidgetObserver> tab_dialog_widget_observer_; - std::unique_ptr<BrowserWindowWidgetObserver> browser_window_widget_observer_; std::unique_ptr<WebContentsModalDialogHostObserver> web_contents_modal_dialog_host_observer_; std::unique_ptr<ScopedTabModalUI> showing_modal_ui_;
diff --git a/chrome/browser/ui/tabs/tab_dialog_manager.cc b/chrome/browser/ui/tabs/tab_dialog_manager.cc index 5c1df270..ed1c989 100644 --- a/chrome/browser/ui/tabs/tab_dialog_manager.cc +++ b/chrome/browser/ui/tabs/tab_dialog_manager.cc
@@ -348,15 +348,9 @@ showing_modal_ui_ = tab_interface_->ShowModalUI(); } - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - web_contents_modal_dialog_host_observer_ = - std::make_unique<WebContentsModalDialogHostObserver>(this, - tab_interface_); - } else { - browser_window_widget_observer_ = - std::make_unique<BrowserWindowWidgetObserver>(this, tab_interface_, - widget_.get()); - } + web_contents_modal_dialog_host_observer_ = + std::make_unique<WebContentsModalDialogHostObserver>(this, + tab_interface_); if (params_->should_show_inactive) { widget_->ShowInactive(); @@ -409,7 +403,6 @@ params_.reset(); tab_dialog_widget_observer_.reset(); scoped_ignore_input_events_.reset(); - browser_window_widget_observer_.reset(); web_contents_modal_dialog_host_observer_.reset(); bounds_animation_.reset(); tab_interface_->GetBrowserWindowInterface() @@ -534,22 +527,14 @@ } void TabDialogManager::PrimaryMainFrameWasResized(bool width_changed) { - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - UpdateModalDialogBounds(); - } + UpdateModalDialogBounds(); } void TabDialogManager::TabDidEnterForeground(TabInterface* tab_interface) { if (widget_) { - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - web_contents_modal_dialog_host_observer_ = - std::make_unique<WebContentsModalDialogHostObserver>(this, - tab_interface_); - } else { - browser_window_widget_observer_ = - std::make_unique<BrowserWindowWidgetObserver>(this, tab_interface_, - widget_.get()); - } + web_contents_modal_dialog_host_observer_ = + std::make_unique<WebContentsModalDialogHostObserver>(this, + tab_interface_); // Check if the tab was detached and dragged to a new browser window. This // ensures the widget is properly reparented. auto* parent_widget = GetHostWidget(); @@ -567,7 +552,6 @@ bounds_animation_->Stop(); } widget_->SetVisible(false); - browser_window_widget_observer_.reset(); web_contents_modal_dialog_host_observer_.reset(); } }
diff --git a/chrome/browser/ui/tabs/tab_menu_model.cc b/chrome/browser/ui/tabs/tab_menu_model.cc index e8dcdd5..46f7f10 100644 --- a/chrome/browser/ui/tabs/tab_menu_model.cc +++ b/chrome/browser/ui/tabs/tab_menu_model.cc
@@ -147,17 +147,6 @@ } SetElementIdentifierAt(GetItemCount() - 1, kAddNewTabAdjacentMenuItem); - // Reading list is moved lower when Split View is enabled. - if (tab_strip->delegate()->SupportsReadLater() && - !base::FeatureList::IsEnabled(features::kSideBySide)) { - AddItem( - TabStripModel::CommandAddToReadLater, - l10n_util::GetPluralStringFUTF16(IDS_TAB_CXMENU_READ_LATER, num_tabs)); - SetEnabledAt(GetItemCount() - 1, - tab_strip->IsReadLaterSupportedForAny(indices)); - } - - if (base::FeatureList::IsEnabled(features::kSideBySide)) { if (!tab_strip->GetSplitForTab(index).has_value()) { if (tab_strip->GetActiveTab()->IsSplit()) { swap_with_split_submenu_ = @@ -196,7 +185,6 @@ SetIsNewFeatureAt(GetItemCount() - 1, UserEducationService::MaybeShowNewBadge( tab_strip->profile(), features::kSideBySide)); - } if (ExistingTabGroupSubMenuModel::ShouldShowSubmenu( tab_strip, index, tab_menu_model_delegate_)) { @@ -293,9 +281,7 @@ : l10n_util::GetPluralStringFUTF16( IDS_TAB_CXMENU_SOUND_UNMUTE_SITE, num_tabs)); - const bool display_read_later = - tab_strip->delegate()->SupportsReadLater() && - base::FeatureList::IsEnabled(features::kSideBySide); + const bool display_read_later = tab_strip->delegate()->SupportsReadLater(); const bool display_send_to_self = send_tab_to_self::ShouldDisplayEntryPoint( tab_strip->GetWebContentsAt(index)); #if BUILDFLAG(ENABLE_GLIC)
diff --git a/chrome/browser/ui/tabs/tab_strip_model.cc b/chrome/browser/ui/tabs/tab_strip_model.cc index 126ecb45..5971e6a 100644 --- a/chrome/browser/ui/tabs/tab_strip_model.cc +++ b/chrome/browser/ui/tabs/tab_strip_model.cc
@@ -576,7 +576,7 @@ TabStripModel::DetachSplitTabForInsertion( const split_tabs::SplitTabId split_id) { ReentrancyCheck reentrancy_check(&reentrancy_guard_); - CHECK(base::FeatureList::IsEnabled(features::kSideBySide)); + CHECK(GetSplitData(split_id)); std::vector<std::pair<tabs::TabInterface*, int>> tabs_in_split = @@ -1929,7 +1929,6 @@ int update_index, SplitUpdateType update_type) { ReentrancyCheck reentrancy_check(&reentrancy_guard_); - CHECK(base::FeatureList::IsEnabled(features::kSideBySide)); tabs::TabInterface* update_tab = GetTabAtIndex(update_index); @@ -2761,7 +2760,7 @@ base::UmaHistogramCounts1000( "Tab.ContextMenu.AddToSplit.SelectedTabsCount", selection_model().selected_indices().size()); - CHECK(base::FeatureList::IsEnabled(features::kSideBySide)); + std::vector<int> indices = GetIndicesForCommand(context_index); // There are three cases for adding to a split. // 1. Selecting an inactive tab and making it a split with the active.
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc index ceaa952..a5458daf 100644 --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc
@@ -243,14 +243,16 @@ "side_by_side_iph_tab_switch_count", 3); +// TODO(crbug.com/454347097): Remove this bool IsRestoringSplitViewEnabled() { - return base::FeatureList::IsEnabled(features::kSideBySide); + return true; } BASE_FEATURE(kSideBySideLinkMenuNewBadge, base::FEATURE_ENABLED_BY_DEFAULT); +// TODO(crbug.com/454347097): Remove this bool IsSideBySideKeyboardShortcutEnabled() { - return base::FeatureList::IsEnabled(features::kSideBySide); + return true; } BASE_FEATURE(kSideBySideFocusClearing, base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index 5df2b1c..e259c83d 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -887,19 +887,11 @@ auto contents_container = std::make_unique<views::View>(); views::View* contents_view; - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - auto multi_contents_view = std::make_unique<MultiContentsView>( - this, std::make_unique<MultiContentsViewDelegateImpl>(*browser_)); - multi_contents_view_ = - contents_container->AddChildView(std::move(multi_contents_view)); - contents_view = multi_contents_view_; - } else { - contents_container_view_ = contents_container->AddChildView( - std::make_unique<ContentsContainerView>(this)); - auto* contents_web_view = contents_container_view_->contents_view(); - contents_web_view->set_is_primary_web_contents_for_window(true); - contents_view = contents_container_view_; - } + auto multi_contents_view = std::make_unique<MultiContentsView>( + this, std::make_unique<MultiContentsViewDelegateImpl>(*browser_)); + multi_contents_view_ = + contents_container->AddChildView(std::move(multi_contents_view)); + contents_view = multi_contents_view_; // Create the view that will house the Lens overlay. This view is visible but // transparent view that is used as a container for the Lens overlay WebView. @@ -1089,7 +1081,6 @@ infobar_container_ = nullptr; multi_contents_view_ = nullptr; main_shadow_overlay_ = nullptr; - contents_container_view_ = nullptr; lens_overlay_view_ = nullptr; window_scrim_view_ = nullptr; contents_container_ = nullptr; @@ -1208,30 +1199,16 @@ } ContentsContainerView* BrowserView::GetActiveContentsContainerView() { - if (multi_contents_view_) { - return multi_contents_view_->GetActiveContentsContainerView(); - } - return contents_container_view_; + return multi_contents_view_->GetActiveContentsContainerView(); } ContentsContainerView* BrowserView::GetContentsContainerViewFor( content::WebContents* web_contents) { - if (multi_contents_view_) { - return multi_contents_view_->GetContentsContainerViewFor(web_contents); - } - - if (contents_container_view_->contents_view()->web_contents() == - web_contents) { - return contents_container_view_; - } - - return nullptr; + return multi_contents_view_->GetContentsContainerViewFor(web_contents); } std::vector<ContentsContainerView*> BrowserView::GetContentsContainerViews() { - return multi_contents_view_ - ? multi_contents_view_->contents_container_views() - : std::vector<ContentsContainerView*>{contents_container_view_}; + return multi_contents_view_->contents_container_views(); } #if BUILDFLAG(IS_MAC) @@ -1875,16 +1852,10 @@ } } - if (multi_contents_view_) { - multi_contents_view_->ExecuteOnEachVisibleContentsView( - base::BindRepeating([](ContentsWebView* contents_view) { - contents_view->GetWebContentsCloseHandler()->ActiveTabChanged(); - })); - } else { - contents_container_view_->contents_view() - ->GetWebContentsCloseHandler() - ->ActiveTabChanged(); - } + multi_contents_view_->ExecuteOnEachVisibleContentsView( + base::BindRepeating([](ContentsWebView* contents_view) { + contents_view->GetWebContentsCloseHandler()->ActiveTabChanged(); + })); if (loading_bar_) { loading_bar_->SetWebContents(new_contents); @@ -1970,16 +1941,11 @@ // We need to reset the current tab contents to null before it gets // freed. This is because the focus manager performs some operations // on the selected WebContents when it is removed. - if (multi_contents_view_) { - multi_contents_view_->ExecuteOnEachVisibleContentsView( - base::BindRepeating([](ContentsWebView* contents_view) { - contents_view->GetWebContentsCloseHandler()->ActiveTabChanged(); - })); - } else { - contents_container_view_->contents_view() - ->GetWebContentsCloseHandler() - ->ActiveTabChanged(); - } + multi_contents_view_->ExecuteOnEachVisibleContentsView( + base::BindRepeating([](ContentsWebView* contents_view) { + contents_view->GetWebContentsCloseHandler()->ActiveTabChanged(); + })); + if (loading_bar_) { loading_bar_->SetWebContents(nullptr); } @@ -2016,11 +1982,7 @@ gfx::Size BrowserView::GetContentsSize() const { DCHECK(initialized_); - if (multi_contents_view_) { - return multi_contents_view_->GetActiveContentsContainerView()->size(); - } else { - return contents_container_view_->size(); - } + return multi_contents_view_->GetActiveContentsContainerView()->size(); } void BrowserView::SetContentsSize(const gfx::Size& size) { @@ -2665,11 +2627,7 @@ } views::WebView* BrowserView::GetActiveContentsWebView() { - if (multi_contents_view_) { - return multi_contents_view_->GetActiveContentsView(); - } else { - return contents_container_view_->contents_view(); - } + return multi_contents_view_->GetActiveContentsView(); } BrowserView* BrowserView::AsBrowserView() { @@ -3540,20 +3498,16 @@ WebContentsModalDialogHost* BrowserView::GetWebContentsModalDialogHostFor( content::WebContents* web_contents) { - if (multi_contents_view_) { - ContentsContainerView* const contents_container_view = - multi_contents_view_->GetContentsContainerViewFor(web_contents); - // `contents_container_view` can be null in cases where a modal dialog is - // being created for a tab that was just created but isn't attached to the - // view yet. - if (contents_container_view) { - return contents_container_view->web_contents_modal_dialog_host(); - } else { - return GetActiveContentsContainerView()->web_contents_modal_dialog_host(); - } + ContentsContainerView* const contents_container_view = + multi_contents_view_->GetContentsContainerViewFor(web_contents); + // `contents_container_view` can be null in cases where a modal dialog is + // being created for a tab that was just created but isn't attached to the + // view yet. + if (contents_container_view) { + return contents_container_view->web_contents_modal_dialog_host(); + } else { + return GetActiveContentsContainerView()->web_contents_modal_dialog_host(); } - - return contents_container_view_->web_contents_modal_dialog_host(); } BookmarkBarView* BrowserView::GetBookmarkBarView() const { @@ -3682,16 +3636,10 @@ DCHECK(contents.contents->GetNativeView()->GetRootWindow()); } #endif - if (multi_contents_view_) { - multi_contents_view_->ExecuteOnEachVisibleContentsView( - base::BindRepeating([](ContentsWebView* contents_view) { - contents_view->GetWebContentsCloseHandler()->TabInserted(); - })); - } else { - contents_container_view_->contents_view() - ->GetWebContentsCloseHandler() - ->TabInserted(); - } + multi_contents_view_->ExecuteOnEachVisibleContentsView( + base::BindRepeating([](ContentsWebView* contents_view) { + contents_view->GetWebContentsCloseHandler()->TabInserted(); + })); } UpdateAccessibleNameForRootView(); @@ -3705,16 +3653,10 @@ } void BrowserView::WillCloseAllTabs(TabStripModel* tab_strip_model) { - if (multi_contents_view_) { - multi_contents_view_->ExecuteOnEachVisibleContentsView( - base::BindRepeating([](ContentsWebView* contents_view) { - contents_view->GetWebContentsCloseHandler()->WillCloseAllTabs(); - })); - } else { - contents_container_view_->contents_view() - ->GetWebContentsCloseHandler() - ->WillCloseAllTabs(); - } + multi_contents_view_->ExecuteOnEachVisibleContentsView( + base::BindRepeating([](ContentsWebView* contents_view) { + contents_view->GetWebContentsCloseHandler()->WillCloseAllTabs(); + })); } void BrowserView::CloseAllTabsStopped(TabStripModel* tab_strip_model, @@ -3722,16 +3664,10 @@ if (reason != kCloseAllCanceled) { return; } - if (multi_contents_view_) { - multi_contents_view_->ExecuteOnEachVisibleContentsView( - base::BindRepeating([](ContentsWebView* contents_view) { - contents_view->GetWebContentsCloseHandler()->CloseAllTabsCanceled(); - })); - } else { - contents_container_view_->contents_view() - ->GetWebContentsCloseHandler() - ->CloseAllTabsCanceled(); - } + multi_contents_view_->ExecuteOnEachVisibleContentsView( + base::BindRepeating([](ContentsWebView* contents_view) { + contents_view->GetWebContentsCloseHandler()->CloseAllTabsCanceled(); + })); } /////////////////////////////////////////////////////////////////////////////// @@ -4379,11 +4315,7 @@ } views::View* BrowserView::GetContentsView() { - if (multi_contents_view_) { - return multi_contents_view_->GetActiveContentsView(); - } else { - return contents_container_view_->contents_view(); - } + return multi_contents_view_->GetActiveContentsView(); } views::ClientView* BrowserView::CreateClientView(views::Widget* widget) { @@ -4781,15 +4713,11 @@ std::vector<ContentsWebView*> BrowserView::GetAllVisibleContentsWebViews() { std::vector<ContentsWebView*> contents_views; - if (multi_contents_view_) { - contents_views.push_back(multi_contents_view_->GetActiveContentsView()); - ContentsWebView* inactive_contents_view = - multi_contents_view_->GetInactiveContentsView(); - if (multi_contents_view_->IsInSplitView()) { - contents_views.push_back(inactive_contents_view); - } - } else { - contents_views.push_back(contents_container_view_->contents_view()); + contents_views.push_back(multi_contents_view_->GetActiveContentsView()); + ContentsWebView* inactive_contents_view = + multi_contents_view_->GetInactiveContentsView(); + if (multi_contents_view_->IsInSplitView()) { + contents_views.push_back(inactive_contents_view); } return contents_views; } @@ -4864,14 +4792,8 @@ if (contents_height_side_panel_) { panes->push_back(contents_height_side_panel_); } - if (multi_contents_view_) { - for (views::View* pane : multi_contents_view_->GetAccessiblePanes()) { - panes->push_back(pane); - } - } else { - for (views::View* pane : contents_container_view_->GetAccessiblePanes()) { - panes->push_back(pane); - } + for (views::View* pane : multi_contents_view_->GetAccessiblePanes()) { + panes->push_back(pane); } }
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h index e042f96..32ba125 100644 --- a/chrome/browser/ui/views/frame/browser_view.h +++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -1172,7 +1172,7 @@ // |------------------------------------------------------------------------| // | Contents container (contents_container_) | // | -------------------------------------------------------------------- | - // | | contents_web_view_ or multi_contents_view_ if defined | | + // | | MultiContentsView (multi_contents_view_) | | // | -------------------------------------------------------------------- | // |------------------------------------------------------------------------| // | ContentHeightSidePanel (contents_height_side_panel_) | @@ -1287,12 +1287,6 @@ // Handled by ContentsLayoutManager. raw_ptr<views::View> contents_container_ = nullptr; - // The view that will replace |contents_container_| and manage devtools and - // contents positions as well as other content related features (i.e. contents - // scrim, ntp footer, etc). contents_container_view_ only exists if the split - // view feature is disabled. - raw_ptr<ContentsContainerView> contents_container_view_ = nullptr; - // The view responsible for housing the contents of the vertical tab strip. raw_ptr<VerticalTabStripRegionView> vertical_tab_strip_container_ = nullptr;
diff --git a/chrome/browser/ui/views/frame/browser_view_ash.cc b/chrome/browser/ui/views/frame/browser_view_ash.cc index 9f37da88..a78be01 100644 --- a/chrome/browser/ui/views/frame/browser_view_ash.cc +++ b/chrome/browser/ui/views/frame/browser_view_ash.cc
@@ -74,22 +74,20 @@ window_scrim_view()->SetRoundedCorners(window_radii); - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - const gfx::RoundedCornersF multi_contents_radii( - 0, 0, right_aligned_side_panel_showing ? 0 : window_radii.lower_right(), - left_aligned_side_panel_showing ? 0 : window_radii.lower_left()); + const gfx::RoundedCornersF multi_contents_radii( + 0, 0, right_aligned_side_panel_showing ? 0 : window_radii.lower_right(), + left_aligned_side_panel_showing ? 0 : window_radii.lower_left()); - if (multi_contents_view()->background_radii() != multi_contents_radii) { - multi_contents_view()->SetBackgroundRadii(multi_contents_radii); - } + if (multi_contents_view()->background_radii() != multi_contents_radii) { + multi_contents_view()->SetBackgroundRadii(multi_contents_radii); + } - if (IsInSplitView()) { - // In a non-split view, browser's content (main web content, DevTools, NTP - // footer, etc.) extends into the rounded corners. However, in split view, - // the content is bordered, making it sufficient to simply round the - // background painted by multi_contents_view(). - return; - } + if (IsInSplitView()) { + // In a non-split view, browser's content (main web content, DevTools, NTP + // footer, etc.) extends into the rounded corners. However, in split view, + // the content is bordered, making it sufficient to simply round the + // background painted by multi_contents_view(). + return; } views::WebView *devtools_webview =
diff --git a/chrome/browser/ui/views/frame/browser_view_browsertest.cc b/chrome/browser/ui/views/frame/browser_view_browsertest.cc index 6a77fd6d..707f6bc 100644 --- a/chrome/browser/ui/views/frame/browser_view_browsertest.cc +++ b/chrome/browser/ui/views/frame/browser_view_browsertest.cc
@@ -156,23 +156,8 @@ raw_ptr<DevToolsWindow> devtools_; }; -class BrowserViewWithoutSideBySideTest : public BrowserViewTest { - public: - BrowserViewWithoutSideBySideTest() { - scoped_feature_list_.InitWithFeatures({}, {features::kSideBySide}); - } - SidePanel* side_panel() { - return browser_view()->contents_height_side_panel(); - } - views::View* side_panel_rounded_corner() { - return browser_view()->GetSidePanelRoundedCornerForTesting(); - } - - private: - base::test::ScopedFeatureList scoped_feature_list_; -}; #if BUILDFLAG(IS_CHROMEOS) using BrowserViewChromeOSTest = ChromeOSBrowserUITest; @@ -471,21 +456,6 @@ HasDimensions(100, 740, 100, 740)); } -// Verifies that the side panel's rounded corner is being correctly layed out. -IN_PROC_BROWSER_TEST_F(BrowserViewWithoutSideBySideTest, - SidePanelRoundedCornerLayout) { - SidePanelUI* const side_panel_ui = browser()->GetFeatures().side_panel_ui(); - side_panel_ui->SetNoDelaysForTesting(true); - side_panel_ui->Show(SidePanelEntry::Id::kBookmarks); - if (base::FeatureList::IsEnabled(features::kTabbedBrowserUseNewLayout)) { - browser()->GetBrowserView().GetWidget()->LayoutRootViewIfNecessary(); - } - EXPECT_EQ(side_panel()->bounds().x(), - side_panel_rounded_corner()->bounds().right()); - EXPECT_EQ(side_panel()->bounds().y(), - side_panel_rounded_corner()->bounds().y()); -} - class BookmarkBarViewObserverImpl : public BookmarkBarViewObserver { public: BookmarkBarViewObserverImpl() = default;
diff --git a/chrome/browser/ui/views/frame/contents_container_view.cc b/chrome/browser/ui/views/frame/contents_container_view.cc index 5fef97b..bffe710 100644 --- a/chrome/browser/ui/views/frame/contents_container_view.cc +++ b/chrome/browser/ui/views/frame/contents_container_view.cc
@@ -134,13 +134,11 @@ } #endif - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - mini_toolbar_ = AddChildView(std::make_unique<MultiContentsViewMiniToolbar>( - browser_view, contents_view_)); + mini_toolbar_ = AddChildView(std::make_unique<MultiContentsViewMiniToolbar>( + browser_view, contents_view_)); - container_outline_ = - AddChildView(std::make_unique<ContentsContainerOutline>(mini_toolbar_)); - } + container_outline_ = + AddChildView(std::make_unique<ContentsContainerOutline>(mini_toolbar_)); view_bounds_observer_.Observe(contents_view_); }
diff --git a/chrome/browser/ui/views/infobars/infobar_container_view_browsertest.cc b/chrome/browser/ui/views/infobars/infobar_container_view_browsertest.cc index 52086f76..4e5745d 100644 --- a/chrome/browser/ui/views/infobars/infobar_container_view_browsertest.cc +++ b/chrome/browser/ui/views/infobars/infobar_container_view_browsertest.cc
@@ -315,8 +315,7 @@ public testing::WithParamInterface<bool> { public: InfoBarContainerSplitTabTest() { - std::vector<base::test::FeatureRef> enabled_features = { - features::kSideBySide}; + std::vector<base::test::FeatureRef> enabled_features; std::vector<base::test::FeatureRef> disabled_features; if (IsPrioritizationEnabled()) {
diff --git a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm index 13ce1cf..9f95f1f2 100644 --- a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm +++ b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm
@@ -65,14 +65,11 @@ content::RenderFrameHost& render_frame_host, const content::ContextMenuParams& params) { // MacOS doesn't activate the `WebContents` on click by default so it must be - // manually configured. This is tied to the `kSideBySide` experiment because - // it is common to right click an inactive `WebContents` in split view. - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - tabs::TabInterface* tab_interface = - tabs::TabInterface::MaybeGetFromContents(web_contents_); - if (tab_interface && !tab_interface->IsActivated()) { - web_contents_->Focus(); - } + // manually configured. + tabs::TabInterface* tab_interface = + tabs::TabInterface::MaybeGetFromContents(web_contents_); + if (tab_interface && !tab_interface->IsActivated()) { + web_contents_->Focus(); } ShowMenu(BuildMenu(
diff --git a/chrome/browser/ui/views/tabs/new_tab_button.cc b/chrome/browser/ui/views/tabs/new_tab_button.cc index 94ec4e1b..8387f63 100644 --- a/chrome/browser/ui/views/tabs/new_tab_button.cc +++ b/chrome/browser/ui/views/tabs/new_tab_button.cc
@@ -83,10 +83,8 @@ SetElementIdentifierAt(GetIndexOfCommandId(IDC_CREATE_NEW_TAB_GROUP).value(), kCreateNewTabGroup); - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - AddSeparator(ui::NORMAL_SEPARATOR); - AddNewSplitTabItem(); - } + AddSeparator(ui::NORMAL_SEPARATOR); + AddNewSplitTabItem(); } NewTabButtonMenuModel::~NewTabButtonMenuModel() = default;
diff --git a/chrome/browser/ui/views/tabs/tab_strip_interactive_uitest.cc b/chrome/browser/ui/views/tabs/tab_strip_interactive_uitest.cc index 50fdcf0..5ff439d 100644 --- a/chrome/browser/ui/views/tabs/tab_strip_interactive_uitest.cc +++ b/chrome/browser/ui/views/tabs/tab_strip_interactive_uitest.cc
@@ -83,7 +83,7 @@ public: TestNewTabButtonContextMenu() { scoped_feature_list_.InitWithFeatures( - {features::kTabGroupMenuMoreEntryPoints, features::kSideBySide}, {}); + {features::kTabGroupMenuMoreEntryPoints}, {}); } TabStrip* tabstrip() { @@ -209,31 +209,4 @@ 2)); } -class TestNewTabButtonContextMenuSideBySideDisabled - : public TabStripInteractiveUiTest { - public: - TestNewTabButtonContextMenuSideBySideDisabled() { - scoped_feature_list_.InitWithFeatures( - {features::kTabGroupMenuMoreEntryPoints}, {features::kSideBySide}); - } - - private: - base::test::ScopedFeatureList scoped_feature_list_; -}; - -IN_PROC_BROWSER_TEST_F(TestNewTabButtonContextMenuSideBySideDisabled, - VerifyNewTabButtonContextMenuSplitViewNotPresent) { - RunTestSequence( - FinishTabstripAnimations(), EnsurePresent(kNewTabButtonElementId), - MoveMouseTo(kNewTabButtonElementId), - MayInvolveNativeContextMenu( - ClickMouse(ui_controls::RIGHT), - EnsurePresent(NewTabButtonMenuModel::kNewTab), - EnsurePresent(NewTabButtonMenuModel::kNewTabInGroup), - EnsurePresent(NewTabButtonMenuModel::kCreateNewTabGroup), - EnsureNotPresent(NewTabButtonMenuModel::kNewSplitView), - SendAccelerator(NewTabButtonMenuModel::kNewTab, - ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE)))); -} - #endif // !BUILDFLAG(IS_MAC)
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc index 6f64f9e..3408298 100644 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -370,11 +370,9 @@ reload_ = container_view_->AddChildView(std::move(reload)); } home_ = container_view_->AddChildView(std::move(home)); - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - std::unique_ptr<SplitTabsToolbarButton> split = - std::make_unique<SplitTabsToolbarButton>(browser_); - split_tabs_ = container_view_->AddChildView(std::move(split)); - } + std::unique_ptr<SplitTabsToolbarButton> split = + std::make_unique<SplitTabsToolbarButton>(browser_); + split_tabs_ = container_view_->AddChildView(std::move(split)); if (base::FeatureList::IsEnabled(contextual_tasks::kContextualTasks) && ((contextual_tasks::kShowEntryPoint.Get() ==
diff --git a/chrome/browser/ui/webui/bookmarks/bookmarks_ui.cc b/chrome/browser/ui/webui/bookmarks/bookmarks_ui.cc index 469efd3..e78c6b1 100644 --- a/chrome/browser/ui/webui/bookmarks/bookmarks_ui.cc +++ b/chrome/browser/ui/webui/bookmarks/bookmarks_ui.cc
@@ -58,8 +58,6 @@ source->AddString("undoDescription", l10n_util::GetStringFUTF16( IDS_UNDO_DESCRIPTION, undo_accelerator.GetShortcutText())); - source->AddBoolean("splitViewEnabled", - base::FeatureList::IsEnabled(features::kSideBySide)); // Localized strings (alphabetical order). static constexpr webui::LocalizedString kStrings[] = {
diff --git a/chrome/browser/ui/webui/browser_command/browser_command_handler.cc b/chrome/browser/ui/webui/browser_command/browser_command_handler.cc index a57f7ee..e0f565e40 100644 --- a/chrome/browser/ui/webui/browser_command/browser_command_handler.cc +++ b/chrome/browser/ui/webui/browser_command/browser_command_handler.cc
@@ -158,7 +158,6 @@ can_execute = true; break; case Command::kOpenSplitView: - // What's new module is gated on the kSideBySide flag already. can_execute = true; break; }
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc index 17fa0688..b118fd5 100644 --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -585,8 +585,7 @@ base::FeatureList::IsEnabled(features::kTabHoverCardImages)); html_source->AddBoolean("showVerticalTabsEnabled", tabs::IsVerticalTabsFeatureEnabled()); - html_source->AddBoolean("showSplitViewDragAndDropSetting", - base::FeatureList::IsEnabled(features::kSideBySide)); + html_source->AddBoolean("tabSearchIsRightAlignedAtStartup", tabs::GetTabSearchPosition(profile) == tabs::TabSearchPosition::kTrailingTabstrip);
diff --git a/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_page_handler.cc b/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_page_handler.cc index 6161845..a32e6f80 100644 --- a/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_page_handler.cc +++ b/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_page_handler.cc
@@ -105,8 +105,7 @@ AddItem(IDC_BOOKMARK_BAR_OPEN_ALL); AddItem(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW); AddItem(IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO); - if (bookmarks.size() == 1 && bookmarks.front()->is_url() && - base::FeatureList::IsEnabled(features::kSideBySide)) { + if (bookmarks.size() == 1 && bookmarks.front()->is_url()) { AddItem(IDC_BOOKMARK_BAR_OPEN_SPLIT_VIEW); } AddSeparator(ui::NORMAL_SEPARATOR); @@ -120,8 +119,7 @@ AddItem(IDC_BOOKMARK_BAR_OPEN_ALL); AddItem(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW); AddItem(IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO); - if (bookmarks.size() == 1 && bookmarks.front()->is_url() && - base::FeatureList::IsEnabled(features::kSideBySide)) { + if (bookmarks.size() == 1 && bookmarks.front()->is_url()) { AddItem(IDC_BOOKMARK_BAR_OPEN_SPLIT_VIEW); } AddSeparator(ui::NORMAL_SEPARATOR); @@ -561,7 +559,6 @@ void BookmarksPageHandler::ExecuteOpenInSplitViewCommand( const std::vector<int64_t>& node_ids, side_panel::mojom::ActionSource source) { - CHECK(base::FeatureList::IsEnabled(features::kSideBySide)); ExecuteContextMenuCommand(node_ids, source, IDC_BOOKMARK_BAR_OPEN_SPLIT_VIEW); }
diff --git a/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.cc b/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.cc index e5f229f..0ff93b7d 100644 --- a/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.cc +++ b/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.cc
@@ -207,8 +207,7 @@ source->AddBoolean( "bookmarksTreeViewEnabled", base::FeatureList::IsEnabled(features::kBookmarksTreeView)); - source->AddBoolean("splitViewEnabled", - base::FeatureList::IsEnabled(features::kSideBySide)); + // TODO(crbug.com/380818698): Replace this with the flag which will be used to // launch account storage for bookmarks. source->AddBoolean("isBookmarksInTransportModeEnabled",
diff --git a/chrome/browser/ui/webui/side_panel/customize_chrome/customize_toolbar/customize_toolbar_handler.cc b/chrome/browser/ui/webui/side_panel/customize_chrome/customize_toolbar/customize_toolbar_handler.cc index 63bc9d9..17a4968 100644 --- a/chrome/browser/ui/webui/side_panel/customize_chrome/customize_toolbar/customize_toolbar_handler.cc +++ b/chrome/browser/ui/webui/side_panel/customize_chrome/customize_toolbar/customize_toolbar_handler.cc
@@ -237,19 +237,17 @@ actions.push_back(std::move(home_action)); actions.push_back(std::move(forward_action)); - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - auto split_tab_action = side_panel::customize_chrome::mojom::Action::New( - MojoActionForChromeAction(kActionSplitTab).value(), - base::UTF16ToUTF8(l10n_util::GetStringUTF16(IDS_PIN_SPLIT_TAB_TOGGLE)), - prefs()->GetBoolean(prefs::kPinSplitTabButton), false, - side_panel::customize_chrome::mojom::CategoryId::kNavigation, - GURL(webui::EncodePNGAndMakeDataURI( - ui::ImageModel::FromVectorIcon(kSplitSceneIcon, icon_color_id) - .Rasterize(&provider), - scale_factor))); + auto split_tab_action = side_panel::customize_chrome::mojom::Action::New( + MojoActionForChromeAction(kActionSplitTab).value(), + base::UTF16ToUTF8(l10n_util::GetStringUTF16(IDS_PIN_SPLIT_TAB_TOGGLE)), + prefs()->GetBoolean(prefs::kPinSplitTabButton), false, + side_panel::customize_chrome::mojom::CategoryId::kNavigation, + GURL(webui::EncodePNGAndMakeDataURI( + ui::ImageModel::FromVectorIcon(kSplitSceneIcon, icon_color_id) + .Rasterize(&provider), + scale_factor))); - actions.push_back(std::move(split_tab_action)); - } + actions.push_back(std::move(split_tab_action)); if (base::FeatureList::IsEnabled(contextual_tasks::kContextualTasks) && (contextual_tasks::kShowEntryPoint.Get() ==
diff --git a/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc b/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc index 6881cb7..07704d0 100644 --- a/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc +++ b/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
@@ -767,12 +767,10 @@ void TabSearchPageHandler::GetIsSplit(GetIsSplitCallback callback) { bool is_split = false; - if (base::FeatureList::IsEnabled(features::kSideBySide)) { - GURL url = web_ui_->GetWebContents()->GetURL(); - if (url.spec() == chrome::kChromeUISplitViewNewTabPageURL) { - is_split = tabs::TabInterface::GetFromContents(web_ui_->GetWebContents()) - ->IsSplit(); - } + GURL url = web_ui_->GetWebContents()->GetURL(); + if (url.spec() == chrome::kChromeUISplitViewNewTabPageURL) { + is_split = tabs::TabInterface::GetFromContents(web_ui_->GetWebContents()) + ->IsSplit(); } std::move(callback).Run(is_split); } @@ -1614,9 +1612,6 @@ } void TabSearchPageHandler::OnSplitTabChanged(const SplitTabChange& change) { - if (!base::FeatureList::IsEnabled(features::kSideBySide)) { - return; - } if (change.type != SplitTabChange::Type::kRemoved) { return; }
diff --git a/chrome/browser/ui/webui/tab_search/tab_search_ui.cc b/chrome/browser/ui/webui/tab_search/tab_search_ui.cc index 6018440..90a57f4e 100644 --- a/chrome/browser/ui/webui/tab_search/tab_search_ui.cc +++ b/chrome/browser/ui/webui/tab_search/tab_search_ui.cc
@@ -218,8 +218,6 @@ features::IsTabstripDeclutterEnabled() && !profile->IsIncognitoProfile()); source->AddBoolean("dedupeEnabled", features::IsTabstripDedupeEnabled() && !profile->IsIncognitoProfile()); - source->AddBoolean("splitViewEnabled", - base::FeatureList::IsEnabled(features::kSideBySide)); #if BUILDFLAG(ENABLE_GLIC) source->AddResourcePath("alert_indicators/tab_media_glic_active.svg",
diff --git a/chrome/test/data/webui/settings/appearance_page_test.ts b/chrome/test/data/webui/settings/appearance_page_test.ts index dceaa344..a202767 100644 --- a/chrome/test/data/webui/settings/appearance_page_test.ts +++ b/chrome/test/data/webui/settings/appearance_page_test.ts
@@ -359,19 +359,6 @@ '#splitViewDragAndDrop')!.hidden); }); - test('hide split view drag and drop options', async function() { - loadTimeData.overrideValues({ - showSplitViewDragAndDropSetting: false, - }); - createAppearancePage(); - await microtasksFinished(); - assertTrue( - !!appearancePage.shadowRoot!.querySelector('#splitViewDragAndDrop')); - assertTrue(!!appearancePage.shadowRoot! - .querySelector<SettingsToggleButtonElement>( - '#splitViewDragAndDrop')!.hidden); - }); - test('split view drag and drop toggle updates pref', async function() { loadTimeData.overrideValues({ showSplitViewDragAndDropSetting: true,
diff --git a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_context_menu_test.ts b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_context_menu_test.ts index 3c03399..4cacd27c 100644 --- a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_context_menu_test.ts +++ b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_context_menu_test.ts
@@ -317,44 +317,4 @@ loadTimeData.getString('tooltipDelete')), true); }); - - test('ShowsMenuItemsForUserWithSplitViewDisabled', async () => { - loadTimeData.overrideValues({ - splitViewEnabled: false, - isIncognitoModeAvailable: true, - }); - - const selection = [service.findBookmarkWithId('3')!]; - powerBookmarksContextMenu.showAtPosition( - new MouseEvent('click'), selection, false, false, false); - - await waitAfterNextRender(powerBookmarksContextMenu); - - const menuItems = powerBookmarksContextMenu.shadowRoot!.querySelectorAll( - '.dropdown-item'); - assertEquals(menuItems.length, 6); - assertEquals( - menuItems[0]!.textContent.includes( - loadTimeData.getString('menuOpenNewTab')), - true); - assertEquals( - menuItems[1]!.textContent.includes( - loadTimeData.getString('menuOpenNewWindow')), - true); - assertEquals( - menuItems[2]!.textContent.includes( - loadTimeData.getString('menuOpenIncognito')), - true); - assertEquals( - menuItems[3]!.textContent.includes(loadTimeData.getString('menuEdit')), - true); - assertEquals( - menuItems[4]!.textContent.includes( - loadTimeData.getString('menuMoveToBookmarksBar')), - true); - assertEquals( - menuItems[5]!.textContent.includes( - loadTimeData.getString('tooltipDelete')), - true); - }); });
diff --git a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts index dc51ae3..e21a254 100644 --- a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts +++ b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts
@@ -138,7 +138,6 @@ emptyBodyGuest: 'guest body', bookmarksTreeViewEnabled: false, isBookmarksInTransportModeEnabled: false, - splitViewEnabled: false, }); powerBookmarksList = await initializeUi(bookmarksApi); @@ -841,12 +840,11 @@ // Get the edit option in the menu. const menuItems = contextMenu.shadowRoot!.querySelectorAll('.dropdown-item'); - assertEquals( - menuItems[3]!.textContent.includes( - loadTimeData.getString('menuEdit')), - true); + assertTrue( + menuItems[4]!.textContent.includes( + loadTimeData.getString('menuEdit'))); const editItem = contextMenu.shadowRoot!.querySelectorAll<HTMLElement>( - '.dropdown-item')[3]!; + '.dropdown-item')[4]!; // Click on edit and wait for the call to propagate. editItem.click();
diff --git a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_transport_mode_test.ts b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_transport_mode_test.ts index 42f8157..0f810d0 100644 --- a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_transport_mode_test.ts +++ b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_transport_mode_test.ts
@@ -66,7 +66,6 @@ emptyBodyGuest: 'guest body', bookmarksTreeViewEnabled: false, isBookmarksInTransportModeEnabled: true, - splitViewEnabled: false, }); powerBookmarksList = await initializeUi(bookmarksApi); @@ -88,10 +87,10 @@ const menuItems = contextMenu.shadowRoot!.querySelectorAll('.dropdown-item'); assertEquals( - menuItems[3]!.textContent.includes(loadTimeData.getString('menuEdit')), + menuItems[4]!.textContent.includes(loadTimeData.getString('menuEdit')), true); const editItem = contextMenu.shadowRoot!.querySelectorAll<HTMLElement>( - '.dropdown-item')[3]!; + '.dropdown-item')[4]!; // Click on edit and wait for the call to propagate. editItem.click();