This change corrects several cascading places where passing `BrowserWindowInterface` is already feasible. It also further corrects some cases `Browser*` and `Profile*` were being passed alongside each other, which is redundant. Chromium changes: https://chromium.googlesource.com/chromium/src/+/c6268a491040e14ca749fb2ba8fb131ab7512f87 commit c6268a491040e14ca749fb2ba8fb131ab7512f87 Author: Kun Wang <kunwang@microsoft.com> Date: Sun Apr 12 23:56:11 2026 -0700 [bedrock] Migrate FindLastActive Step 1 Bug:494010890 Change-Id: I52727f56f3e6172515e3f053a74cb81947c9b8f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7743380 Reviewed-by: Tom Lukaszewicz <tluk@chromium.org> Reviewed-by: Hidehiko Abe <hidehiko@chromium.org> Commit-Queue: Kun Wang <kunwang@microsoft.com> Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com> Cr-Commit-Position: refs/heads/main@{#1613517}
200 lines
7.0 KiB
C++
200 lines
7.0 KiB
C++
/* Copyright (c) 2019 The Brave Authors. All rights reserved.
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef BRAVE_BROWSER_UI_BROWSER_COMMANDS_H_
|
|
#define BRAVE_BROWSER_UI_BROWSER_COMMANDS_H_
|
|
|
|
#include "brave/components/brave_wallet/common/buildflags/buildflags.h"
|
|
#include "brave/components/brave_wayback_machine/buildflags/buildflags.h"
|
|
#include "brave/components/commander/common/buildflags/buildflags.h"
|
|
#include "brave/components/containers/buildflags/buildflags.h"
|
|
#include "brave/components/playlist/core/common/buildflags/buildflags.h"
|
|
#include "brave/components/tor/buildflags/buildflags.h"
|
|
#include "chrome/browser/ui/tabs/split_tab_metrics.h"
|
|
#include "chrome/browser/ui/tabs/tab_model.h"
|
|
#include "content/public/browser/page_navigator.h"
|
|
#include "content/public/browser/web_contents.h"
|
|
#include "ui/base/page_transition_types.h"
|
|
#include "url/gurl.h"
|
|
#include "url/origin.h"
|
|
|
|
namespace actions {
|
|
class ActionItem;
|
|
}
|
|
|
|
#if BUILDFLAG(ENABLE_CONTAINERS)
|
|
#include "brave/components/containers/core/mojom/containers.mojom-forward.h"
|
|
#endif
|
|
|
|
class Browser;
|
|
class BrowserWindowInterface;
|
|
class Profile;
|
|
|
|
namespace brave {
|
|
|
|
bool HasSelectedURL(Browser* browser);
|
|
void CleanAndCopySelectedURL(Browser* browser);
|
|
|
|
#if BUILDFLAG(ENABLE_TOR)
|
|
void NewOffTheRecordWindowTor(Browser* browser);
|
|
void NewOffTheRecordWindowTor(Profile* profile);
|
|
void NewTorConnectionForSite(BrowserWindowInterface*);
|
|
#endif
|
|
|
|
void ToggleAIChat(Browser* browser);
|
|
|
|
#if BUILDFLAG(ENABLE_BRAVE_WALLET)
|
|
void ShowWalletBubble(Browser* browser);
|
|
void CloseWalletBubble(Browser* browser);
|
|
#endif
|
|
|
|
void MaybeDistillAndShowSpeedreaderBubble(Browser* browser);
|
|
void ShowBraveVPNBubble(Browser* browser);
|
|
void ToggleBraveVPNButton(Browser* browser);
|
|
void ToggleBraveVPNTrayIcon();
|
|
void OpenBraveVPNUrls(Browser* browser, int command_id);
|
|
// Copies an url sanitized by URLSanitizerService.
|
|
void CopySanitizedURL(BrowserWindowInterface* browser, const GURL& url);
|
|
// Copies an url cleared through:
|
|
// - Debouncer (potentially debouncing many levels)
|
|
// - Query filter
|
|
// - URLSanitizerService
|
|
void CopyLinkWithStrictCleaning(Browser* browser, const GURL& url);
|
|
|
|
void ToggleWindowTitleVisibilityForVerticalTabs(Browser* browser);
|
|
void ToggleVerticalTabStrip(Browser* browser);
|
|
void ToggleVerticalTabStripFloatingMode(Browser* browser);
|
|
void ToggleVerticalTabStripExpanded(Browser* browser);
|
|
|
|
void ToggleActiveTabAudioMute(Browser* browser);
|
|
void ToggleSidebarPosition(Browser* browser);
|
|
void ToggleSidebar(Browser* browser);
|
|
|
|
void ToggleFocusMode(BrowserWindowInterface* browser);
|
|
|
|
void ToggleShieldsEnabled(Browser* browser);
|
|
void ToggleJavascriptEnabled(Browser* browser);
|
|
|
|
#if BUILDFLAG(ENABLE_COMMANDER)
|
|
void ToggleCommander(Browser* browser);
|
|
#endif
|
|
|
|
#if BUILDFLAG(ENABLE_PLAYLIST_WEBUI)
|
|
void ShowPlaylistBubble(Browser* browser);
|
|
#endif
|
|
|
|
#if BUILDFLAG(ENABLE_BRAVE_WAYBACK_MACHINE)
|
|
void ShowWaybackMachineBubble(Browser* browser);
|
|
#endif
|
|
|
|
void GroupTabsOnCurrentOrigin(Browser* browser);
|
|
void MoveGroupToNewWindow(Browser* browser);
|
|
|
|
bool IsInGroup(Browser* browser);
|
|
bool HasUngroupedTabs(Browser* browser);
|
|
|
|
void GroupUngroupedTabs(Browser* browser);
|
|
void UngroupCurrentGroup(Browser* browser);
|
|
void RemoveTabFromGroup(Browser* browser);
|
|
void NameGroup(Browser* browser);
|
|
void NewTabInGroup(Browser* browser);
|
|
|
|
bool CanUngroupAllTabs(Browser* browser);
|
|
void UngroupAllTabs(Browser* browser);
|
|
|
|
void ToggleGroupExpanded(Browser* browser);
|
|
void CloseUngroupedTabs(Browser* browser);
|
|
void CloseTabsNotInCurrentGroup(Browser* browser);
|
|
void CloseGroup(Browser* browser);
|
|
|
|
bool CanBringAllTabs(Browser* browser);
|
|
void BringAllTabs(Browser* browser);
|
|
|
|
bool HasDuplicateTabs(Browser* browser);
|
|
void CloseDuplicateTabs(Browser* browser);
|
|
|
|
bool CanCloseTabsToLeft(Browser* browser);
|
|
void CloseTabsToLeft(Browser* browser);
|
|
|
|
bool CanCloseUnpinnedTabs(Browser* browser);
|
|
void CloseUnpinnedTabs(Browser* browser);
|
|
|
|
void AddAllTabsToNewGroup(Browser* browser);
|
|
|
|
bool CanMuteAllTabs(Browser* browser, bool exclude_active);
|
|
void MuteAllTabs(Browser* browser, bool exclude_active);
|
|
|
|
bool CanUnmuteAllTabs(Browser* browser);
|
|
void UnmuteAllTabs(Browser* browser);
|
|
|
|
void ScrollTabToTop(Browser* browser);
|
|
void ScrollTabToBottom(Browser* browser);
|
|
|
|
void ExportAllBookmarks(Browser* browser);
|
|
void ToggleAllBookmarksButtonVisibility(Browser* browser);
|
|
|
|
// Split view API with SideBySide.
|
|
// false if active tab is already split tab.
|
|
bool CanOpenNewSplitTabsWithSideBySide(Browser* browser);
|
|
|
|
// true if two tabs are selected and both are not in split tabs.
|
|
bool CanSplitTabsWithSideBySide(Browser* browser);
|
|
|
|
// Add to split with selected two tabs.
|
|
void SplitTabsWithSideBySide(Browser* browser,
|
|
split_tabs::SplitTabCreatedSource source);
|
|
|
|
// true if any selected tab is split tabs.
|
|
bool IsSplitTabs(Browser* browser);
|
|
|
|
// Remove split tabs of selected tabs.
|
|
void RemoveSplitWithSideBySide(Browser* browser);
|
|
|
|
// Swap tabs in active tab.
|
|
void SwapTabsInSplitWithSideBySide(Browser* browser);
|
|
|
|
// Force pastes into the active web contents in the browser, if focused.
|
|
void ForcePasteInBrowser(Browser* browser);
|
|
|
|
// Force pastes into the web contents if focused.
|
|
void ForcePasteInWebContents(content::WebContents* contents);
|
|
|
|
#if BUILDFLAG(ENABLE_CONTAINERS)
|
|
// Creates new tabs with the given tabs' URLs in the specified container.
|
|
void OpenTabUrlsInContainer(BrowserWindowInterface* browser_window,
|
|
const std::vector<tabs::TabHandle>& tabs,
|
|
const containers::mojom::ContainerPtr& container);
|
|
// Creates a new tab with the specified URL in the given container.
|
|
void OpenUrlInContainer(BrowserWindowInterface* browser_window,
|
|
const GURL& url,
|
|
const containers::mojom::ContainerPtr& container,
|
|
bool is_link = true);
|
|
|
|
// Creates new tabs with the given tabs' URLs without a container.
|
|
void OpenTabUrlsWithoutContainer(BrowserWindowInterface* browser_window,
|
|
const std::vector<tabs::TabHandle>& tabs);
|
|
void OpenUrlWithoutContainer(BrowserWindowInterface* browser_window,
|
|
const GURL& url,
|
|
bool is_link = true);
|
|
|
|
// Creates a new temporary container and opens the given tabs' URLs in it.
|
|
void CreateTemporaryContainerAndOpenTabUrls(
|
|
BrowserWindowInterface* browser_window,
|
|
const std::vector<tabs::TabHandle>& tabs);
|
|
// Opens |url| in a new tab in a freshly created temporary container.
|
|
void CreateTemporaryContainerAndOpenUrl(BrowserWindowInterface* browser_window,
|
|
const GURL& url,
|
|
bool is_link = true);
|
|
|
|
// Opens the container menu on the page action view if the active tab is in a
|
|
// container.
|
|
void OpenContainerMenuOnPageActionView(BrowserWindowInterface* browser,
|
|
::actions::ActionItem* item);
|
|
#endif
|
|
|
|
} // namespace brave
|
|
|
|
#endif // BRAVE_BROWSER_UI_BROWSER_COMMANDS_H_
|