diff --git chrome/browser/ui/views/frame/browser_frame_mac.h chrome/browser/ui/views/frame/browser_frame_mac.h index 2245c931fbe4f..761ea6b3a6afb 100644 --- chrome/browser/ui/views/frame/browser_frame_mac.h +++ chrome/browser/ui/views/frame/browser_frame_mac.h @@ -11,6 +11,7 @@ #include "ui/base/mojom/window_show_state.mojom-forward.h" #include "ui/views/widget/native_widget_mac.h" +class Browser; class BrowserFrame; class BrowserView; @class BrowserWindowTouchBarController; @@ -54,6 +55,21 @@ class BrowserFrameMac : public views::NativeWidgetMac, bool ShouldUseInitialVisibleOnAllWorkspaces() const override; void AnnounceTextInInProcessWindow(const std::u16string& text) override; + static void ValidateUserInterfaceItem( + Browser* browser, + int32_t command, + remote_cocoa::mojom::ValidateUserInterfaceItemResult* result); + static bool WillExecuteCommand( + Browser* browser, + int32_t command, + WindowOpenDisposition window_open_disposition, + bool is_before_first_responder); + static bool ExecuteCommand( + Browser* browser, + int32_t command, + WindowOpenDisposition window_open_disposition, + bool is_before_first_responder); + protected: ~BrowserFrameMac() override; diff --git chrome/browser/ui/views/frame/browser_frame_mac.mm chrome/browser/ui/views/frame/browser_frame_mac.mm index 1e5c56c02cace..71e91ab4f3fb7 100644 --- chrome/browser/ui/views/frame/browser_frame_mac.mm +++ chrome/browser/ui/views/frame/browser_frame_mac.mm @@ -184,7 +184,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() { void BrowserFrameMac::ValidateUserInterfaceItem( int32_t tag, remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) { - Browser* browser = browser_view_->browser(); + return ValidateUserInterfaceItem(browser_view_->browser(), tag, result); +} + +// static +void BrowserFrameMac::ValidateUserInterfaceItem( + Browser* browser, + int32_t tag, + remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) { if (!chrome::SupportsCommand(browser, tag)) { result->enable = false; return; @@ -307,8 +314,16 @@ bool BrowserFrameMac::WillExecuteCommand( int32_t command, WindowOpenDisposition window_open_disposition, bool is_before_first_responder) { - Browser* browser = browser_view_->browser(); + return WillExecuteCommand(browser_view_->browser(), command, + window_open_disposition, is_before_first_responder); +} +// static +bool BrowserFrameMac::WillExecuteCommand( + Browser* browser, + int32_t command, + WindowOpenDisposition window_open_disposition, + bool is_before_first_responder) { if (is_before_first_responder) { // The specification for this private extensions API is incredibly vague. // For now, we avoid triggering chrome commands prior to giving the @@ -339,11 +354,20 @@ bool BrowserFrameMac::ExecuteCommand( int32_t command, WindowOpenDisposition window_open_disposition, bool is_before_first_responder) { - if (!WillExecuteCommand(command, window_open_disposition, - is_before_first_responder)) - return false; + return ExecuteCommand(browser_view_->browser(), command, + window_open_disposition, is_before_first_responder); +} - Browser* browser = browser_view_->browser(); +// static +bool BrowserFrameMac::ExecuteCommand( + Browser* browser, + int32_t command, + WindowOpenDisposition window_open_disposition, + bool is_before_first_responder) { + if (!WillExecuteCommand(browser, command, window_open_disposition, + is_before_first_responder)) { + return false; + } chrome::ExecuteCommandWithDisposition(browser, command, window_open_disposition);