mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2024-12-13 10:06:28 +01:00
eda69594ef
- Add a new CefBrowserHost::RunFileDialog method that displays the specified file chooser dialog and returns the results asynchronously (issue #761). - Add a new CefDialogHandler::OnFileDialog callback that allows the application to provide custom UI for file chooser dialogs (issue #761). git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@862 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
232 lines
6.2 KiB
C++
232 lines
6.2 KiB
C++
// Copyright (c) 2012 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/client_cpptoc.h"
|
|
#include "libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.h"
|
|
#include "libcef_dll/ctocpp/browser_ctocpp.h"
|
|
#include "libcef_dll/ctocpp/browser_host_ctocpp.h"
|
|
#include "libcef_dll/transfer_util.h"
|
|
|
|
|
|
// STATIC METHODS - Body may be edited by hand.
|
|
|
|
bool CefBrowserHost::CreateBrowser(const CefWindowInfo& windowInfo,
|
|
CefRefPtr<CefClient> client, const CefString& url,
|
|
const CefBrowserSettings& settings) {
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: client; type: refptr_diff
|
|
DCHECK(client.get());
|
|
if (!client.get())
|
|
return false;
|
|
// Unverified params: url
|
|
|
|
// Execute
|
|
int _retval = cef_browser_host_create_browser(
|
|
&windowInfo,
|
|
CefClientCppToC::Wrap(client),
|
|
url.GetStruct(),
|
|
&settings);
|
|
|
|
// Return type: bool
|
|
return _retval?true:false;
|
|
}
|
|
|
|
CefRefPtr<CefBrowser> CefBrowserHost::CreateBrowserSync(
|
|
const CefWindowInfo& windowInfo, CefRefPtr<CefClient> client,
|
|
const CefString& url, const CefBrowserSettings& settings) {
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: client; type: refptr_diff
|
|
DCHECK(client.get());
|
|
if (!client.get())
|
|
return NULL;
|
|
// Unverified params: url
|
|
|
|
// Execute
|
|
cef_browser_t* _retval = cef_browser_host_create_browser_sync(
|
|
&windowInfo,
|
|
CefClientCppToC::Wrap(client),
|
|
url.GetStruct(),
|
|
&settings);
|
|
|
|
// Return type: refptr_same
|
|
return CefBrowserCToCpp::Wrap(_retval);
|
|
}
|
|
|
|
|
|
// VIRTUAL METHODS - Body may be edited by hand.
|
|
|
|
CefRefPtr<CefBrowser> CefBrowserHostCToCpp::GetBrowser() {
|
|
if (CEF_MEMBER_MISSING(struct_, get_browser))
|
|
return NULL;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
cef_browser_t* _retval = struct_->get_browser(struct_);
|
|
|
|
// Return type: refptr_same
|
|
return CefBrowserCToCpp::Wrap(_retval);
|
|
}
|
|
|
|
void CefBrowserHostCToCpp::ParentWindowWillClose() {
|
|
if (CEF_MEMBER_MISSING(struct_, parent_window_will_close))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
struct_->parent_window_will_close(struct_);
|
|
}
|
|
|
|
void CefBrowserHostCToCpp::CloseBrowser() {
|
|
if (CEF_MEMBER_MISSING(struct_, close_browser))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
struct_->close_browser(struct_);
|
|
}
|
|
|
|
void CefBrowserHostCToCpp::SetFocus(bool enable) {
|
|
if (CEF_MEMBER_MISSING(struct_, set_focus))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
struct_->set_focus(struct_,
|
|
enable);
|
|
}
|
|
|
|
CefWindowHandle CefBrowserHostCToCpp::GetWindowHandle() {
|
|
if (CEF_MEMBER_MISSING(struct_, get_window_handle))
|
|
return NULL;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
cef_window_handle_t _retval = struct_->get_window_handle(struct_);
|
|
|
|
// Return type: simple
|
|
return _retval;
|
|
}
|
|
|
|
CefWindowHandle CefBrowserHostCToCpp::GetOpenerWindowHandle() {
|
|
if (CEF_MEMBER_MISSING(struct_, get_opener_window_handle))
|
|
return NULL;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
cef_window_handle_t _retval = struct_->get_opener_window_handle(struct_);
|
|
|
|
// Return type: simple
|
|
return _retval;
|
|
}
|
|
|
|
CefRefPtr<CefClient> CefBrowserHostCToCpp::GetClient() {
|
|
if (CEF_MEMBER_MISSING(struct_, get_client))
|
|
return NULL;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
cef_client_t* _retval = struct_->get_client(struct_);
|
|
|
|
// Return type: refptr_diff
|
|
return CefClientCppToC::Unwrap(_retval);
|
|
}
|
|
|
|
CefString CefBrowserHostCToCpp::GetDevToolsURL(bool http_scheme) {
|
|
if (CEF_MEMBER_MISSING(struct_, get_dev_tools_url))
|
|
return CefString();
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
cef_string_userfree_t _retval = struct_->get_dev_tools_url(struct_,
|
|
http_scheme);
|
|
|
|
// Return type: string
|
|
CefString _retvalStr;
|
|
_retvalStr.AttachToUserFree(_retval);
|
|
return _retvalStr;
|
|
}
|
|
|
|
double CefBrowserHostCToCpp::GetZoomLevel() {
|
|
if (CEF_MEMBER_MISSING(struct_, get_zoom_level))
|
|
return 0;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
double _retval = struct_->get_zoom_level(struct_);
|
|
|
|
// Return type: simple
|
|
return _retval;
|
|
}
|
|
|
|
void CefBrowserHostCToCpp::SetZoomLevel(double zoomLevel) {
|
|
if (CEF_MEMBER_MISSING(struct_, set_zoom_level))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Execute
|
|
struct_->set_zoom_level(struct_,
|
|
zoomLevel);
|
|
}
|
|
|
|
void CefBrowserHostCToCpp::RunFileDialog(FileDialogMode mode,
|
|
const CefString& title, const CefString& default_file_name,
|
|
const std::vector<CefString>& accept_types,
|
|
CefRefPtr<CefRunFileDialogCallback> callback) {
|
|
if (CEF_MEMBER_MISSING(struct_, run_file_dialog))
|
|
return;
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
// Verify param: callback; type: refptr_diff
|
|
DCHECK(callback.get());
|
|
if (!callback.get())
|
|
return;
|
|
// Unverified params: title, default_file_name, accept_types
|
|
|
|
// Translate param: accept_types; type: string_vec_byref_const
|
|
cef_string_list_t accept_typesList = cef_string_list_alloc();
|
|
DCHECK(accept_typesList);
|
|
if (accept_typesList)
|
|
transfer_string_list_contents(accept_types, accept_typesList);
|
|
|
|
// Execute
|
|
struct_->run_file_dialog(struct_,
|
|
mode,
|
|
title.GetStruct(),
|
|
default_file_name.GetStruct(),
|
|
accept_typesList,
|
|
CefRunFileDialogCallbackCppToC::Wrap(callback));
|
|
|
|
// Restore param:accept_types; type: string_vec_byref_const
|
|
if (accept_typesList)
|
|
cef_string_list_free(accept_typesList);
|
|
}
|
|
|
|
|
|
#ifndef NDEBUG
|
|
template<> long CefCToCpp<CefBrowserHostCToCpp, CefBrowserHost,
|
|
cef_browser_host_t>::DebugObjCt = 0;
|
|
#endif
|
|
|