summaryrefslogtreecommitdiff
path: root/tests/cefclient/browser/default_client_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cefclient/browser/default_client_handler.cc')
-rw-r--r--tests/cefclient/browser/default_client_handler.cc60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/cefclient/browser/default_client_handler.cc b/tests/cefclient/browser/default_client_handler.cc
new file mode 100644
index 00000000..d42f32a8
--- /dev/null
+++ b/tests/cefclient/browser/default_client_handler.cc
@@ -0,0 +1,60 @@
+// Copyright (c) 2023 The Chromium Embedded Framework Authors. All rights
+// reserved. Use of this source code is governed by a BSD-style license that
+// can be found in the LICENSE file.
+
+#include "tests/cefclient/browser/default_client_handler.h"
+
+#include "tests/cefclient/browser/test_runner.h"
+
+namespace client {
+
+DefaultClientHandler::DefaultClientHandler() {
+ resource_manager_ = new CefResourceManager();
+ test_runner::SetupResourceManager(resource_manager_, nullptr);
+}
+
+CefRefPtr<CefResourceRequestHandler>
+DefaultClientHandler::GetResourceRequestHandler(
+ CefRefPtr<CefBrowser> browser,
+ CefRefPtr<CefFrame> frame,
+ CefRefPtr<CefRequest> request,
+ bool is_navigation,
+ bool is_download,
+ const CefString& request_initiator,
+ bool& disable_default_handling) {
+ CEF_REQUIRE_IO_THREAD();
+ return this;
+}
+
+cef_return_value_t DefaultClientHandler::OnBeforeResourceLoad(
+ CefRefPtr<CefBrowser> browser,
+ CefRefPtr<CefFrame> frame,
+ CefRefPtr<CefRequest> request,
+ CefRefPtr<CefCallback> callback) {
+ CEF_REQUIRE_IO_THREAD();
+
+ return resource_manager_->OnBeforeResourceLoad(browser, frame, request,
+ callback);
+}
+
+CefRefPtr<CefResourceHandler> DefaultClientHandler::GetResourceHandler(
+ CefRefPtr<CefBrowser> browser,
+ CefRefPtr<CefFrame> frame,
+ CefRefPtr<CefRequest> request) {
+ CEF_REQUIRE_IO_THREAD();
+
+ return resource_manager_->GetResourceHandler(browser, frame, request);
+}
+
+CefRefPtr<CefResponseFilter> DefaultClientHandler::GetResourceResponseFilter(
+ CefRefPtr<CefBrowser> browser,
+ CefRefPtr<CefFrame> frame,
+ CefRefPtr<CefRequest> request,
+ CefRefPtr<CefResponse> response) {
+ CEF_REQUIRE_IO_THREAD();
+
+ return test_runner::GetResourceResponseFilter(browser, frame, request,
+ response);
+}
+
+} // namespace client