312 lines
8.8 KiB
C++
312 lines
8.8 KiB
C++
// Copyright (c) 2011 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.
|
|
//
|
|
|
|
#include "libcef_dll/cpptoc/browser_cpptoc.h"
|
|
#include "libcef_dll/cpptoc/frame_cpptoc.h"
|
|
#include "libcef_dll/cpptoc/request_cpptoc.h"
|
|
#include "libcef_dll/cpptoc/response_cpptoc.h"
|
|
#include "libcef_dll/cpptoc/stream_reader_cpptoc.h"
|
|
#include "libcef_dll/ctocpp/content_filter_ctocpp.h"
|
|
#include "libcef_dll/ctocpp/download_handler_ctocpp.h"
|
|
#include "libcef_dll/ctocpp/request_handler_ctocpp.h"
|
|
|
|
|
|
// VIRTUAL METHODS - Body may be edited by hand.
|
|
|
|
bool CefRequestHandlerCToCpp::OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
|
|
CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, NavType navType,
|
|
bool isRedirect)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_before_browse))
|
|
return false;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return false;
|
|
// Verify param: frame; type: refptr_diff
|
|
DCHECK(frame.get());
|
|
if (!frame.get())
|
|
return false;
|
|
// Verify param: request; type: refptr_diff
|
|
DCHECK(request.get());
|
|
if (!request.get())
|
|
return false;
|
|
|
|
// Execute
|
|
int _retval = struct_->on_before_browse(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
CefFrameCppToC::Wrap(frame),
|
|
CefRequestCppToC::Wrap(request),
|
|
navType,
|
|
isRedirect);
|
|
|
|
// Return type: bool
|
|
return _retval?true:false;
|
|
}
|
|
|
|
|
|
bool CefRequestHandlerCToCpp::OnBeforeResourceLoad(
|
|
CefRefPtr<CefBrowser> browser, CefRefPtr<CefRequest> request,
|
|
CefString& redirectUrl, CefRefPtr<CefStreamReader>& resourceStream,
|
|
CefRefPtr<CefResponse> response, int loadFlags)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_before_resource_load))
|
|
return false;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return false;
|
|
// Verify param: request; type: refptr_diff
|
|
DCHECK(request.get());
|
|
if (!request.get())
|
|
return false;
|
|
// Verify param: response; type: refptr_diff
|
|
DCHECK(response.get());
|
|
if (!response.get())
|
|
return false;
|
|
|
|
// Translate param: resourceStream; type: refptr_diff_byref
|
|
cef_stream_reader_t* resourceStreamStruct = NULL;
|
|
if(resourceStream.get())
|
|
resourceStreamStruct = CefStreamReaderCppToC::Wrap(resourceStream);
|
|
cef_stream_reader_t* resourceStreamOrig = resourceStreamStruct;
|
|
|
|
// Execute
|
|
int _retval = struct_->on_before_resource_load(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
CefRequestCppToC::Wrap(request),
|
|
redirectUrl.GetWritableStruct(),
|
|
&resourceStreamStruct,
|
|
CefResponseCppToC::Wrap(response),
|
|
loadFlags);
|
|
|
|
// Restore param:resourceStream; type: refptr_diff_byref
|
|
if (resourceStreamStruct) {
|
|
if (resourceStreamStruct != resourceStreamOrig) {
|
|
resourceStream = CefStreamReaderCppToC::Unwrap(resourceStreamStruct);
|
|
}
|
|
} else {
|
|
resourceStream = NULL;
|
|
}
|
|
|
|
// Return type: bool
|
|
return _retval?true:false;
|
|
}
|
|
|
|
|
|
void CefRequestHandlerCToCpp::OnResourceRedirect(CefRefPtr<CefBrowser> browser,
|
|
const CefString& old_url, CefString& new_url)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_resource_redirect))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return;
|
|
// Verify param: old_url; type: string_byref_const
|
|
DCHECK(!old_url.empty());
|
|
if (old_url.empty())
|
|
return;
|
|
|
|
// Execute
|
|
struct_->on_resource_redirect(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
old_url.GetStruct(),
|
|
new_url.GetWritableStruct());
|
|
}
|
|
|
|
|
|
void CefRequestHandlerCToCpp::OnResourceResponse(CefRefPtr<CefBrowser> browser,
|
|
const CefString& url, CefRefPtr<CefResponse> response,
|
|
CefRefPtr<CefContentFilter>& filter)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_resource_response))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return;
|
|
// Verify param: url; type: string_byref_const
|
|
DCHECK(!url.empty());
|
|
if (url.empty())
|
|
return;
|
|
// Verify param: response; type: refptr_diff
|
|
DCHECK(response.get());
|
|
if (!response.get())
|
|
return;
|
|
|
|
// Translate param: filter; type: refptr_same_byref
|
|
cef_content_filter_t* filterStruct = NULL;
|
|
if(filter.get())
|
|
filterStruct = CefContentFilterCToCpp::Unwrap(filter);
|
|
cef_content_filter_t* filterOrig = filterStruct;
|
|
|
|
// Execute
|
|
struct_->on_resource_response(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
url.GetStruct(),
|
|
CefResponseCppToC::Wrap(response),
|
|
&filterStruct);
|
|
|
|
// Restore param:filter; type: refptr_same_byref
|
|
if (filterStruct) {
|
|
if (filterStruct != filterOrig) {
|
|
filter = CefContentFilterCToCpp::Wrap(filterStruct);
|
|
}
|
|
} else {
|
|
filter = NULL;
|
|
}
|
|
}
|
|
|
|
|
|
bool CefRequestHandlerCToCpp::OnProtocolExecution(CefRefPtr<CefBrowser> browser,
|
|
const CefString& url, bool& allowOSExecution)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_protocol_execution))
|
|
return false;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return false;
|
|
// Verify param: url; type: string_byref_const
|
|
DCHECK(!url.empty());
|
|
if (url.empty())
|
|
return false;
|
|
|
|
// Translate param: allowOSExecution; type: bool_byref
|
|
int allowOSExecutionInt = allowOSExecution;
|
|
|
|
// Execute
|
|
int _retval = struct_->on_protocol_execution(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
url.GetStruct(),
|
|
&allowOSExecutionInt);
|
|
|
|
// Restore param:allowOSExecution; type: bool_byref
|
|
allowOSExecution = allowOSExecutionInt?true:false;
|
|
|
|
// Return type: bool
|
|
return _retval?true:false;
|
|
}
|
|
|
|
|
|
bool CefRequestHandlerCToCpp::GetDownloadHandler(CefRefPtr<CefBrowser> browser,
|
|
const CefString& mimeType, const CefString& fileName, int64 contentLength,
|
|
CefRefPtr<CefDownloadHandler>& handler)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, get_download_handler))
|
|
return false;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return false;
|
|
// Verify param: mimeType; type: string_byref_const
|
|
DCHECK(!mimeType.empty());
|
|
if (mimeType.empty())
|
|
return false;
|
|
// Verify param: fileName; type: string_byref_const
|
|
DCHECK(!fileName.empty());
|
|
if (fileName.empty())
|
|
return false;
|
|
|
|
// Translate param: handler; type: refptr_same_byref
|
|
cef_download_handler_t* handlerStruct = NULL;
|
|
if(handler.get())
|
|
handlerStruct = CefDownloadHandlerCToCpp::Unwrap(handler);
|
|
cef_download_handler_t* handlerOrig = handlerStruct;
|
|
|
|
// Execute
|
|
int _retval = struct_->get_download_handler(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
mimeType.GetStruct(),
|
|
fileName.GetStruct(),
|
|
contentLength,
|
|
&handlerStruct);
|
|
|
|
// Restore param:handler; type: refptr_same_byref
|
|
if (handlerStruct) {
|
|
if (handlerStruct != handlerOrig) {
|
|
handler = CefDownloadHandlerCToCpp::Wrap(handlerStruct);
|
|
}
|
|
} else {
|
|
handler = NULL;
|
|
}
|
|
|
|
// Return type: bool
|
|
return _retval?true:false;
|
|
}
|
|
|
|
|
|
bool CefRequestHandlerCToCpp::GetAuthCredentials(CefRefPtr<CefBrowser> browser,
|
|
bool isProxy, const CefString& host, int port, const CefString& realm,
|
|
const CefString& scheme, CefString& username, CefString& password)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, get_auth_credentials))
|
|
return false;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: browser; type: refptr_diff
|
|
DCHECK(browser.get());
|
|
if (!browser.get())
|
|
return false;
|
|
// Verify param: host; type: string_byref_const
|
|
DCHECK(!host.empty());
|
|
if (host.empty())
|
|
return false;
|
|
// Verify param: scheme; type: string_byref_const
|
|
DCHECK(!scheme.empty());
|
|
if (scheme.empty())
|
|
return false;
|
|
// Unverified params: realm
|
|
|
|
// Execute
|
|
int _retval = struct_->get_auth_credentials(struct_,
|
|
CefBrowserCppToC::Wrap(browser),
|
|
isProxy,
|
|
host.GetStruct(),
|
|
port,
|
|
realm.GetStruct(),
|
|
scheme.GetStruct(),
|
|
username.GetWritableStruct(),
|
|
password.GetWritableStruct());
|
|
|
|
// Return type: bool
|
|
return _retval?true:false;
|
|
}
|
|
|
|
|
|
|
|
#ifndef NDEBUG
|
|
template<> long CefCToCpp<CefRequestHandlerCToCpp, CefRequestHandler,
|
|
cef_request_handler_t>::DebugObjCt = 0;
|
|
#endif
|
|
|