From d8aeb85ae4e7058912d1f4a103e12bcfb336899c Mon Sep 17 00:00:00 2001 From: = <=> Date: Sat, 24 Aug 2024 23:26:41 +0200 Subject: [PATCH 1/2] add onClientBrowserConsoleMessage event --- Client/mods/deathmatch/logic/CClientGame.cpp | 1 + Client/mods/deathmatch/logic/CClientWebBrowser.cpp | 10 ++++++++++ Client/mods/deathmatch/logic/CClientWebBrowser.h | 1 + Client/sdk/core/CWebBrowserEventsInterface.h | 1 + 4 files changed, 13 insertions(+) diff --git a/Client/mods/deathmatch/logic/CClientGame.cpp b/Client/mods/deathmatch/logic/CClientGame.cpp index 7b57fe13e1..56216d2d0d 100644 --- a/Client/mods/deathmatch/logic/CClientGame.cpp +++ b/Client/mods/deathmatch/logic/CClientGame.cpp @@ -2773,6 +2773,7 @@ void CClientGame::AddBuiltInEvents() m_Events.AddEvent("onClientBrowserTooltip", "text", NULL, false); m_Events.AddEvent("onClientBrowserInputFocusChanged", "gainedfocus", NULL, false); m_Events.AddEvent("onClientBrowserResourceBlocked", "url, domain, reason", NULL, false); + m_Events.AddEvent("onClientBrowserConsoleMessage", "message, source, line level", NULL, false); // Misc events m_Events.AddEvent("onClientFileDownloadComplete", "fileName, success", NULL, false); diff --git a/Client/mods/deathmatch/logic/CClientWebBrowser.cpp b/Client/mods/deathmatch/logic/CClientWebBrowser.cpp index cf54f463e7..3991ee98c0 100644 --- a/Client/mods/deathmatch/logic/CClientWebBrowser.cpp +++ b/Client/mods/deathmatch/logic/CClientWebBrowser.cpp @@ -305,6 +305,16 @@ void CClientWebBrowser::Events_OnAjaxRequest(CAjaxResourceHandlerInterface* pHan pHandler->SetResponse(result); } +void CClientWebBrowser::Events_OnConsoleMessage(const SString& strMessage, const SString& strSource, int line, short level) +{ + CLuaArguments Arguments; + Arguments.PushString(strMessage); + Arguments.PushString(strSource); + Arguments.PushNumber(line); + Arguments.PushNumber(level); + CallEvent("onClientBrowserConsoleMessage", Arguments, false); +} + bool CClientWebBrowser::AddAjaxHandler(const SString& strURL, ajax_callback_t& handler) { if (!m_pWebView->RegisterAjaxHandler(strURL)) diff --git a/Client/mods/deathmatch/logic/CClientWebBrowser.h b/Client/mods/deathmatch/logic/CClientWebBrowser.h index 09de6ce0af..9d81dd1b76 100644 --- a/Client/mods/deathmatch/logic/CClientWebBrowser.h +++ b/Client/mods/deathmatch/logic/CClientWebBrowser.h @@ -84,6 +84,7 @@ class CClientWebBrowser : public CClientTexture, public CWebBrowserEventsInterfa bool Events_OnResourceFileCheck(const SString& strURL, CBuffer& outFileData) override; void Events_OnResourceBlocked(const SString& strURL, const SString& strDomain, unsigned char reason) override; void Events_OnAjaxRequest(CAjaxResourceHandlerInterface* pHandler, const SString& strURL) override; + void Events_OnConsoleMessage(const SString& strMessage, const SString& strSource, int line, short level); private: CWebViewInterface* m_pWebView; diff --git a/Client/sdk/core/CWebBrowserEventsInterface.h b/Client/sdk/core/CWebBrowserEventsInterface.h index 1db426df89..afd5d4d15c 100644 --- a/Client/sdk/core/CWebBrowserEventsInterface.h +++ b/Client/sdk/core/CWebBrowserEventsInterface.h @@ -28,4 +28,5 @@ class CWebBrowserEventsInterface virtual bool Events_OnResourceFileCheck(const SString& strURL, CBuffer& outFileData) = 0; virtual void Events_OnResourceBlocked(const SString& strURL, const SString& strDomain, unsigned char reason) = 0; virtual void Events_OnAjaxRequest(CAjaxResourceHandlerInterface* pHandler, const SString& strURL) = 0; + virtual void Events_OnConsoleMessage(const SString& strMessage, const SString& strSource, int line, short level) = 0; }; From 5a72d043df269d7070bb09910572e2dfee5a3d6c Mon Sep 17 00:00:00 2001 From: = <=> Date: Sat, 24 Aug 2024 23:37:46 +0200 Subject: [PATCH 2/2] add missing comma --- Client/mods/deathmatch/logic/CClientGame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Client/mods/deathmatch/logic/CClientGame.cpp b/Client/mods/deathmatch/logic/CClientGame.cpp index 56216d2d0d..6a5e0bb5a8 100644 --- a/Client/mods/deathmatch/logic/CClientGame.cpp +++ b/Client/mods/deathmatch/logic/CClientGame.cpp @@ -2773,7 +2773,7 @@ void CClientGame::AddBuiltInEvents() m_Events.AddEvent("onClientBrowserTooltip", "text", NULL, false); m_Events.AddEvent("onClientBrowserInputFocusChanged", "gainedfocus", NULL, false); m_Events.AddEvent("onClientBrowserResourceBlocked", "url, domain, reason", NULL, false); - m_Events.AddEvent("onClientBrowserConsoleMessage", "message, source, line level", NULL, false); + m_Events.AddEvent("onClientBrowserConsoleMessage", "message, source, line, level", NULL, false); // Misc events m_Events.AddEvent("onClientFileDownloadComplete", "fileName, success", NULL, false);