Files
brave-core/browser/ui/browser_commands.h
T
Claudio DeSouza 7dc349365c [cr149] FindLastActive returning BrowserWindowInterface
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}
2026-05-22 16:18:09 -04:00

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_