mirror of
https://github.com/aphrody-labs/cef.git
synced 2026-10-14 05:09:23 +00:00
win: dxil.dll is no longer distributed mac: Xcode 27 (macOS 26.6+) is now required
119 lines
5.0 KiB
Diff
119 lines
5.0 KiB
Diff
diff --git chrome/browser/ui/views/frame/browser_native_widget_mac.h chrome/browser/ui/views/frame/browser_native_widget_mac.h
|
|
index 2d84f6ff903e9d13ec3c1be83e3e110a12e243ef..279f38dd7f92c604a985fee79f77e9d55ea2f953 100644
|
|
--- chrome/browser/ui/views/frame/browser_native_widget_mac.h
|
|
+++ chrome/browser/ui/views/frame/browser_native_widget_mac.h
|
|
@@ -19,6 +19,7 @@
|
|
#include "ui/native_theme/native_theme.h"
|
|
#include "ui/views/widget/native_widget_mac.h"
|
|
|
|
+class Browser;
|
|
class BrowserWidget;
|
|
class BrowserView;
|
|
@class BrowserWindowTouchBarController;
|
|
@@ -76,6 +77,19 @@ class BrowserNativeWidgetMac : public views::NativeWidgetMac,
|
|
bool ShouldUseInitialVisibleOnAllWorkspaces() const override;
|
|
void AnnounceTextInInProcessWindow(const std::u16string& text) override;
|
|
|
|
+ static void ValidateUserInterfaceItem(
|
|
+ BrowserWindowInterface* browser,
|
|
+ int32_t command,
|
|
+ remote_cocoa::mojom::ValidateUserInterfaceItemResult* result);
|
|
+ static bool WillExecuteCommand(BrowserWindowInterface* browser,
|
|
+ int32_t command,
|
|
+ WindowOpenDisposition window_open_disposition,
|
|
+ bool is_before_first_responder);
|
|
+ static bool ExecuteCommand(BrowserWindowInterface* browser,
|
|
+ int32_t command,
|
|
+ WindowOpenDisposition window_open_disposition,
|
|
+ bool is_before_first_responder);
|
|
+
|
|
protected:
|
|
~BrowserNativeWidgetMac() override;
|
|
|
|
diff --git chrome/browser/ui/views/frame/browser_native_widget_mac.mm chrome/browser/ui/views/frame/browser_native_widget_mac.mm
|
|
index 818924fc76681c38faad1c2082b686cbf67f3cdd..15dd0cbd1fc07045b263dae1fd9a08ad83159dcc 100644
|
|
--- chrome/browser/ui/views/frame/browser_native_widget_mac.mm
|
|
+++ chrome/browser/ui/views/frame/browser_native_widget_mac.mm
|
|
@@ -401,8 +401,15 @@ void BrowserNativeWidgetMac::OnWidgetDestroyed(views::Widget* widget) {
|
|
void BrowserNativeWidgetMac::ValidateUserInterfaceItem(
|
|
int32_t tag,
|
|
remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) {
|
|
- BrowserWindowInterface* const browser =
|
|
- browser_view_ ? browser_view_->browser() : nullptr;
|
|
+ return ValidateUserInterfaceItem(
|
|
+ browser_view_ ? browser_view_->browser() : nullptr, tag, result);
|
|
+}
|
|
+
|
|
+// static
|
|
+void BrowserNativeWidgetMac::ValidateUserInterfaceItem(
|
|
+ BrowserWindowInterface* browser,
|
|
+ int32_t tag,
|
|
+ remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) {
|
|
if (!browser || !chrome::SupportsCommand(browser, tag)) {
|
|
result->enable = false;
|
|
return;
|
|
@@ -613,9 +620,16 @@ bool BrowserNativeWidgetMac::WillExecuteCommand(
|
|
if (!browser_view_) {
|
|
return false;
|
|
}
|
|
+ return WillExecuteCommand(browser_view_->browser(), command,
|
|
+ window_open_disposition, is_before_first_responder);
|
|
+}
|
|
|
|
- BrowserWindowInterface* const browser = browser_view_->browser();
|
|
-
|
|
+// static
|
|
+bool BrowserNativeWidgetMac::WillExecuteCommand(
|
|
+ BrowserWindowInterface* 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
|
|
@@ -647,12 +661,23 @@ bool BrowserNativeWidgetMac::ExecuteCommand(
|
|
int32_t command,
|
|
WindowOpenDisposition window_open_disposition,
|
|
bool is_before_first_responder) {
|
|
- if (!WillExecuteCommand(command, window_open_disposition,
|
|
- is_before_first_responder)) {
|
|
+ if (!browser_view_) {
|
|
return false;
|
|
}
|
|
+ return ExecuteCommand(browser_view_->browser(), command,
|
|
+ window_open_disposition, is_before_first_responder);
|
|
+}
|
|
|
|
- BrowserWindowInterface* browser = browser_view_->browser();
|
|
+// static
|
|
+bool BrowserNativeWidgetMac::ExecuteCommand(
|
|
+ BrowserWindowInterface* 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;
|
|
+ }
|
|
|
|
if (command == IDC_TOGGLE_VERTICAL_TABS) {
|
|
if (auto* controller =
|
|
@@ -699,10 +724,13 @@ bool BrowserNativeWidgetMac::ExecuteCommand(
|
|
return true;
|
|
}
|
|
} else if (command == IDC_CLEAR_BROWSING_DATA) {
|
|
- views::ElementTrackerViews::GetInstance()->NotifyCustomEvent(
|
|
- browsing_data_important_sites_util::
|
|
- kOpenClearBrowsingDataDialogViaAcceleratorEventId,
|
|
- browser_view_);
|
|
+ BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
|
|
+ if (browser_view) {
|
|
+ views::ElementTrackerViews::GetInstance()->NotifyCustomEvent(
|
|
+ browsing_data_important_sites_util::
|
|
+ kOpenClearBrowsingDataDialogViaAcceleratorEventId,
|
|
+ browser_view);
|
|
+ }
|
|
}
|
|
|
|
chrome::ExecuteCommandWithDisposition(browser, command,
|