diff --git a/include/CefViewBrowserClient.h b/include/CefViewBrowserClient.h
index ddab191..1d69930 100644
--- a/include/CefViewBrowserClient.h
+++ b/include/CefViewBrowserClient.h
@@ -142,6 +142,20 @@ class CefViewBrowserClient
const CefString& url,
int64_t context);
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ virtual CefRefPtr GetResourceResponseFilter(CefRefPtr browser,
+ CefRefPtr frame,
+ CefRefPtr request,
+ CefRefPtr response) override;
+
+
protected:
bool DispatchRenderMessage(CefRefPtr browser,
CefRefPtr frame,
@@ -351,6 +365,13 @@ class CefViewBrowserClient
CefRefPtr frame,
CefRefPtr request) override;
+ virtual void OnResourceLoadComplete(CefRefPtr browser,
+ CefRefPtr frame,
+ CefRefPtr request,
+ CefRefPtr response,
+ URLRequestStatus status,
+ int64 received_content_length) override;
+
virtual void OnProtocolExecution(CefRefPtr browser,
CefRefPtr frame,
CefRefPtr request,
@@ -358,6 +379,7 @@ class CefViewBrowserClient
// CefDownloadHandler
virtual CefRefPtr GetDownloadHandler() override;
+
void OnBeforeDownload(CefRefPtr browser,
CefRefPtr download_item,
const CefString& suggested_name,
diff --git a/include/CefViewBrowserClientDelegate.h b/include/CefViewBrowserClientDelegate.h
index 4c83219..3854b36 100644
--- a/include/CefViewBrowserClientDelegate.h
+++ b/include/CefViewBrowserClientDelegate.h
@@ -187,9 +187,26 @@ class CefViewBrowserClientDelegateInterface
{}
virtual void onTextSelectionChanged(CefRefPtr browser,
const CefString& selected_text,
- const CefRange& selected_range)
- {}
+ const CefRange& selected_range){}
+
virtual void onVirtualKeyboardRequested(CefRefPtr browser, CefRenderHandler::TextInputMode input_mode) {}
+
+ //CefResourceRequestHandler
+ virtual void onResourceLoadComplete(CefRefPtr browser,
+ CefRefPtr frame,
+ CefRefPtr request,
+ CefRefPtr response,
+ CefResourceRequestHandler::URLRequestStatus status,
+ int64 received_content_length)
+ {}
+
+ virtual CefRefPtr onGetResourceResponseFilter(CefRefPtr browser,
+ CefRefPtr frame,
+ CefRefPtr request,
+ CefRefPtr response)
+ {
+ return nullptr;
+ }
};
#endif
diff --git a/src/CefView/CefBrowserApp/CefViewBrowserClient.cpp b/src/CefView/CefBrowserApp/CefViewBrowserClient.cpp
index 90027ae..2e95b3c 100644
--- a/src/CefView/CefBrowserApp/CefViewBrowserClient.cpp
+++ b/src/CefView/CefBrowserApp/CefViewBrowserClient.cpp
@@ -225,7 +225,7 @@ CefViewBrowserClient::OnRenderReportJSResultMessage(CefRefPtr browse
return false;
// get the JS result
- auto context = arguments->GetDouble(0);
+ auto context = arguments->GetInt(0);
auto result = arguments->GetValue(1);
delegate->reportJSResult(browser, frame->GetIdentifier(), static_cast(context), result);
diff --git a/src/CefView/CefBrowserApp/CefViewBrowserClient_ResourceRequestHandler.cpp b/src/CefView/CefBrowserApp/CefViewBrowserClient_ResourceRequestHandler.cpp
index 71864d3..89922da 100644
--- a/src/CefView/CefBrowserApp/CefViewBrowserClient_ResourceRequestHandler.cpp
+++ b/src/CefView/CefBrowserApp/CefViewBrowserClient_ResourceRequestHandler.cpp
@@ -1,4 +1,4 @@
-#include
+#include
#pragma region std_headers
#include
@@ -49,3 +49,34 @@ CefViewBrowserClient::OnProtocolExecution(CefRefPtr browser,
CefRefPtr request,
bool& allow_os_execution)
{}
+
+void
+CefViewBrowserClient::OnResourceLoadComplete(CefRefPtr browser,
+ CefRefPtr frame,
+ CefRefPtr request,
+ CefRefPtr response,
+ URLRequestStatus status,
+ int64 received_content_length)
+{
+ auto delegate = client_delegate_.lock();
+ if (delegate)
+ {
+ delegate->onResourceLoadComplete(browser, frame, request, response, status, received_content_length);
+ }
+}
+
+
+CefRefPtr
+CefViewBrowserClient::GetResourceResponseFilter(CefRefPtr browser,
+ CefRefPtr frame,
+ CefRefPtr request,
+ CefRefPtr response)
+{
+ auto delegate = client_delegate_.lock();
+ if (delegate)
+ {
+ return delegate->onGetResourceResponseFilter(browser, frame, request, response);
+ }
+
+ return nullptr;
+}