chrome: mac: Support dispatch of window commands (see #3462)

This commit is contained in:
Marshall Greenblatt
2023-04-18 17:20:44 -04:00
parent a39c2a0068
commit 7ade772e0b
5 changed files with 217 additions and 2 deletions

View File

@@ -10,6 +10,7 @@
#include "ui/views/widget/native_widget_mac.h"
class BrowserView;
class CefWindow;
class CefWindowDelegate;
@@ -23,19 +24,31 @@ class CefNativeWidgetMac : public views::NativeWidgetMac {
CefNativeWidgetMac(const CefNativeWidgetMac&) = delete;
CefNativeWidgetMac& operator=(const CefNativeWidgetMac&) = delete;
protected:
void SetBrowserView(BrowserView* browser_view);
// NativeWidgetMac:
void ValidateUserInterfaceItem(
int32_t command,
remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) override;
bool WillExecuteCommand(int32_t command,
WindowOpenDisposition window_open_disposition,
bool is_before_first_responder) override;
bool ExecuteCommand(int32_t command,
WindowOpenDisposition window_open_disposition,
bool is_before_first_responder) override;
NativeWidgetMacNSWindow* CreateNSWindow(
const remote_cocoa::mojom::CreateWindowParams* params) override;
void GetWindowFrameTitlebarHeight(bool* override_titlebar_height,
float* titlebar_height) override;
void OnWindowFullscreenTransitionStart() override;
void OnWindowFullscreenTransitionComplete() override;
void OnWindowInitialized() override;
private:
const CefRefPtr<CefWindow> window_;
CefWindowDelegate* const window_delegate_;
BrowserView* browser_view_ = nullptr;
};
#endif // CEF_LIBCEF_BROWSER_VIEWS_NATIVE_WIDGET_MAC_H_