From 80d61b3b0a81504c7cb4c7df50ad155371d2c80b Mon Sep 17 00:00:00 2001 From: trafalgar Date: Sun, 18 Aug 2024 21:10:51 +0800 Subject: [PATCH] feat: expose onJsdialog --- include/CefViewBrowserClientDelegate.h | 13 +++++++++++++ .../CefViewBrowserClient_JSDialogHandler.cpp | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/include/CefViewBrowserClientDelegate.h b/include/CefViewBrowserClientDelegate.h index d476c30..5817922 100644 --- a/include/CefViewBrowserClientDelegate.h +++ b/include/CefViewBrowserClientDelegate.h @@ -82,6 +82,19 @@ class CefViewBrowserClientDelegateInterface }; #pragma endregion +#pragma region JSDialogHandler + virtual bool OnJSDialog(CefRefPtr browser, + const CefString& origin_url, + CefJSDialogHandler::JSDialogType dialog_type, + const CefString& message_text, + const CefString& default_prompt_text, + CefRefPtr callback, + bool& suppress_message) + { + return false; + } +#pragma endregion + // display handler #pragma region DisplayHandler virtual void addressChanged(CefRefPtr& browser, int64_t frameId, const std::string& url) = 0; diff --git a/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp b/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp index 36d3798..153d3fb 100644 --- a/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp +++ b/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp @@ -29,6 +29,11 @@ CefViewBrowserClient::OnJSDialog(CefRefPtr browser, { CEF_REQUIRE_UI_THREAD(); + auto delegate = client_delegate_.lock(); + if (delegate) + return delegate->OnJSDialog( + browser, origin_url, dialog_type, message_text, default_prompt_text, callback, suppress_message); + return false; }