| // Copyright (c) 2020 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. |
| // |
| // --------------------------------------------------------------------------- |
| // |
| // This file was generated by the CEF translator tool. If making changes by |
| // hand only do so within the body of existing method and function |
| // implementations. See the translator.README.txt file in the tools directory |
| // for more information. |
| // |
| // $hash=e2150893079724b7435ca143122b17096be5a8f5$ |
| // |
| |
| #include "libcef_dll/ctocpp/extension_handler_ctocpp.h" |
| #include "libcef_dll/cpptoc/browser_cpptoc.h" |
| #include "libcef_dll/cpptoc/extension_cpptoc.h" |
| #include "libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.h" |
| #include "libcef_dll/ctocpp/client_ctocpp.h" |
| #include "libcef_dll/shutdown_checker.h" |
| |
| // VIRTUAL METHODS - Body may be edited by hand. |
| |
| NO_SANITIZE("cfi-icall") |
| void CefExtensionHandlerCToCpp::OnExtensionLoadFailed(cef_errorcode_t result) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, on_extension_load_failed)) |
| return; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Execute |
| _struct->on_extension_load_failed(_struct, result); |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| void CefExtensionHandlerCToCpp::OnExtensionLoaded( |
| CefRefPtr<CefExtension> extension) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, on_extension_loaded)) |
| return; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return; |
| |
| // Execute |
| _struct->on_extension_loaded(_struct, CefExtensionCppToC::Wrap(extension)); |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| void CefExtensionHandlerCToCpp::OnExtensionUnloaded( |
| CefRefPtr<CefExtension> extension) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, on_extension_unloaded)) |
| return; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return; |
| |
| // Execute |
| _struct->on_extension_unloaded(_struct, CefExtensionCppToC::Wrap(extension)); |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| bool CefExtensionHandlerCToCpp::OnBeforeBackgroundBrowser( |
| CefRefPtr<CefExtension> extension, |
| const CefString& url, |
| CefRefPtr<CefClient>& client, |
| CefBrowserSettings& settings) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, on_before_background_browser)) |
| return false; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return false; |
| // Verify param: url; type: string_byref_const |
| DCHECK(!url.empty()); |
| if (url.empty()) |
| return false; |
| |
| // Translate param: client; type: refptr_same_byref |
| cef_client_t* clientStruct = NULL; |
| if (client.get()) |
| clientStruct = CefClientCToCpp::Unwrap(client); |
| cef_client_t* clientOrig = clientStruct; |
| |
| // Execute |
| int _retval = _struct->on_before_background_browser( |
| _struct, CefExtensionCppToC::Wrap(extension), url.GetStruct(), |
| &clientStruct, &settings); |
| |
| // Restore param:client; type: refptr_same_byref |
| if (clientStruct) { |
| if (clientStruct != clientOrig) { |
| client = CefClientCToCpp::Wrap(clientStruct); |
| } |
| } else { |
| client = nullptr; |
| } |
| |
| // Return type: bool |
| return _retval ? true : false; |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| bool CefExtensionHandlerCToCpp::OnBeforeBrowser( |
| CefRefPtr<CefExtension> extension, |
| CefRefPtr<CefBrowser> browser, |
| CefRefPtr<CefBrowser> active_browser, |
| int index, |
| const CefString& url, |
| bool active, |
| CefWindowInfo& windowInfo, |
| CefRefPtr<CefClient>& client, |
| CefBrowserSettings& settings) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, on_before_browser)) |
| return false; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return false; |
| // Verify param: browser; type: refptr_diff |
| DCHECK(browser.get()); |
| if (!browser.get()) |
| return false; |
| // Verify param: active_browser; type: refptr_diff |
| DCHECK(active_browser.get()); |
| if (!active_browser.get()) |
| return false; |
| // Verify param: url; type: string_byref_const |
| DCHECK(!url.empty()); |
| if (url.empty()) |
| return false; |
| |
| // Translate param: client; type: refptr_same_byref |
| cef_client_t* clientStruct = NULL; |
| if (client.get()) |
| clientStruct = CefClientCToCpp::Unwrap(client); |
| cef_client_t* clientOrig = clientStruct; |
| |
| // Execute |
| int _retval = _struct->on_before_browser( |
| _struct, CefExtensionCppToC::Wrap(extension), |
| CefBrowserCppToC::Wrap(browser), CefBrowserCppToC::Wrap(active_browser), |
| index, url.GetStruct(), active, &windowInfo, &clientStruct, &settings); |
| |
| // Restore param:client; type: refptr_same_byref |
| if (clientStruct) { |
| if (clientStruct != clientOrig) { |
| client = CefClientCToCpp::Wrap(clientStruct); |
| } |
| } else { |
| client = nullptr; |
| } |
| |
| // Return type: bool |
| return _retval ? true : false; |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| CefRefPtr<CefBrowser> CefExtensionHandlerCToCpp::GetActiveBrowser( |
| CefRefPtr<CefExtension> extension, |
| CefRefPtr<CefBrowser> browser, |
| bool include_incognito) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, get_active_browser)) |
| return nullptr; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return nullptr; |
| // Verify param: browser; type: refptr_diff |
| DCHECK(browser.get()); |
| if (!browser.get()) |
| return nullptr; |
| |
| // Execute |
| cef_browser_t* _retval = _struct->get_active_browser( |
| _struct, CefExtensionCppToC::Wrap(extension), |
| CefBrowserCppToC::Wrap(browser), include_incognito); |
| |
| // Return type: refptr_diff |
| return CefBrowserCppToC::Unwrap(_retval); |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| bool CefExtensionHandlerCToCpp::CanAccessBrowser( |
| CefRefPtr<CefExtension> extension, |
| CefRefPtr<CefBrowser> browser, |
| bool include_incognito, |
| CefRefPtr<CefBrowser> target_browser) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, can_access_browser)) |
| return false; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return false; |
| // Verify param: browser; type: refptr_diff |
| DCHECK(browser.get()); |
| if (!browser.get()) |
| return false; |
| // Verify param: target_browser; type: refptr_diff |
| DCHECK(target_browser.get()); |
| if (!target_browser.get()) |
| return false; |
| |
| // Execute |
| int _retval = _struct->can_access_browser( |
| _struct, CefExtensionCppToC::Wrap(extension), |
| CefBrowserCppToC::Wrap(browser), include_incognito, |
| CefBrowserCppToC::Wrap(target_browser)); |
| |
| // Return type: bool |
| return _retval ? true : false; |
| } |
| |
| NO_SANITIZE("cfi-icall") |
| bool CefExtensionHandlerCToCpp::GetExtensionResource( |
| CefRefPtr<CefExtension> extension, |
| CefRefPtr<CefBrowser> browser, |
| const CefString& file, |
| CefRefPtr<CefGetExtensionResourceCallback> callback) { |
| shutdown_checker::AssertNotShutdown(); |
| |
| cef_extension_handler_t* _struct = GetStruct(); |
| if (CEF_MEMBER_MISSING(_struct, get_extension_resource)) |
| return false; |
| |
| // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING |
| |
| // Verify param: extension; type: refptr_diff |
| DCHECK(extension.get()); |
| if (!extension.get()) |
| return false; |
| // Verify param: browser; type: refptr_diff |
| DCHECK(browser.get()); |
| if (!browser.get()) |
| return false; |
| // Verify param: file; type: string_byref_const |
| DCHECK(!file.empty()); |
| if (file.empty()) |
| return false; |
| // Verify param: callback; type: refptr_diff |
| DCHECK(callback.get()); |
| if (!callback.get()) |
| return false; |
| |
| // Execute |
| int _retval = _struct->get_extension_resource( |
| _struct, CefExtensionCppToC::Wrap(extension), |
| CefBrowserCppToC::Wrap(browser), file.GetStruct(), |
| CefGetExtensionResourceCallbackCppToC::Wrap(callback)); |
| |
| // Return type: bool |
| return _retval ? true : false; |
| } |
| |
| // CONSTRUCTOR - Do not edit by hand. |
| |
| CefExtensionHandlerCToCpp::CefExtensionHandlerCToCpp() {} |
| |
| // DESTRUCTOR - Do not edit by hand. |
| |
| CefExtensionHandlerCToCpp::~CefExtensionHandlerCToCpp() { |
| shutdown_checker::AssertNotShutdown(); |
| } |
| |
| template <> |
| cef_extension_handler_t* CefCToCppRefCounted< |
| CefExtensionHandlerCToCpp, |
| CefExtensionHandler, |
| cef_extension_handler_t>::UnwrapDerived(CefWrapperType type, |
| CefExtensionHandler* c) { |
| NOTREACHED() << "Unexpected class type: " << type; |
| return nullptr; |
| } |
| |
| template <> |
| CefWrapperType CefCToCppRefCounted<CefExtensionHandlerCToCpp, |
| CefExtensionHandler, |
| cef_extension_handler_t>::kWrapperType = |
| WT_EXTENSION_HANDLER; |