diff --git chrome/browser/ui/views/frame/browser_frame_mac.h chrome/browser/ui/views/frame/browser_frame_mac.h index decd0b51ddc3d..17fce2da6ad0e 100644 --- chrome/browser/ui/views/frame/browser_frame_mac.h +++ chrome/browser/ui/views/frame/browser_frame_mac.h @@ -11,6 +11,7 @@ #include "chrome/browser/command_observer.h" #include "ui/views/widget/native_widget_mac.h" +class Browser; class BrowserFrame; class BrowserView; @class BrowserWindowTouchBarController; @@ -53,6 +54,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 7b52e844d31d1..38862163b6698 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; @@ -305,8 +312,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 @@ -337,11 +352,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);