cef/patch/patches/chrome_browser_frame_mac.patch

98 lines
3.8 KiB
Diff

diff --git chrome/browser/ui/views/frame/browser_frame_mac.h chrome/browser/ui/views/frame/browser_frame_mac.h
index a5ee05ae5f5e9..97fd2e8da450e 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;
@@ -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 13300a3ec7e25..b8f61c5845779 100644
--- chrome/browser/ui/views/frame/browser_frame_mac.mm
+++ chrome/browser/ui/views/frame/browser_frame_mac.mm
@@ -182,7 +182,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;
@@ -294,8 +301,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
@@ -326,11 +341,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);