mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Compare commits
164 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
f035232c08 | ||
|
9ea5b3bbca | ||
|
495fb8c0b7 | ||
|
0105133f03 | ||
|
ffc5773525 | ||
|
c2b4638063 | ||
|
3ed63a10e3 | ||
|
92fba9ccdf | ||
|
10efe6c2c1 | ||
|
fbafd4e4c0 | ||
|
d3e47f59e9 | ||
|
1f1b268f4a | ||
|
7b07b058a8 | ||
|
1952835be8 | ||
|
3d123fedca | ||
|
a6ba38d12e | ||
|
6ad738e8d0 | ||
|
c2a87c8b35 | ||
|
68b0352081 | ||
|
d6eff7d301 | ||
|
ea4646ed24 | ||
|
b0c8a34881 | ||
|
874e670b79 | ||
|
7c4fd877af | ||
|
2bc930ec7f | ||
|
368273cc40 | ||
|
e31a44a0a7 | ||
|
4232c4c8dc | ||
|
48b45f836a | ||
|
fb14c2b523 | ||
|
2dc86e97f2 | ||
|
a978ae001b | ||
|
7d172641ec | ||
|
1b7cd2c303 | ||
|
21680d7a3a | ||
|
17827d67ad | ||
|
371eca001c | ||
|
744e998350 | ||
|
91ea7450fb | ||
|
e6bc7f43c2 | ||
|
1ad8ea0d64 | ||
|
ae07baa5e1 | ||
|
968dfaab73 | ||
|
4853c4cd80 | ||
|
1256c22ec3 | ||
|
572eb02431 | ||
|
cd266e8826 | ||
|
d8a006f630 | ||
|
f8339d397c | ||
|
3d7a719b05 | ||
|
1f5cf72d3f | ||
|
18ce862ad8 | ||
|
819dcdf461 | ||
|
41a02dbe08 | ||
|
b7b145fa4f | ||
|
9d48a4f80e | ||
|
da6f2864c2 | ||
|
5f4190ff75 | ||
|
3f0c94f7e6 | ||
|
914fc6f7af | ||
|
7bdfe79e35 | ||
|
a834487177 | ||
|
c990b5d877 | ||
|
9928036f63 | ||
|
48908c9195 | ||
|
03ed733800 | ||
|
c1a1dbdb7d | ||
|
12aeeb13f7 | ||
|
c6881fe145 | ||
|
4ecff1670e | ||
|
258c588b44 | ||
|
bd9a2c8069 | ||
|
8fee8ed05d | ||
|
f557d325c1 | ||
|
ef6df50bf9 | ||
|
0e65f027d2 | ||
|
832654689f | ||
|
04642e0480 | ||
|
a7195c0103 | ||
|
9ed17519a9 | ||
|
03f3900d75 | ||
|
18d56feac0 | ||
|
607d420baf | ||
|
18763fde50 | ||
|
659e5af870 | ||
|
cdd2a40469 | ||
|
f3a0ff98bb | ||
|
d6b17a8fb5 | ||
|
e69de63b15 | ||
|
7543d16cce | ||
|
a87f0975e2 | ||
|
efd96f342f | ||
|
cea55225f0 | ||
|
2149a34d0a | ||
|
e39accd266 | ||
|
4adaa2b552 | ||
|
ffab334e94 | ||
|
17c2ecd79d | ||
|
29f7953677 | ||
|
676cb1f07d | ||
|
e006ec0ab5 | ||
|
917b4a0de5 | ||
|
d8f943cd94 | ||
|
0e97c527ae | ||
|
f7a4102978 | ||
|
be15daa844 | ||
|
5ec98243a9 | ||
|
c9e81c082f | ||
|
07d12b78e1 | ||
|
a1fc6f1ad0 | ||
|
b338bf9392 | ||
|
95973a7c1d | ||
|
9ae2cf6ad1 | ||
|
6158110063 | ||
|
a312974ad9 | ||
|
1679632000 | ||
|
f94c5a1cb6 | ||
|
ae74d735cf | ||
|
51bdb46ac2 | ||
|
40558a0922 | ||
|
96b368ed14 | ||
|
594fde704e | ||
|
10c1fd6b8d | ||
|
4d1a32e028 | ||
|
b52741d236 | ||
|
5068b50b48 | ||
|
ad1619dbd7 | ||
|
1e84e0cfff | ||
|
9064e30296 | ||
|
c48cac8dc4 | ||
|
9ee4db6dbb | ||
|
ae452e5348 | ||
|
d4663b2b4c | ||
|
c006dc7f0f | ||
|
5288dc5414 | ||
|
041ec09525 | ||
|
0cba9481fb | ||
|
da314f12fb | ||
|
b89329b0fa | ||
|
3b5fb0d526 | ||
|
69334e22c2 | ||
|
1c06d8e3f5 | ||
|
73c669d67e | ||
|
2e1d960f3f | ||
|
4f0ba755c6 | ||
|
aa950f8bdb | ||
|
ea33255c09 | ||
|
8a68967937 | ||
|
968fbacac3 | ||
|
2070a1bc41 | ||
|
5444c389fd | ||
|
98f59f47fd | ||
|
d92bc1d200 | ||
|
f2f76a0a20 | ||
|
88a8dad9c9 | ||
|
0e940c4128 | ||
|
5732a8da52 | ||
|
f4425a9a0c | ||
|
3cc539b506 | ||
|
62d177455b | ||
|
cf4a50b116 | ||
|
1ee311fa45 | ||
|
188326bbc4 | ||
|
c8681ea3e8 |
@@ -29,3 +29,5 @@ Felix Bruns <felixbruns@spotify.com>
|
||||
YuTeh Shen <shenyute@gmail.com>
|
||||
Andrei Kurushin <ajax16384@gmail.com>
|
||||
Gonzo Berman <gberman@factset.com>
|
||||
Jakub Trzebiatowski <kuba.trzebiatowski@gmail.com>
|
||||
Nishant Kaushik <nishantk@adobe.com>
|
||||
|
@@ -7,5 +7,5 @@
|
||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||
|
||||
{
|
||||
'chromium_checkout': '68623971be0cfc492a2cb0427d7f478e7b214c24',
|
||||
'chromium_checkout': 'refs/tags/57.0.2987.133',
|
||||
}
|
||||
|
@@ -27,8 +27,7 @@
|
||||
# CMakeLists.txt Bootstrap that sets up the CMake environment.
|
||||
# cmake/*.cmake CEF configuration files shared by all targets.
|
||||
# libcef_dll/CMakeLists.txt Defines the libcef_dll_wrapper target.
|
||||
# cefclient/CMakeLists.txt Defines the cefclient target.
|
||||
# cefsimple/CMakeLists.txt Defines the cefsimple target.
|
||||
# tests/*/CMakeLists.txt Defines the test application target.
|
||||
#
|
||||
# See the "TODO:" comments below for guidance on how to integrate this CEF
|
||||
# binary distribution into a new or existing CMake project.
|
||||
@@ -200,8 +199,10 @@ add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
|
||||
# Include application targets.
|
||||
# Comes from the <target>/CMakeLists.txt file in the current directory.
|
||||
# TODO: Change these lines to match your project target when you copy this file.
|
||||
add_subdirectory(cefclient)
|
||||
add_subdirectory(cefsimple)
|
||||
add_subdirectory(tests/cefclient)
|
||||
add_subdirectory(tests/cefsimple)
|
||||
add_subdirectory(tests/gtest)
|
||||
add_subdirectory(tests/ceftests)
|
||||
|
||||
# Display configuration settings.
|
||||
PRINT_CEF_CONFIG()
|
||||
|
@@ -10,7 +10,7 @@ The Chromium Embedded Framework (CEF) is a simple framework for embedding Chromi
|
||||
* Support Forum - http://www.magpcss.org/ceforum/
|
||||
* CEF1 C++ API Docs - http://magpcss.org/ceforum/apidocs/
|
||||
* CEF3 C++ API Docs - http://magpcss.org/ceforum/apidocs3/
|
||||
* Downloads - http://www.magpcss.net/cef_downloads/ and http://cefbuilds.com
|
||||
* Downloads - http://opensource.spotify.com/cefbuilds/index.html
|
||||
* Donations - http://www.magpcss.org/ceforum/donate.php
|
||||
|
||||
# Introduction
|
||||
@@ -32,7 +32,7 @@ Users new to CEF development should start by reading the [Tutorial](https://bitb
|
||||
|
||||
# Binary Distributions
|
||||
|
||||
Binary distributions, which include all files necessary to build a CEF-based application, are available on the [Downloads](http://www.magpcss.net/cef_downloads/) page and http://cefbuilds.com. Binary distributions are stand-alone and do not require the download of CEF or Chromium source code. Symbol files for debugging binary distributions of libcef can also be downloaded from the above links.
|
||||
Binary distributions, which include all files necessary to build a CEF-based application, are available on the [Downloads](http://opensource.spotify.com/cefbuilds/index.html) page. Binary distributions are stand-alone and do not require the download of CEF or Chromium source code. Symbol files for debugging binary distributions of libcef can also be downloaded from the above links.
|
||||
|
||||
# Source Distributions
|
||||
|
||||
|
34
cef.gypi
34
cef.gypi
@@ -1,34 +0,0 @@
|
||||
# Copyright (c) 2013 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.
|
||||
|
||||
{
|
||||
'variables': {
|
||||
# Don't use the chrome style plugin with CEF.
|
||||
'clang_use_chrome_plugins': 0,
|
||||
# Set ENABLE_PRINTING=1 ENABLE_BASIC_PRINTING=1.
|
||||
'enable_basic_printing': 1,
|
||||
'enable_print_preview': 0,
|
||||
# Enable support for Widevine CDM.
|
||||
'enable_widevine': 1,
|
||||
# Disable support for plugin installation.
|
||||
'enable_plugin_installation': 0,
|
||||
'conditions': [
|
||||
# Directory for CEF source files.
|
||||
[ 'OS=="win"', {
|
||||
'cef_directory' : '<!(echo %CEF_DIRECTORY%)',
|
||||
}, { # OS!="win"
|
||||
'cef_directory' : '<!(echo $CEF_DIRECTORY)',
|
||||
}],
|
||||
[ 'OS=="mac"', {
|
||||
# Strip symbols and create dSYM files for the Release target.
|
||||
'mac_strip_release': 1,
|
||||
}],
|
||||
['os_posix==1 and OS!="mac" and OS!="android"', {
|
||||
# Disable theme support on Linux so we don't need to implement
|
||||
# ThemeService[Factory] classes.
|
||||
'enable_themes': 0,
|
||||
}]
|
||||
]
|
||||
}
|
||||
}
|
110
cef_paths.gypi
110
cef_paths.gypi
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
|
||||
# Copyright (c) 2017 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.
|
||||
#
|
||||
@@ -21,6 +21,7 @@
|
||||
'include/cef_command_line.h',
|
||||
'include/cef_context_menu_handler.h',
|
||||
'include/cef_cookie.h',
|
||||
'include/cef_crash_util.h',
|
||||
'include/cef_dialog_handler.h',
|
||||
'include/cef_display_handler.h',
|
||||
'include/cef_dom.h',
|
||||
@@ -28,6 +29,7 @@
|
||||
'include/cef_download_item.h',
|
||||
'include/cef_drag_data.h',
|
||||
'include/cef_drag_handler.h',
|
||||
'include/cef_file_util.h',
|
||||
'include/cef_find_handler.h',
|
||||
'include/cef_focus_handler.h',
|
||||
'include/cef_frame.h',
|
||||
@@ -61,14 +63,18 @@
|
||||
'include/cef_response_filter.h',
|
||||
'include/cef_scheme.h',
|
||||
'include/cef_ssl_info.h',
|
||||
'include/cef_ssl_status.h',
|
||||
'include/cef_stream.h',
|
||||
'include/cef_string_visitor.h',
|
||||
'include/cef_task.h',
|
||||
'include/cef_thread.h',
|
||||
'include/cef_trace.h',
|
||||
'include/cef_urlrequest.h',
|
||||
'include/cef_v8.h',
|
||||
'include/cef_values.h',
|
||||
'include/cef_waitable_event.h',
|
||||
'include/cef_web_plugin.h',
|
||||
'include/cef_x509_certificate.h',
|
||||
'include/cef_xml_reader.h',
|
||||
'include/cef_zip_reader.h',
|
||||
'include/test/cef_translator_test.h',
|
||||
@@ -103,6 +109,7 @@
|
||||
'include/capi/cef_command_line_capi.h',
|
||||
'include/capi/cef_context_menu_handler_capi.h',
|
||||
'include/capi/cef_cookie_capi.h',
|
||||
'include/capi/cef_crash_util_capi.h',
|
||||
'include/capi/cef_dialog_handler_capi.h',
|
||||
'include/capi/cef_display_handler_capi.h',
|
||||
'include/capi/cef_dom_capi.h',
|
||||
@@ -110,6 +117,7 @@
|
||||
'include/capi/cef_download_item_capi.h',
|
||||
'include/capi/cef_drag_data_capi.h',
|
||||
'include/capi/cef_drag_handler_capi.h',
|
||||
'include/capi/cef_file_util_capi.h',
|
||||
'include/capi/cef_find_handler_capi.h',
|
||||
'include/capi/cef_focus_handler_capi.h',
|
||||
'include/capi/cef_frame_capi.h',
|
||||
@@ -143,14 +151,18 @@
|
||||
'include/capi/cef_response_filter_capi.h',
|
||||
'include/capi/cef_scheme_capi.h',
|
||||
'include/capi/cef_ssl_info_capi.h',
|
||||
'include/capi/cef_ssl_status_capi.h',
|
||||
'include/capi/cef_stream_capi.h',
|
||||
'include/capi/cef_string_visitor_capi.h',
|
||||
'include/capi/cef_task_capi.h',
|
||||
'include/capi/cef_thread_capi.h',
|
||||
'include/capi/cef_trace_capi.h',
|
||||
'include/capi/cef_urlrequest_capi.h',
|
||||
'include/capi/cef_v8_capi.h',
|
||||
'include/capi/cef_values_capi.h',
|
||||
'include/capi/cef_waitable_event_capi.h',
|
||||
'include/capi/cef_web_plugin_capi.h',
|
||||
'include/capi/cef_x509_certificate_capi.h',
|
||||
'include/capi/cef_xml_reader_capi.h',
|
||||
'include/capi/cef_zip_reader_capi.h',
|
||||
'include/capi/test/cef_translator_test_capi.h',
|
||||
@@ -314,6 +326,8 @@
|
||||
'libcef_dll/cpptoc/process_message_cpptoc.h',
|
||||
'libcef_dll/ctocpp/read_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/read_handler_ctocpp.h',
|
||||
'libcef_dll/ctocpp/register_cdm_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/register_cdm_callback_ctocpp.h',
|
||||
'libcef_dll/ctocpp/render_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/render_handler_ctocpp.h',
|
||||
'libcef_dll/ctocpp/render_process_handler_ctocpp.cc',
|
||||
@@ -344,16 +358,18 @@
|
||||
'libcef_dll/cpptoc/run_context_menu_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/run_file_dialog_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/run_file_dialog_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/sslcert_principal_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/sslcert_principal_cpptoc.h',
|
||||
'libcef_dll/cpptoc/sslinfo_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/sslinfo_cpptoc.h',
|
||||
'libcef_dll/cpptoc/sslstatus_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/sslstatus_cpptoc.h',
|
||||
'libcef_dll/ctocpp/scheme_handler_factory_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/scheme_handler_factory_ctocpp.h',
|
||||
'libcef_dll/cpptoc/scheme_registrar_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/scheme_registrar_cpptoc.h',
|
||||
'libcef_dll/cpptoc/views/scroll_view_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/views/scroll_view_cpptoc.h',
|
||||
'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/set_cookie_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/set_cookie_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/stream_reader_cpptoc.cc',
|
||||
@@ -370,18 +386,30 @@
|
||||
'libcef_dll/cpptoc/views/textfield_cpptoc.h',
|
||||
'libcef_dll/ctocpp/views/textfield_delegate_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/views/textfield_delegate_ctocpp.h',
|
||||
'libcef_dll/cpptoc/thread_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/thread_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_cpptoc.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_handler_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_handler_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_handler_child_ctocpp.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_object_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_object_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_object_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_object_child_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_object_child_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_object_child_child_cpptoc.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_client_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_client_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_client_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_client_child_ctocpp.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_library_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_library_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_library_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_library_child_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_library_child_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_library_child_child_cpptoc.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_client_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_client_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_client_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_client_child_ctocpp.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_library_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_library_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_library_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_library_child_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_library_child_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_library_child_child_cpptoc.h',
|
||||
'libcef_dll/cpptoc/urlrequest_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/urlrequest_cpptoc.h',
|
||||
'libcef_dll/ctocpp/urlrequest_client_ctocpp.cc',
|
||||
@@ -394,6 +422,8 @@
|
||||
'libcef_dll/cpptoc/v8exception_cpptoc.h',
|
||||
'libcef_dll/ctocpp/v8handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/v8handler_ctocpp.h',
|
||||
'libcef_dll/ctocpp/v8interceptor_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/v8interceptor_ctocpp.h',
|
||||
'libcef_dll/cpptoc/v8stack_frame_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/v8stack_frame_cpptoc.h',
|
||||
'libcef_dll/cpptoc/v8stack_trace_cpptoc.cc',
|
||||
@@ -406,6 +436,8 @@
|
||||
'libcef_dll/cpptoc/views/view_cpptoc.h',
|
||||
'libcef_dll/ctocpp/views/view_delegate_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/views/view_delegate_ctocpp.h',
|
||||
'libcef_dll/cpptoc/waitable_event_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/waitable_event_cpptoc.h',
|
||||
'libcef_dll/cpptoc/web_plugin_info_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/web_plugin_info_cpptoc.h',
|
||||
'libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.cc',
|
||||
@@ -418,6 +450,10 @@
|
||||
'libcef_dll/ctocpp/views/window_delegate_ctocpp.h',
|
||||
'libcef_dll/ctocpp/write_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/write_handler_ctocpp.h',
|
||||
'libcef_dll/cpptoc/x509cert_principal_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/x509cert_principal_cpptoc.h',
|
||||
'libcef_dll/cpptoc/x509certificate_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/x509certificate_cpptoc.h',
|
||||
'libcef_dll/cpptoc/xml_reader_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/xml_reader_cpptoc.h',
|
||||
'libcef_dll/cpptoc/zip_reader_cpptoc.cc',
|
||||
@@ -562,6 +598,8 @@
|
||||
'libcef_dll/ctocpp/process_message_ctocpp.h',
|
||||
'libcef_dll/cpptoc/read_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/read_handler_cpptoc.h',
|
||||
'libcef_dll/cpptoc/register_cdm_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/register_cdm_callback_cpptoc.h',
|
||||
'libcef_dll/cpptoc/render_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/render_handler_cpptoc.h',
|
||||
'libcef_dll/cpptoc/render_process_handler_cpptoc.cc',
|
||||
@@ -592,16 +630,18 @@
|
||||
'libcef_dll/ctocpp/run_context_menu_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/sslcert_principal_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/sslcert_principal_ctocpp.h',
|
||||
'libcef_dll/ctocpp/sslinfo_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/sslinfo_ctocpp.h',
|
||||
'libcef_dll/ctocpp/sslstatus_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/sslstatus_ctocpp.h',
|
||||
'libcef_dll/cpptoc/scheme_handler_factory_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/scheme_handler_factory_cpptoc.h',
|
||||
'libcef_dll/ctocpp/scheme_registrar_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/scheme_registrar_ctocpp.h',
|
||||
'libcef_dll/ctocpp/views/scroll_view_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/views/scroll_view_ctocpp.h',
|
||||
'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/set_cookie_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/set_cookie_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/stream_reader_ctocpp.cc',
|
||||
@@ -618,18 +658,30 @@
|
||||
'libcef_dll/ctocpp/views/textfield_ctocpp.h',
|
||||
'libcef_dll/cpptoc/views/textfield_delegate_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/views/textfield_delegate_cpptoc.h',
|
||||
'libcef_dll/ctocpp/thread_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/thread_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_ctocpp.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_handler_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_handler_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_handler_child_cpptoc.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_object_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_object_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_object_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_object_child_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_object_child_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_object_child_child_ctocpp.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_client_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_client_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_client_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_ref_ptr_client_child_cpptoc.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_library_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_library_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_library_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_library_child_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_library_child_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_ref_ptr_library_child_child_ctocpp.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_client_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_client_cpptoc.h',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_client_child_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/test/translator_test_scoped_client_child_cpptoc.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_library_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_library_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_library_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_library_child_ctocpp.h',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_library_child_child_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/test/translator_test_scoped_library_child_child_ctocpp.h',
|
||||
'libcef_dll/ctocpp/urlrequest_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/urlrequest_ctocpp.h',
|
||||
'libcef_dll/cpptoc/urlrequest_client_cpptoc.cc',
|
||||
@@ -642,6 +694,8 @@
|
||||
'libcef_dll/ctocpp/v8exception_ctocpp.h',
|
||||
'libcef_dll/cpptoc/v8handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/v8handler_cpptoc.h',
|
||||
'libcef_dll/cpptoc/v8interceptor_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/v8interceptor_cpptoc.h',
|
||||
'libcef_dll/ctocpp/v8stack_frame_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/v8stack_frame_ctocpp.h',
|
||||
'libcef_dll/ctocpp/v8stack_trace_ctocpp.cc',
|
||||
@@ -654,6 +708,8 @@
|
||||
'libcef_dll/ctocpp/views/view_ctocpp.h',
|
||||
'libcef_dll/cpptoc/views/view_delegate_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/views/view_delegate_cpptoc.h',
|
||||
'libcef_dll/ctocpp/waitable_event_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/waitable_event_ctocpp.h',
|
||||
'libcef_dll/ctocpp/web_plugin_info_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/web_plugin_info_ctocpp.h',
|
||||
'libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.cc',
|
||||
@@ -666,6 +722,10 @@
|
||||
'libcef_dll/cpptoc/views/window_delegate_cpptoc.h',
|
||||
'libcef_dll/cpptoc/write_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/write_handler_cpptoc.h',
|
||||
'libcef_dll/ctocpp/x509cert_principal_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/x509cert_principal_ctocpp.h',
|
||||
'libcef_dll/ctocpp/x509certificate_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/x509certificate_ctocpp.h',
|
||||
'libcef_dll/ctocpp/xml_reader_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/xml_reader_ctocpp.h',
|
||||
'libcef_dll/ctocpp/zip_reader_ctocpp.cc',
|
||||
|
287
cef_paths2.gypi
287
cef_paths2.gypi
@@ -3,10 +3,6 @@
|
||||
# can be found in the LICENSE file.
|
||||
|
||||
{
|
||||
'includes': [
|
||||
# Bring in the autogenerated source file lists.
|
||||
'cef_paths.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'includes_common': [
|
||||
'include/base/cef_atomic_ref_count.h',
|
||||
@@ -40,8 +36,6 @@
|
||||
'include/base/internal/cef_raw_scoped_refptr_mismatch_checker.h',
|
||||
'include/base/internal/cef_thread_checker_impl.h',
|
||||
'include/cef_base.h',
|
||||
'include/cef_pack_resources.h',
|
||||
'include/cef_pack_strings.h',
|
||||
'include/cef_version.h',
|
||||
'include/internal/cef_export.h',
|
||||
'include/internal/cef_logging_internal.h',
|
||||
@@ -57,11 +51,9 @@
|
||||
'include/internal/cef_trace_event_internal.h',
|
||||
'include/internal/cef_types.h',
|
||||
'include/internal/cef_types_wrappers.h',
|
||||
'<@(autogen_cpp_includes)',
|
||||
],
|
||||
'includes_capi': [
|
||||
'include/capi/cef_base_capi.h',
|
||||
'<@(autogen_capi_includes)',
|
||||
],
|
||||
'includes_wrapper': [
|
||||
'include/wrapper/cef_byte_read_handler.h',
|
||||
@@ -69,6 +61,7 @@
|
||||
'include/wrapper/cef_helpers.h',
|
||||
'include/wrapper/cef_message_router.h',
|
||||
'include/wrapper/cef_resource_manager.h',
|
||||
'include/wrapper/cef_scoped_temp_dir.h',
|
||||
'include/wrapper/cef_stream_resource_handler.h',
|
||||
'include/wrapper/cef_xml_object.h',
|
||||
'include/wrapper/cef_zip_archive.h',
|
||||
@@ -89,22 +82,27 @@
|
||||
],
|
||||
'includes_linux': [
|
||||
'include/base/internal/cef_atomicops_atomicword_compat.h',
|
||||
'include/base/internal/cef_atomicops_arm_gcc.h',
|
||||
'include/base/internal/cef_atomicops_x86_gcc.h',
|
||||
'include/internal/cef_linux.h',
|
||||
'include/internal/cef_types_linux.h',
|
||||
],
|
||||
'libcef_sources_common': [
|
||||
'libcef_dll/cpptoc/cpptoc.h',
|
||||
'libcef_dll/ctocpp/base_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/base_ctocpp.h',
|
||||
'libcef_dll/ctocpp/ctocpp.h',
|
||||
'libcef_dll/cpptoc/cpptoc_ref_counted.h',
|
||||
'libcef_dll/cpptoc/cpptoc_scoped.h',
|
||||
'libcef_dll/ctocpp/base_ref_counted_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/base_ref_counted_ctocpp.h',
|
||||
'libcef_dll/ctocpp/base_scoped_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/base_scoped_ctocpp.h',
|
||||
'libcef_dll/ctocpp/ctocpp_ref_counted.h',
|
||||
'libcef_dll/ctocpp/ctocpp_scoped.h',
|
||||
'libcef_dll/libcef_dll.cc',
|
||||
'libcef_dll/libcef_dll2.cc',
|
||||
'libcef_dll/ptr_util.h',
|
||||
'libcef_dll/resource.h',
|
||||
'libcef_dll/transfer_util.cc',
|
||||
'libcef_dll/transfer_util.h',
|
||||
'libcef_dll/wrapper_types.h',
|
||||
'<@(autogen_library_side)',
|
||||
],
|
||||
'libcef_dll_wrapper_sources_base': [
|
||||
'libcef_dll/base/cef_atomicops_x86_gcc.cc',
|
||||
@@ -121,10 +119,15 @@
|
||||
'libcef_dll/base/cef_weak_ptr.cc',
|
||||
],
|
||||
'libcef_dll_wrapper_sources_common': [
|
||||
'libcef_dll/cpptoc/base_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/base_cpptoc.h',
|
||||
'libcef_dll/cpptoc/cpptoc.h',
|
||||
'libcef_dll/ctocpp/ctocpp.h',
|
||||
'libcef_dll/cpptoc/base_ref_counted_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/base_ref_counted_cpptoc.h',
|
||||
'libcef_dll/cpptoc/base_scoped_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/base_scoped_cpptoc.h',
|
||||
'libcef_dll/cpptoc/cpptoc_ref_counted.h',
|
||||
'libcef_dll/cpptoc/cpptoc_scoped.h',
|
||||
'libcef_dll/ctocpp/ctocpp_ref_counted.h',
|
||||
'libcef_dll/ctocpp/ctocpp_scoped.h',
|
||||
'libcef_dll/ptr_util.h',
|
||||
'libcef_dll/transfer_util.cc',
|
||||
'libcef_dll/transfer_util.h',
|
||||
'libcef_dll/wrapper_types.h',
|
||||
@@ -133,12 +136,64 @@
|
||||
'libcef_dll/wrapper/cef_closure_task.cc',
|
||||
'libcef_dll/wrapper/cef_message_router.cc',
|
||||
'libcef_dll/wrapper/cef_resource_manager.cc',
|
||||
'libcef_dll/wrapper/cef_scoped_temp_dir.cc',
|
||||
'libcef_dll/wrapper/cef_stream_resource_handler.cc',
|
||||
'libcef_dll/wrapper/cef_xml_object.cc',
|
||||
'libcef_dll/wrapper/cef_zip_archive.cc',
|
||||
'libcef_dll/wrapper/libcef_dll_wrapper.cc',
|
||||
'libcef_dll/wrapper/libcef_dll_wrapper2.cc',
|
||||
'<@(autogen_client_side)',
|
||||
],
|
||||
'shared_sources_browser': [
|
||||
'tests/shared/browser/client_app_browser.cc',
|
||||
'tests/shared/browser/client_app_browser.h',
|
||||
'tests/shared/browser/geometry_util.cc',
|
||||
'tests/shared/browser/geometry_util.h',
|
||||
'tests/shared/browser/main_message_loop.cc',
|
||||
'tests/shared/browser/main_message_loop.h',
|
||||
'tests/shared/browser/main_message_loop_external_pump.cc',
|
||||
'tests/shared/browser/main_message_loop_external_pump.h',
|
||||
'tests/shared/browser/main_message_loop_std.cc',
|
||||
'tests/shared/browser/main_message_loop_std.h',
|
||||
'tests/shared/browser/resource_util.h',
|
||||
'tests/shared/browser/resource_util.cc',
|
||||
'tests/shared/browser/resource_util.h',
|
||||
],
|
||||
'shared_sources_common': [
|
||||
'tests/shared/common/client_app.cc',
|
||||
'tests/shared/common/client_app.h',
|
||||
'tests/shared/common/client_app_other.cc',
|
||||
'tests/shared/common/client_app_other.h',
|
||||
'tests/shared/common/client_switches.cc',
|
||||
'tests/shared/common/client_switches.h',
|
||||
],
|
||||
'shared_sources_renderer': [
|
||||
'tests/shared/renderer/client_app_renderer.cc',
|
||||
'tests/shared/renderer/client_app_renderer.h',
|
||||
],
|
||||
'shared_sources_resources': [
|
||||
'tests/shared/resources/osr_test.html',
|
||||
'tests/shared/resources/pdf.html',
|
||||
'tests/shared/resources/pdf.pdf',
|
||||
'tests/shared/resources/window_icon.1x.png',
|
||||
'tests/shared/resources/window_icon.2x.png',
|
||||
],
|
||||
'shared_sources_linux': [
|
||||
'tests/shared/browser/main_message_loop_external_pump_linux.cc',
|
||||
'tests/shared/browser/resource_util_posix.cc',
|
||||
],
|
||||
'shared_sources_mac': [
|
||||
'tests/shared/browser/main_message_loop_external_pump_mac.mm',
|
||||
'tests/shared/browser/resource_util_mac.mm',
|
||||
'tests/shared/browser/resource_util_posix.cc',
|
||||
],
|
||||
'shared_sources_mac_helper': [
|
||||
'tests/shared/process_helper_mac.cc',
|
||||
],
|
||||
'shared_sources_win': [
|
||||
'tests/shared/browser/main_message_loop_external_pump_win.cc',
|
||||
'tests/shared/browser/resource_util_win.cc',
|
||||
'tests/shared/browser/util_win.cc',
|
||||
'tests/shared/browser/util_win.h',
|
||||
],
|
||||
'cefclient_sources_browser': [
|
||||
'tests/cefclient/browser/binding_test.cc',
|
||||
@@ -147,9 +202,9 @@
|
||||
'tests/cefclient/browser/browser_window.h',
|
||||
'tests/cefclient/browser/bytes_write_handler.cc',
|
||||
'tests/cefclient/browser/bytes_write_handler.h',
|
||||
'tests/cefclient/browser/client_app_browser.cc',
|
||||
'tests/cefclient/browser/client_app_browser.h',
|
||||
'tests/cefclient/browser/client_app_delegates_browser.cc',
|
||||
'tests/cefclient/browser/client_browser.cc',
|
||||
'tests/cefclient/browser/client_browser.h',
|
||||
'tests/cefclient/browser/client_handler.cc',
|
||||
'tests/cefclient/browser/client_handler.h',
|
||||
'tests/cefclient/browser/client_handler_osr.cc',
|
||||
@@ -159,26 +214,18 @@
|
||||
'tests/cefclient/browser/client_types.h',
|
||||
'tests/cefclient/browser/dialog_test.cc',
|
||||
'tests/cefclient/browser/dialog_test.h',
|
||||
'tests/cefclient/browser/geometry_util.cc',
|
||||
'tests/cefclient/browser/geometry_util.h',
|
||||
'tests/cefclient/browser/drm_test.cc',
|
||||
'tests/cefclient/browser/drm_test.h',
|
||||
'tests/cefclient/browser/main_context.cc',
|
||||
'tests/cefclient/browser/main_context.h',
|
||||
'tests/cefclient/browser/main_context_impl.cc',
|
||||
'tests/cefclient/browser/main_context_impl.h',
|
||||
'tests/cefclient/browser/main_message_loop.h',
|
||||
'tests/cefclient/browser/main_message_loop.cc',
|
||||
'tests/cefclient/browser/main_message_loop_external_pump.cc',
|
||||
'tests/cefclient/browser/main_message_loop_external_pump.h',
|
||||
'tests/cefclient/browser/main_message_loop_std.h',
|
||||
'tests/cefclient/browser/main_message_loop_std.cc',
|
||||
'tests/cefclient/browser/osr_dragdrop_events.h',
|
||||
'tests/cefclient/browser/osr_renderer.h',
|
||||
'tests/cefclient/browser/osr_renderer.cc',
|
||||
'tests/cefclient/browser/preferences_test.cc',
|
||||
'tests/cefclient/browser/preferences_test.h',
|
||||
'tests/cefclient/browser/resource.h',
|
||||
'tests/cefclient/browser/resource_util.cc',
|
||||
'tests/cefclient/browser/resource_util.h',
|
||||
'tests/cefclient/browser/response_filter_test.cc',
|
||||
'tests/cefclient/browser/response_filter_test.h',
|
||||
'tests/cefclient/browser/root_window.cc',
|
||||
@@ -199,20 +246,12 @@
|
||||
'tests/cefclient/browser/window_test_runner.h',
|
||||
],
|
||||
'cefclient_sources_common': [
|
||||
'tests/cefclient/common/client_app.cc',
|
||||
'tests/cefclient/common/client_app.h',
|
||||
'tests/cefclient/common/client_app_delegates_common.cc',
|
||||
'tests/cefclient/common/client_app_other.cc',
|
||||
'tests/cefclient/common/client_app_other.h',
|
||||
'tests/cefclient/common/client_switches.cc',
|
||||
'tests/cefclient/common/client_switches.h',
|
||||
'tests/cefclient/common/scheme_test_common.cc',
|
||||
'tests/cefclient/common/scheme_test_common.h',
|
||||
],
|
||||
'cefclient_sources_renderer': [
|
||||
'tests/cefclient/renderer/client_app_delegates_renderer.cc',
|
||||
'tests/cefclient/renderer/client_app_renderer.cc',
|
||||
'tests/cefclient/renderer/client_app_renderer.h',
|
||||
'tests/cefclient/renderer/client_renderer.cc',
|
||||
'tests/cefclient/renderer/client_renderer.h',
|
||||
'tests/cefclient/renderer/performance_test.cc',
|
||||
@@ -224,14 +263,12 @@
|
||||
'tests/cefclient/resources/binding.html',
|
||||
'tests/cefclient/resources/dialogs.html',
|
||||
'tests/cefclient/resources/draggable.html',
|
||||
'tests/cefclient/resources/drm.html',
|
||||
'tests/cefclient/resources/localstorage.html',
|
||||
'tests/cefclient/resources/logo.png',
|
||||
'tests/cefclient/resources/menu_icon.1x.png',
|
||||
'tests/cefclient/resources/menu_icon.2x.png',
|
||||
'tests/cefclient/resources/osr_test.html',
|
||||
'tests/cefclient/resources/other_tests.html',
|
||||
'tests/cefclient/resources/pdf.html',
|
||||
'tests/cefclient/resources/pdf.pdf',
|
||||
'tests/cefclient/resources/performance.html',
|
||||
'tests/cefclient/resources/performance2.html',
|
||||
'tests/cefclient/resources/preferences.html',
|
||||
@@ -239,8 +276,6 @@
|
||||
'tests/cefclient/resources/transparency.html',
|
||||
'tests/cefclient/resources/urlrequest.html',
|
||||
'tests/cefclient/resources/window.html',
|
||||
'tests/cefclient/resources/window_icon.1x.png',
|
||||
'tests/cefclient/resources/window_icon.2x.png',
|
||||
'tests/cefclient/resources/xmlhttprequest.html',
|
||||
],
|
||||
'cefclient_sources_win': [
|
||||
@@ -249,22 +284,25 @@
|
||||
'tests/cefclient/browser/browser_window_std_win.cc',
|
||||
'tests/cefclient/browser/browser_window_std_win.h',
|
||||
'tests/cefclient/browser/main_context_impl_win.cc',
|
||||
'tests/cefclient/browser/main_message_loop_external_pump_win.cc',
|
||||
'tests/cefclient/browser/main_message_loop_multithreaded_win.cc',
|
||||
'tests/cefclient/browser/main_message_loop_multithreaded_win.h',
|
||||
'tests/cefclient/browser/osr_dragdrop_win.cc',
|
||||
'tests/cefclient/browser/osr_dragdrop_win.h',
|
||||
'tests/cefclient/browser/osr_ime_handler_win.cc',
|
||||
'tests/cefclient/browser/osr_ime_handler_win.h',
|
||||
'tests/cefclient/browser/osr_window_win.cc',
|
||||
'tests/cefclient/browser/osr_window_win.h',
|
||||
'tests/cefclient/browser/resource_util_win.cc',
|
||||
'tests/cefclient/browser/resource_util_win_idmap.cc',
|
||||
'tests/cefclient/browser/root_window_views.cc',
|
||||
'tests/cefclient/browser/root_window_views.h',
|
||||
'tests/cefclient/browser/root_window_win.cc',
|
||||
'tests/cefclient/browser/root_window_win.h',
|
||||
'tests/cefclient/browser/temp_window_win.cc',
|
||||
'tests/cefclient/browser/temp_window_win.h',
|
||||
'tests/cefclient/browser/util_win.cc',
|
||||
'tests/cefclient/browser/util_win.h',
|
||||
'tests/cefclient/browser/views_menu_bar.cc',
|
||||
'tests/cefclient/browser/views_menu_bar.h',
|
||||
'tests/cefclient/browser/views_style.cc',
|
||||
'tests/cefclient/browser/views_style.h',
|
||||
'tests/cefclient/browser/views_window.cc',
|
||||
'tests/cefclient/browser/views_window.h',
|
||||
'tests/cefclient/browser/window_test_runner_views.cc',
|
||||
@@ -276,10 +314,6 @@
|
||||
'tests/cefclient/resources/win/cefclient.ico',
|
||||
'tests/cefclient/resources/win/cefclient.rc',
|
||||
'tests/cefclient/resources/win/small.ico',
|
||||
'<@(cefclient_sources_browser)',
|
||||
'<@(cefclient_sources_common)',
|
||||
'<@(cefclient_sources_renderer)',
|
||||
'<@(cefclient_sources_resources)',
|
||||
],
|
||||
'cefclient_sources_mac': [
|
||||
'tests/cefclient/browser/browser_window_osr_mac.h',
|
||||
@@ -287,30 +321,21 @@
|
||||
'tests/cefclient/browser/browser_window_std_mac.h',
|
||||
'tests/cefclient/browser/browser_window_std_mac.mm',
|
||||
'tests/cefclient/browser/main_context_impl_posix.cc',
|
||||
'tests/cefclient/browser/main_message_loop_external_pump_mac.mm',
|
||||
'tests/cefclient/browser/resource_util_mac.mm',
|
||||
'tests/cefclient/browser/resource_util_posix.cc',
|
||||
'tests/cefclient/browser/root_window_mac.h',
|
||||
'tests/cefclient/browser/root_window_mac.mm',
|
||||
'tests/cefclient/browser/temp_window_mac.h',
|
||||
'tests/cefclient/browser/temp_window_mac.mm',
|
||||
'tests/cefclient/browser/text_input_client_osr_mac.h',
|
||||
'tests/cefclient/browser/text_input_client_osr_mac.mm',
|
||||
'tests/cefclient/browser/window_test_runner_mac.h',
|
||||
'tests/cefclient/browser/window_test_runner_mac.mm',
|
||||
'tests/cefclient/cefclient_mac.mm',
|
||||
'<@(cefclient_sources_browser)',
|
||||
'<@(cefclient_sources_common)',
|
||||
],
|
||||
'cefclient_sources_mac_helper': [
|
||||
'tests/cefclient/process_helper_mac.cc',
|
||||
'<@(cefclient_sources_common)',
|
||||
'<@(cefclient_sources_renderer)',
|
||||
],
|
||||
'cefclient_bundle_resources_mac': [
|
||||
'tests/cefclient/resources/mac/cefclient.icns',
|
||||
'tests/cefclient/resources/mac/English.lproj/InfoPlist.strings',
|
||||
'tests/cefclient/resources/mac/English.lproj/MainMenu.xib',
|
||||
'tests/cefclient/resources/mac/Info.plist',
|
||||
'<@(cefclient_sources_resources)',
|
||||
],
|
||||
'cefclient_sources_linux': [
|
||||
'tests/cefclient/browser/browser_window_osr_gtk.cc',
|
||||
@@ -320,17 +345,19 @@
|
||||
'tests/cefclient/browser/dialog_handler_gtk.cc',
|
||||
'tests/cefclient/browser/dialog_handler_gtk.h',
|
||||
'tests/cefclient/browser/main_context_impl_posix.cc',
|
||||
'tests/cefclient/browser/main_message_loop_external_pump_linux.cc',
|
||||
'tests/cefclient/browser/print_handler_gtk.cc',
|
||||
'tests/cefclient/browser/print_handler_gtk.h',
|
||||
'tests/cefclient/browser/resource_util_linux.cc',
|
||||
'tests/cefclient/browser/resource_util_posix.cc',
|
||||
'tests/cefclient/browser/root_window_gtk.cc',
|
||||
'tests/cefclient/browser/root_window_gtk.h',
|
||||
'tests/cefclient/browser/root_window_views.cc',
|
||||
'tests/cefclient/browser/root_window_views.h',
|
||||
'tests/cefclient/browser/temp_window_x11.cc',
|
||||
'tests/cefclient/browser/temp_window_x11.h',
|
||||
'tests/cefclient/browser/views_menu_bar.cc',
|
||||
'tests/cefclient/browser/views_menu_bar.h',
|
||||
'tests/cefclient/browser/views_style.cc',
|
||||
'tests/cefclient/browser/views_style.h',
|
||||
'tests/cefclient/browser/views_window.cc',
|
||||
'tests/cefclient/browser/views_window.h',
|
||||
'tests/cefclient/browser/window_test_runner_gtk.cc',
|
||||
@@ -338,12 +365,6 @@
|
||||
'tests/cefclient/browser/window_test_runner_views.cc',
|
||||
'tests/cefclient/browser/window_test_runner_views.h',
|
||||
'tests/cefclient/cefclient_gtk.cc',
|
||||
'<@(cefclient_sources_browser)',
|
||||
'<@(cefclient_sources_common)',
|
||||
'<@(cefclient_sources_renderer)',
|
||||
],
|
||||
'cefclient_bundle_resources_linux': [
|
||||
'<@(cefclient_sources_resources)',
|
||||
],
|
||||
'cefsimple_sources_common': [
|
||||
'tests/cefsimple/simple_app.cc',
|
||||
@@ -377,5 +398,131 @@
|
||||
'tests/cefsimple/cefsimple_linux.cc',
|
||||
'tests/cefsimple/simple_handler_linux.cc',
|
||||
],
|
||||
'ceftests_sources_common': [
|
||||
'tests/ceftests/browser_info_map_unittest.cc',
|
||||
'tests/ceftests/command_line_unittest.cc',
|
||||
'tests/ceftests/cookie_unittest.cc',
|
||||
'tests/ceftests/dialog_unittest.cc',
|
||||
'tests/ceftests/display_unittest.cc',
|
||||
'tests/ceftests/dom_unittest.cc',
|
||||
'tests/ceftests/download_unittest.cc',
|
||||
'tests/ceftests/draggable_regions_unittest.cc',
|
||||
'tests/ceftests/file_util.cc',
|
||||
'tests/ceftests/file_util.h',
|
||||
'tests/ceftests/file_util_unittest.cc',
|
||||
'tests/ceftests/frame_unittest.cc',
|
||||
'tests/ceftests/geolocation_unittest.cc',
|
||||
'tests/ceftests/image_unittest.cc',
|
||||
'tests/ceftests/image_util.cc',
|
||||
'tests/ceftests/image_util.h',
|
||||
'tests/ceftests/jsdialog_unittest.cc',
|
||||
'tests/ceftests/life_span_unittest.cc',
|
||||
'tests/ceftests/message_router_unittest.cc',
|
||||
'tests/ceftests/navigation_unittest.cc',
|
||||
'tests/ceftests/os_rendering_unittest.cc',
|
||||
'tests/ceftests/parser_unittest.cc',
|
||||
'tests/ceftests/plugin_unittest.cc',
|
||||
'tests/ceftests/preference_unittest.cc',
|
||||
'tests/ceftests/print_unittest.cc',
|
||||
'tests/ceftests/process_message_unittest.cc',
|
||||
'tests/ceftests/request_context_unittest.cc',
|
||||
'tests/ceftests/request_handler_unittest.cc',
|
||||
'tests/ceftests/request_unittest.cc',
|
||||
'tests/ceftests/resource.h',
|
||||
'tests/ceftests/resource_manager_unittest.cc',
|
||||
'tests/ceftests/routing_test_handler.cc',
|
||||
'tests/ceftests/routing_test_handler.h',
|
||||
'tests/ceftests/run_all_unittests.cc',
|
||||
'tests/ceftests/scheme_handler_unittest.cc',
|
||||
'tests/ceftests/scoped_temp_dir_unittest.cc',
|
||||
'tests/ceftests/stream_unittest.cc',
|
||||
'tests/ceftests/stream_resource_handler_unittest.cc',
|
||||
'tests/ceftests/string_unittest.cc',
|
||||
'tests/ceftests/client_app_delegates.cc',
|
||||
'tests/ceftests/task_unittest.cc',
|
||||
'tests/ceftests/test_handler.cc',
|
||||
'tests/ceftests/test_handler.h',
|
||||
'tests/ceftests/test_suite.cc',
|
||||
'tests/ceftests/test_suite.h',
|
||||
'tests/ceftests/test_util.cc',
|
||||
'tests/ceftests/test_util.h',
|
||||
'tests/ceftests/thread_helper.cc',
|
||||
'tests/ceftests/thread_helper.h',
|
||||
'tests/ceftests/thread_unittest.cc',
|
||||
'tests/ceftests/tracing_unittest.cc',
|
||||
'tests/ceftests/translator_unittest.cc',
|
||||
'tests/ceftests/urlrequest_unittest.cc',
|
||||
'tests/ceftests/v8_unittest.cc',
|
||||
'tests/ceftests/values_unittest.cc',
|
||||
'tests/ceftests/version_unittest.cc',
|
||||
'tests/ceftests/waitable_event_unittest.cc',
|
||||
'tests/ceftests/webui_unittest.cc',
|
||||
'tests/ceftests/xml_reader_unittest.cc',
|
||||
'tests/ceftests/zip_reader_unittest.cc',
|
||||
],
|
||||
'ceftests_sources_views': [
|
||||
'tests/ceftests/views/button_unittest.cc',
|
||||
'tests/ceftests/views/panel_unittest.cc',
|
||||
'tests/ceftests/views/scroll_view_unittest.cc',
|
||||
'tests/ceftests/views/test_window_delegate.cc',
|
||||
'tests/ceftests/views/test_window_delegate.h',
|
||||
'tests/ceftests/views/textfield_unittest.cc',
|
||||
'tests/ceftests/views/window_unittest.cc',
|
||||
],
|
||||
'ceftests_sources_win': [
|
||||
'tests/ceftests/resource_util_win_idmap.cc',
|
||||
'tests/ceftests/resources/win/ceftests.exe.manifest',
|
||||
'tests/ceftests/resources/win/ceftests.ico',
|
||||
'tests/ceftests/resources/win/ceftests.rc',
|
||||
'tests/ceftests/resources/win/small.ico',
|
||||
],
|
||||
'ceftests_sources_mac': [
|
||||
'tests/ceftests/os_rendering_unittest_mac.h',
|
||||
'tests/ceftests/os_rendering_unittest_mac.mm',
|
||||
'tests/ceftests/run_all_unittests_mac.mm',
|
||||
],
|
||||
'ceftests_sources_mac_helper': [
|
||||
'tests/shared/browser/resource_util.cc',
|
||||
'tests/shared/browser/resource_util.h',
|
||||
'tests/shared/browser/resource_util_mac.mm',
|
||||
'tests/shared/browser/resource_util_posix.cc',
|
||||
'tests/ceftests/client_app_delegates.cc',
|
||||
'tests/ceftests/cookie_unittest.cc',
|
||||
'tests/ceftests/dom_unittest.cc',
|
||||
'tests/ceftests/file_util.cc',
|
||||
'tests/ceftests/file_util.h',
|
||||
'tests/ceftests/frame_unittest.cc',
|
||||
'tests/ceftests/message_router_unittest.cc',
|
||||
'tests/ceftests/navigation_unittest.cc',
|
||||
'tests/ceftests/plugin_unittest.cc',
|
||||
'tests/ceftests/preference_unittest.cc',
|
||||
'tests/ceftests/process_message_unittest.cc',
|
||||
'tests/ceftests/request_handler_unittest.cc',
|
||||
'tests/ceftests/request_unittest.cc',
|
||||
'tests/ceftests/routing_test_handler.cc',
|
||||
'tests/ceftests/routing_test_handler.h',
|
||||
'tests/ceftests/scheme_handler_unittest.cc',
|
||||
'tests/ceftests/urlrequest_unittest.cc',
|
||||
'tests/ceftests/test_handler.cc',
|
||||
'tests/ceftests/test_handler.h',
|
||||
'tests/ceftests/test_suite.cc',
|
||||
'tests/ceftests/test_suite.h',
|
||||
'tests/ceftests/test_util.cc',
|
||||
'tests/ceftests/test_util.h',
|
||||
'tests/ceftests/thread_helper.cc',
|
||||
'tests/ceftests/thread_helper.h',
|
||||
'tests/ceftests/thread_unittest.cc',
|
||||
'tests/ceftests/tracing_unittest.cc',
|
||||
'tests/ceftests/v8_unittest.cc',
|
||||
],
|
||||
'ceftests_bundle_resources_mac': [
|
||||
'tests/ceftests/resources/mac/ceftests.icns',
|
||||
'tests/ceftests/resources/mac/English.lproj/InfoPlist.strings',
|
||||
'tests/ceftests/resources/mac/English.lproj/MainMenu.xib',
|
||||
'tests/ceftests/resources/mac/Info.plist',
|
||||
],
|
||||
'ceftests_sources_linux': [
|
||||
'tests/ceftests/resource_util_linux.cc',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
@@ -27,8 +27,12 @@ template("_repack_one_locale") {
|
||||
visibility = invoker.visibility
|
||||
|
||||
# Each input pak file should also have a deps line for completeness.
|
||||
# Add associated .h files in the make_pack_header("strings") target.
|
||||
sources = [
|
||||
"${root_gen_dir}/cef/cef_strings_${locale}.pak",
|
||||
"${root_gen_dir}/chrome/chromium_strings_${locale}.pak",
|
||||
"${root_gen_dir}/chrome/generated_resources_${locale}.pak",
|
||||
"${root_gen_dir}/chrome/locale_settings_${locale}.pak",
|
||||
"${root_gen_dir}/chrome/platform_locale_settings_${locale}.pak",
|
||||
"${root_gen_dir}/components/strings/components_locale_settings_${locale}.pak",
|
||||
"${root_gen_dir}/components/strings/components_strings_${locale}.pak",
|
||||
@@ -43,6 +47,9 @@ template("_repack_one_locale") {
|
||||
# listed both here and in the libcef_static target.
|
||||
public_deps = [
|
||||
":cef_strings",
|
||||
"//chrome/app:chromium_strings",
|
||||
"//chrome/app:generated_resources",
|
||||
"//chrome/app/resources:locale_settings",
|
||||
"//chrome/app/resources:platform_locale_settings",
|
||||
"//components/strings:components_locale_settings",
|
||||
"//components/strings:components_strings",
|
||||
|
@@ -96,10 +96,12 @@ macro(SET_CEF_TARGET_OUT_DIR)
|
||||
endmacro()
|
||||
|
||||
# Copy a list of files from one directory to another. Relative files paths are maintained.
|
||||
# The path component of the source |file_list| will be removed.
|
||||
macro(COPY_FILES target file_list source_dir target_dir)
|
||||
foreach(FILENAME ${file_list})
|
||||
set(source_file ${source_dir}/${FILENAME})
|
||||
set(target_file ${target_dir}/${FILENAME})
|
||||
get_filename_component(target_name ${FILENAME} NAME)
|
||||
set(target_file ${target_dir}/${target_name})
|
||||
if(IS_DIRECTORY ${source_file})
|
||||
add_custom_command(
|
||||
TARGET ${target}
|
||||
@@ -118,19 +120,6 @@ macro(COPY_FILES target file_list source_dir target_dir)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
# Rename a directory replacing the target if it already exists.
|
||||
macro(RENAME_DIRECTORY target source_dir target_dir)
|
||||
add_custom_command(
|
||||
TARGET ${target}
|
||||
POST_BUILD
|
||||
# Remove the target directory if it already exists.
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory "${target_dir}"
|
||||
# Rename the source directory to target directory.
|
||||
COMMAND ${CMAKE_COMMAND} -E rename "${source_dir}" "${target_dir}"
|
||||
VERBATIM
|
||||
)
|
||||
endmacro()
|
||||
|
||||
|
||||
#
|
||||
# Linux macros.
|
||||
@@ -185,26 +174,20 @@ endif(OS_LINUX)
|
||||
|
||||
if(OS_MACOSX)
|
||||
|
||||
# Fix the framework link in the helper executable.
|
||||
macro(FIX_MACOSX_HELPER_FRAMEWORK_LINK target app_path)
|
||||
add_custom_command(TARGET ${target}
|
||||
POST_BUILD
|
||||
COMMAND install_name_tool -change "@executable_path/Chromium Embedded Framework"
|
||||
"@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
|
||||
"${app_path}/Contents/MacOS/${target}"
|
||||
VERBATIM
|
||||
)
|
||||
# Fix the framework rpath in the helper executable.
|
||||
macro(FIX_MACOSX_HELPER_FRAMEWORK_RPATH target)
|
||||
# The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/
|
||||
# so set rpath up to Contents/ so that the loader can find Frameworks/.
|
||||
set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/../../../..")
|
||||
set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
endmacro()
|
||||
|
||||
# Fix the framework link in the main executable.
|
||||
macro(FIX_MACOSX_MAIN_FRAMEWORK_LINK target app_path)
|
||||
add_custom_command(TARGET ${target}
|
||||
POST_BUILD
|
||||
COMMAND install_name_tool -change "@executable_path/Chromium Embedded Framework"
|
||||
"@executable_path/../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
|
||||
"${app_path}/Contents/MacOS/${target}"
|
||||
VERBATIM
|
||||
)
|
||||
# Fix the framework rpath in the main executable.
|
||||
macro(FIX_MACOSX_MAIN_FRAMEWORK_RPATH target)
|
||||
# The main app is at $app_name.app/Contents/MacOS/$app_name
|
||||
# so set rpath up to Contents/ so that the loader can find Frameworks/.
|
||||
set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/..")
|
||||
set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
endmacro()
|
||||
|
||||
# Manually process and copy over resource files.
|
||||
|
@@ -215,7 +215,7 @@ endif()
|
||||
|
||||
if(OS_MACOSX)
|
||||
# Platform-specific compiler/linker flags.
|
||||
# See also Xcode target properties in macros.cmake.
|
||||
# See also Xcode target properties in cef_macros.cmake.
|
||||
set(CEF_LIBTYPE SHARED)
|
||||
list(APPEND CEF_COMPILER_FLAGS
|
||||
-fno-strict-aliasing # Avoid assumptions regarding non-aliasing of objects of different types
|
||||
@@ -259,6 +259,15 @@ if(OS_MACOSX)
|
||||
-Wl,-dead_strip # Strip dead code
|
||||
)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
CHECK_CXX_COMPILER_FLAG(-Wno-undefined-var-template COMPILER_SUPPORTS_NO_UNDEFINED_VAR_TEMPLATE)
|
||||
if(COMPILER_SUPPORTS_NO_UNDEFINED_VAR_TEMPLATE)
|
||||
list(APPEND CEF_CXX_COMPILER_FLAGS
|
||||
-Wno-undefined-var-template # Don't warn about potentially uninstantiated static members
|
||||
)
|
||||
endif()
|
||||
|
||||
# Standard libraries.
|
||||
set(CEF_STANDARD_LIBS
|
||||
-lpthread
|
||||
@@ -268,7 +277,7 @@ if(OS_MACOSX)
|
||||
|
||||
# Find the newest available base SDK.
|
||||
execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
foreach(OS_VERSION 10.10 10.9 10.8 10.7)
|
||||
foreach(OS_VERSION 10.11 10.10 10.9)
|
||||
set(SDK "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OS_VERSION}.sdk")
|
||||
if(NOT "${CMAKE_OSX_SYSROOT}" AND EXISTS "${SDK}" AND IS_DIRECTORY "${SDK}")
|
||||
set(CMAKE_OSX_SYSROOT ${SDK})
|
||||
@@ -276,7 +285,7 @@ if(OS_MACOSX)
|
||||
endforeach()
|
||||
|
||||
# Target SDK.
|
||||
set(CEF_TARGET_SDK "10.7")
|
||||
set(CEF_TARGET_SDK "10.9")
|
||||
list(APPEND CEF_COMPILER_FLAGS
|
||||
-mmacosx-version-min=${CEF_TARGET_SDK}
|
||||
)
|
||||
@@ -305,6 +314,24 @@ endif()
|
||||
#
|
||||
|
||||
if(OS_WINDOWS)
|
||||
# Configure use of the sandbox.
|
||||
option(USE_SANDBOX "Enable or disable use of the sandbox." ON)
|
||||
if(USE_SANDBOX AND NOT MSVC_VERSION EQUAL 1900)
|
||||
# The cef_sandbox.lib static library is currently built with VS2015. It will
|
||||
# not link successfully with other VS versions.
|
||||
set(USE_SANDBOX OFF)
|
||||
endif()
|
||||
|
||||
# Configure use of official build compiler settings.
|
||||
# When using an official build the "Debug" build is actually a Release build
|
||||
# with DCHECKs enabled. In order to link the sandbox the Debug build must
|
||||
# be configured with some Release-related compiler settings.
|
||||
option(USE_OFFICIAL_BUILD_SANDBOX "Enable or disable use of an official build sandbox." ON)
|
||||
if(NOT USE_SANDBOX)
|
||||
# Don't need official build settings when the sandbox is off.
|
||||
set(USE_OFFICIAL_BUILD_SANDBOX OFF)
|
||||
endif()
|
||||
|
||||
# Consumers who run into LNK4099 warnings can pass /Z7 instead (see issue #385).
|
||||
set(CEF_DEBUG_INFO_FLAG "/Zi" CACHE STRING "Optional flag specifying specific /Z flag to use")
|
||||
|
||||
@@ -326,11 +353,22 @@ if(OS_WINDOWS)
|
||||
/wd4996 # Ignore "function or variable may be unsafe" warning
|
||||
${CEF_DEBUG_INFO_FLAG}
|
||||
)
|
||||
list(APPEND CEF_COMPILER_FLAGS_DEBUG
|
||||
/MTd # Multithreaded debug runtime
|
||||
/RTC1 # Disable optimizations
|
||||
/Od # Enable basic run-time checks
|
||||
)
|
||||
if(USE_OFFICIAL_BUILD_SANDBOX)
|
||||
# CMake adds /RTC1, /D"_DEBUG" and a few other values by default for Debug
|
||||
# builds. We can't link the sandbox with those values so clear the CMake
|
||||
# defaults here.
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "")
|
||||
|
||||
list(APPEND CEF_COMPILER_FLAGS_DEBUG
|
||||
/MT # Multithreaded release runtime
|
||||
)
|
||||
else()
|
||||
list(APPEND CEF_COMPILER_FLAGS_DEBUG
|
||||
/MTd # Multithreaded debug runtime
|
||||
/RTC1 # Disable optimizations
|
||||
/Od # Enable basic run-time checks
|
||||
)
|
||||
endif()
|
||||
list(APPEND CEF_COMPILER_FLAGS_RELEASE
|
||||
/MT # Multithreaded release runtime
|
||||
/O2 # Optimize for maximum speed
|
||||
@@ -341,16 +379,23 @@ if(OS_WINDOWS)
|
||||
/DEBUG # Generate debug information
|
||||
)
|
||||
list(APPEND CEF_EXE_LINKER_FLAGS
|
||||
/MANIFEST:NO # No default manifest (see ADD_WINDOWS_MANIFEST macro usage)
|
||||
/MANIFEST:NO # No default manifest (see ADD_WINDOWS_MANIFEST macro usage)
|
||||
/LARGEADDRESSAWARE # Allow 32-bit processes to access 3GB of RAM
|
||||
)
|
||||
list(APPEND CEF_COMPILER_DEFINES
|
||||
WIN32 _WIN32 _WINDOWS # Windows platform
|
||||
UNICODE _UNICODE # Unicode build
|
||||
WINVER=0x0602 _WIN32_WINNT=0x602 # Targeting Windows 8
|
||||
WINVER=0x0601 _WIN32_WINNT=0x601 # Targeting Windows 7
|
||||
NOMINMAX # Use the standard's templated min/max
|
||||
WIN32_LEAN_AND_MEAN # Exclude less common API declarations
|
||||
_HAS_EXCEPTIONS=0 # Disable exceptions
|
||||
)
|
||||
if(USE_OFFICIAL_BUILD_SANDBOX)
|
||||
list(APPEND CEF_COMPILER_DEFINES_DEBUG
|
||||
NDEBUG _NDEBUG # Not a debug build
|
||||
DCHECK_ALWAYS_ON=1 # DCHECKs are enabled
|
||||
)
|
||||
endif()
|
||||
list(APPEND CEF_COMPILER_DEFINES_RELEASE
|
||||
NDEBUG _NDEBUG # Not a debug build
|
||||
)
|
||||
@@ -375,6 +420,7 @@ if(OS_WINDOWS)
|
||||
|
||||
# List of CEF binary files.
|
||||
set(CEF_BINARY_FILES
|
||||
chrome_elf.dll
|
||||
d3dcompiler_43.dll
|
||||
d3dcompiler_47.dll
|
||||
libcef.dll
|
||||
@@ -395,14 +441,6 @@ if(OS_WINDOWS)
|
||||
locales
|
||||
)
|
||||
|
||||
# Configure use of the sandbox.
|
||||
option(USE_SANDBOX "Enable or disable use of the sandbox." ON)
|
||||
if(USE_SANDBOX AND NOT MSVC_VERSION EQUAL 1900)
|
||||
# The cef_sandbox.lib static library is currently built with VS2015. It will
|
||||
# not link successfully with other VS versions.
|
||||
set(USE_SANDBOX OFF)
|
||||
endif()
|
||||
|
||||
if(USE_SANDBOX)
|
||||
list(APPEND CEF_COMPILER_DEFINES
|
||||
PSAPI_VERSION=1 # Required by cef_sandbox.lib
|
||||
|
@@ -183,6 +183,8 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
|
||||
#include "include/base/internal/cef_atomicops_mac.h"
|
||||
#elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY)
|
||||
#include "include/base/internal/cef_atomicops_x86_gcc.h"
|
||||
#elif defined(COMPILER_GCC) && defined(__ARM_ARCH)
|
||||
#include "include/base/internal/cef_atomicops_arm_gcc.h"
|
||||
#else
|
||||
#error "Atomic operations are not supported on your platform"
|
||||
#endif
|
||||
|
@@ -189,4 +189,13 @@
|
||||
#endif
|
||||
#endif // OVERRIDE
|
||||
|
||||
// Check for C++11 template alias support which was added in VS2013 and GCC4.7.
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
|
||||
#if __cplusplus > 199711L || \
|
||||
(defined(_MSC_VER) && _MSC_VER >= 1800) || \
|
||||
(defined(__GNUC__) && \
|
||||
(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ >= 40700))
|
||||
#define HAS_CPP11_TEMPLATE_ALIAS_SUPPORT
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_BASE_CEF_BUILD_H_
|
||||
|
@@ -45,6 +45,7 @@
|
||||
// If the Chromium implementation diverges the below implementation should be
|
||||
// updated to match.
|
||||
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_platform_thread.h"
|
||||
#include "include/base/internal/cef_lock_impl.h"
|
||||
@@ -57,7 +58,7 @@ namespace cef_internal {
|
||||
// AssertAcquired() method.
|
||||
class Lock {
|
||||
public:
|
||||
#if defined(NDEBUG) // Optimized wrapper implementation
|
||||
#if !DCHECK_IS_ON() // Optimized wrapper implementation
|
||||
Lock() : lock_() {}
|
||||
~Lock() {}
|
||||
void Acquire() { lock_.Lock(); }
|
||||
@@ -96,10 +97,10 @@ class Lock {
|
||||
}
|
||||
|
||||
void AssertAcquired() const;
|
||||
#endif // NDEBUG
|
||||
#endif // !DCHECK_IS_ON()
|
||||
|
||||
private:
|
||||
#if !defined(NDEBUG)
|
||||
#if DCHECK_IS_ON()
|
||||
// Members and routines taking care of locks assertions.
|
||||
// Note that this checks for recursive locks and allows them
|
||||
// if the variable is set. This is allowed by the underlying implementation
|
||||
@@ -111,7 +112,7 @@ class Lock {
|
||||
// All private data is implicitly protected by lock_.
|
||||
// Be VERY careful to only access members under that lock.
|
||||
base::PlatformThreadRef owning_thread_ref_;
|
||||
#endif // NDEBUG
|
||||
#endif // DCHECK_IS_ON()
|
||||
|
||||
// Platform specific underlying lock implementation.
|
||||
LockImpl lock_;
|
||||
|
@@ -36,13 +36,6 @@
|
||||
// When building CEF include the Chromium header directly.
|
||||
#include "base/macros.h"
|
||||
|
||||
// Chromium uses movable types.
|
||||
#define MOVE_SCOPED_PTR(var) std::move(var)
|
||||
|
||||
// Chromium uses std types.
|
||||
#define SCOPED_PTR(type) std::unique_ptr<type>
|
||||
#define DEFAULT_DELETER(type) std::default_delete<type>
|
||||
|
||||
#else // !USING_CHROMIUM_INCLUDES
|
||||
// The following is substantially similar to the Chromium implementation.
|
||||
// If the Chromium implementation diverges the below implementation should be
|
||||
@@ -51,13 +44,6 @@
|
||||
#include <stddef.h> // For size_t.
|
||||
#include "include/base/cef_build.h" // For COMPILER_MSVC
|
||||
|
||||
// CEF does not use movable types.
|
||||
#define MOVE_SCOPED_PTR(var) var.Pass()
|
||||
|
||||
// CEF uses base types.
|
||||
#define SCOPED_PTR(type) scoped_ptr<type>
|
||||
#define DEFAULT_DELETER(type) struct base::DefaultDeleter<type>
|
||||
|
||||
#if !defined(arraysize)
|
||||
|
||||
// The arraysize(arr) macro returns the # of elements in an array arr.
|
||||
|
@@ -50,9 +50,7 @@
|
||||
|
||||
#include "include/base/cef_atomic_ref_count.h"
|
||||
#include "include/base/cef_build.h"
|
||||
#ifndef NDEBUG
|
||||
#include "include/base/cef_logging.h"
|
||||
#endif
|
||||
#include "include/base/cef_thread_collision_warner.h"
|
||||
|
||||
namespace base {
|
||||
@@ -66,14 +64,14 @@ class RefCountedBase {
|
||||
protected:
|
||||
RefCountedBase()
|
||||
: ref_count_(0)
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
, in_dtor_(false)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
~RefCountedBase() {
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
DCHECK(in_dtor_) << "RefCounted object deleted without calling Release()";
|
||||
#endif
|
||||
}
|
||||
@@ -84,7 +82,7 @@ class RefCountedBase {
|
||||
// Current thread books the critical section "AddRelease"
|
||||
// without release it.
|
||||
// DFAKE_SCOPED_LOCK_THREAD_LOCKED(add_release_);
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
DCHECK(!in_dtor_);
|
||||
#endif
|
||||
++ref_count_;
|
||||
@@ -96,11 +94,11 @@ class RefCountedBase {
|
||||
// Current thread books the critical section "AddRelease"
|
||||
// without release it.
|
||||
// DFAKE_SCOPED_LOCK_THREAD_LOCKED(add_release_);
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
DCHECK(!in_dtor_);
|
||||
#endif
|
||||
if (--ref_count_ == 0) {
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
in_dtor_ = true;
|
||||
#endif
|
||||
return true;
|
||||
@@ -110,7 +108,7 @@ class RefCountedBase {
|
||||
|
||||
private:
|
||||
mutable int ref_count_;
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
mutable bool in_dtor_;
|
||||
#endif
|
||||
|
||||
@@ -134,7 +132,7 @@ class RefCountedThreadSafeBase {
|
||||
|
||||
private:
|
||||
mutable AtomicRefCount ref_count_;
|
||||
#ifndef NDEBUG
|
||||
#if DCHECK_IS_ON()
|
||||
mutable bool in_dtor_;
|
||||
#endif
|
||||
|
||||
|
@@ -50,6 +50,7 @@
|
||||
#include "include/base/cef_atomicops.h"
|
||||
#include "include/base/cef_basictypes.h"
|
||||
#include "include/base/cef_build.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
|
||||
// A helper class alongside macros to be used to verify assumptions about thread
|
||||
@@ -139,7 +140,7 @@
|
||||
// };
|
||||
|
||||
|
||||
#if !defined(NDEBUG)
|
||||
#if DCHECK_IS_ON()
|
||||
|
||||
// Defines a class member that acts like a mutex. It is used only as a
|
||||
// verification tool.
|
||||
|
320
include/base/internal/cef_atomicops_arm_gcc.h
Normal file
320
include/base/internal/cef_atomicops_arm_gcc.h
Normal file
@@ -0,0 +1,320 @@
|
||||
// Copyright (c) 2013 Google Inc. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// Do not include this header file directly. Use base/cef_atomicops.h
|
||||
// instead.
|
||||
//
|
||||
// LinuxKernelCmpxchg and Barrier_AtomicIncrement are from Google Gears.
|
||||
|
||||
#ifndef CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM_GCC_H_
|
||||
#define CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM_GCC_H_
|
||||
|
||||
#if defined(OS_QNX)
|
||||
#include <sys/cpuinline.h>
|
||||
#endif
|
||||
|
||||
namespace base {
|
||||
namespace subtle {
|
||||
|
||||
// Memory barriers on ARM are funky, but the kernel is here to help:
|
||||
//
|
||||
// * ARMv5 didn't support SMP, there is no memory barrier instruction at
|
||||
// all on this architecture, or when targeting its machine code.
|
||||
//
|
||||
// * Some ARMv6 CPUs support SMP. A full memory barrier can be produced by
|
||||
// writing a random value to a very specific coprocessor register.
|
||||
//
|
||||
// * On ARMv7, the "dmb" instruction is used to perform a full memory
|
||||
// barrier (though writing to the co-processor will still work).
|
||||
// However, on single core devices (e.g. Nexus One, or Nexus S),
|
||||
// this instruction will take up to 200 ns, which is huge, even though
|
||||
// it's completely un-needed on these devices.
|
||||
//
|
||||
// * There is no easy way to determine at runtime if the device is
|
||||
// single or multi-core. However, the kernel provides a useful helper
|
||||
// function at a fixed memory address (0xffff0fa0), which will always
|
||||
// perform a memory barrier in the most efficient way. I.e. on single
|
||||
// core devices, this is an empty function that exits immediately.
|
||||
// On multi-core devices, it implements a full memory barrier.
|
||||
//
|
||||
// * This source could be compiled to ARMv5 machine code that runs on a
|
||||
// multi-core ARMv6 or ARMv7 device. In this case, memory barriers
|
||||
// are needed for correct execution. Always call the kernel helper, even
|
||||
// when targeting ARMv5TE.
|
||||
//
|
||||
|
||||
inline void MemoryBarrier() {
|
||||
#if defined(OS_LINUX) || defined(OS_ANDROID)
|
||||
// Note: This is a function call, which is also an implicit compiler barrier.
|
||||
typedef void (*KernelMemoryBarrierFunc)();
|
||||
((KernelMemoryBarrierFunc)0xffff0fa0)();
|
||||
#elif defined(OS_QNX)
|
||||
__cpu_membarrier();
|
||||
#else
|
||||
#error MemoryBarrier() is not implemented on this platform.
|
||||
#endif
|
||||
}
|
||||
|
||||
// An ARM toolchain would only define one of these depending on which
|
||||
// variant of the target architecture is being used. This tests against
|
||||
// any known ARMv6 or ARMv7 variant, where it is possible to directly
|
||||
// use ldrex/strex instructions to implement fast atomic operations.
|
||||
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
|
||||
defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \
|
||||
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \
|
||||
defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \
|
||||
defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__)
|
||||
|
||||
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
||||
Atomic32 new_value) {
|
||||
Atomic32 prev_value;
|
||||
int reloop;
|
||||
do {
|
||||
// The following is equivalent to:
|
||||
//
|
||||
// prev_value = LDREX(ptr)
|
||||
// reloop = 0
|
||||
// if (prev_value != old_value)
|
||||
// reloop = STREX(ptr, new_value)
|
||||
__asm__ __volatile__(" ldrex %0, [%3]\n"
|
||||
" mov %1, #0\n"
|
||||
" cmp %0, %4\n"
|
||||
#ifdef __thumb2__
|
||||
" it eq\n"
|
||||
#endif
|
||||
" strexeq %1, %5, [%3]\n"
|
||||
: "=&r"(prev_value), "=&r"(reloop), "+m"(*ptr)
|
||||
: "r"(ptr), "r"(old_value), "r"(new_value)
|
||||
: "cc", "memory");
|
||||
} while (reloop != 0);
|
||||
return prev_value;
|
||||
}
|
||||
|
||||
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
||||
Atomic32 new_value) {
|
||||
Atomic32 result = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
||||
MemoryBarrier();
|
||||
return result;
|
||||
}
|
||||
|
||||
inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
||||
Atomic32 new_value) {
|
||||
MemoryBarrier();
|
||||
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
||||
}
|
||||
|
||||
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
|
||||
Atomic32 increment) {
|
||||
Atomic32 value;
|
||||
int reloop;
|
||||
do {
|
||||
// Equivalent to:
|
||||
//
|
||||
// value = LDREX(ptr)
|
||||
// value += increment
|
||||
// reloop = STREX(ptr, value)
|
||||
//
|
||||
__asm__ __volatile__(" ldrex %0, [%3]\n"
|
||||
" add %0, %0, %4\n"
|
||||
" strex %1, %0, [%3]\n"
|
||||
: "=&r"(value), "=&r"(reloop), "+m"(*ptr)
|
||||
: "r"(ptr), "r"(increment)
|
||||
: "cc", "memory");
|
||||
} while (reloop);
|
||||
return value;
|
||||
}
|
||||
|
||||
inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
|
||||
Atomic32 increment) {
|
||||
// TODO(digit): Investigate if it's possible to implement this with
|
||||
// a single MemoryBarrier() operation between the LDREX and STREX.
|
||||
// See http://crbug.com/246514
|
||||
MemoryBarrier();
|
||||
Atomic32 result = NoBarrier_AtomicIncrement(ptr, increment);
|
||||
MemoryBarrier();
|
||||
return result;
|
||||
}
|
||||
|
||||
inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
|
||||
Atomic32 new_value) {
|
||||
Atomic32 old_value;
|
||||
int reloop;
|
||||
do {
|
||||
// old_value = LDREX(ptr)
|
||||
// reloop = STREX(ptr, new_value)
|
||||
__asm__ __volatile__(" ldrex %0, [%3]\n"
|
||||
" strex %1, %4, [%3]\n"
|
||||
: "=&r"(old_value), "=&r"(reloop), "+m"(*ptr)
|
||||
: "r"(ptr), "r"(new_value)
|
||||
: "cc", "memory");
|
||||
} while (reloop != 0);
|
||||
return old_value;
|
||||
}
|
||||
|
||||
// This tests against any known ARMv5 variant.
|
||||
#elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \
|
||||
defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__)
|
||||
|
||||
// The kernel also provides a helper function to perform an atomic
|
||||
// compare-and-swap operation at the hard-wired address 0xffff0fc0.
|
||||
// On ARMv5, this is implemented by a special code path that the kernel
|
||||
// detects and treats specially when thread pre-emption happens.
|
||||
// On ARMv6 and higher, it uses LDREX/STREX instructions instead.
|
||||
//
|
||||
// Note that this always perform a full memory barrier, there is no
|
||||
// need to add calls MemoryBarrier() before or after it. It also
|
||||
// returns 0 on success, and 1 on exit.
|
||||
//
|
||||
// Available and reliable since Linux 2.6.24. Both Android and ChromeOS
|
||||
// use newer kernel revisions, so this should not be a concern.
|
||||
namespace {
|
||||
|
||||
inline int LinuxKernelCmpxchg(Atomic32 old_value,
|
||||
Atomic32 new_value,
|
||||
volatile Atomic32* ptr) {
|
||||
typedef int (*KernelCmpxchgFunc)(Atomic32, Atomic32, volatile Atomic32*);
|
||||
return ((KernelCmpxchgFunc)0xffff0fc0)(old_value, new_value, ptr);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
||||
Atomic32 new_value) {
|
||||
Atomic32 prev_value;
|
||||
for (;;) {
|
||||
prev_value = *ptr;
|
||||
if (prev_value != old_value)
|
||||
return prev_value;
|
||||
if (!LinuxKernelCmpxchg(old_value, new_value, ptr))
|
||||
return old_value;
|
||||
}
|
||||
}
|
||||
|
||||
inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
|
||||
Atomic32 new_value) {
|
||||
Atomic32 old_value;
|
||||
do {
|
||||
old_value = *ptr;
|
||||
} while (LinuxKernelCmpxchg(old_value, new_value, ptr));
|
||||
return old_value;
|
||||
}
|
||||
|
||||
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
|
||||
Atomic32 increment) {
|
||||
return Barrier_AtomicIncrement(ptr, increment);
|
||||
}
|
||||
|
||||
inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
|
||||
Atomic32 increment) {
|
||||
for (;;) {
|
||||
// Atomic exchange the old value with an incremented one.
|
||||
Atomic32 old_value = *ptr;
|
||||
Atomic32 new_value = old_value + increment;
|
||||
if (!LinuxKernelCmpxchg(old_value, new_value, ptr)) {
|
||||
// The exchange took place as expected.
|
||||
return new_value;
|
||||
}
|
||||
// Otherwise, *ptr changed mid-loop and we need to retry.
|
||||
}
|
||||
}
|
||||
|
||||
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
||||
Atomic32 new_value) {
|
||||
Atomic32 prev_value;
|
||||
for (;;) {
|
||||
prev_value = *ptr;
|
||||
if (prev_value != old_value) {
|
||||
// Always ensure acquire semantics.
|
||||
MemoryBarrier();
|
||||
return prev_value;
|
||||
}
|
||||
if (!LinuxKernelCmpxchg(old_value, new_value, ptr))
|
||||
return old_value;
|
||||
}
|
||||
}
|
||||
|
||||
inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
||||
Atomic32 new_value) {
|
||||
// This could be implemented as:
|
||||
// MemoryBarrier();
|
||||
// return NoBarrier_CompareAndSwap();
|
||||
//
|
||||
// But would use 3 barriers per succesful CAS. To save performance,
|
||||
// use Acquire_CompareAndSwap(). Its implementation guarantees that:
|
||||
// - A succesful swap uses only 2 barriers (in the kernel helper).
|
||||
// - An early return due to (prev_value != old_value) performs
|
||||
// a memory barrier with no store, which is equivalent to the
|
||||
// generic implementation above.
|
||||
return Acquire_CompareAndSwap(ptr, old_value, new_value);
|
||||
}
|
||||
|
||||
#else
|
||||
# error "Your CPU's ARM architecture is not supported yet"
|
||||
#endif
|
||||
|
||||
// NOTE: Atomicity of the following load and store operations is only
|
||||
// guaranteed in case of 32-bit alignement of |ptr| values.
|
||||
|
||||
inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
|
||||
*ptr = value;
|
||||
}
|
||||
|
||||
inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
|
||||
*ptr = value;
|
||||
MemoryBarrier();
|
||||
}
|
||||
|
||||
inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
|
||||
MemoryBarrier();
|
||||
*ptr = value;
|
||||
}
|
||||
|
||||
inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { return *ptr; }
|
||||
|
||||
inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
|
||||
Atomic32 value = *ptr;
|
||||
MemoryBarrier();
|
||||
return value;
|
||||
}
|
||||
|
||||
inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
|
||||
MemoryBarrier();
|
||||
return *ptr;
|
||||
}
|
||||
|
||||
} // namespace base::subtle
|
||||
} // namespace base
|
||||
|
||||
#endif // CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM_GCC_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -59,7 +59,7 @@ typedef struct _cef_app_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Provides an opportunity to view and/or modify command-line arguments before
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_auth_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue the authentication request.
|
||||
|
@@ -45,10 +45,9 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
///
|
||||
// Structure defining the reference count implementation functions. All
|
||||
// framework structures must include the cef_base_t structure first.
|
||||
// All ref-counted framework structures must include this structure first.
|
||||
///
|
||||
typedef struct _cef_base_t {
|
||||
typedef struct _cef_base_ref_counted_t {
|
||||
///
|
||||
// Size of the data structure.
|
||||
///
|
||||
@@ -58,27 +57,44 @@ typedef struct _cef_base_t {
|
||||
// Called to increment the reference count for the object. Should be called
|
||||
// for every new copy of a pointer to a given object.
|
||||
///
|
||||
void (CEF_CALLBACK *add_ref)(struct _cef_base_t* self);
|
||||
void (CEF_CALLBACK *add_ref)(struct _cef_base_ref_counted_t* self);
|
||||
|
||||
///
|
||||
// Called to decrement the reference count for the object. If the reference
|
||||
// count falls to 0 the object should self-delete. Returns true (1) if the
|
||||
// resulting reference count is 0.
|
||||
///
|
||||
int (CEF_CALLBACK *release)(struct _cef_base_t* self);
|
||||
int (CEF_CALLBACK *release)(struct _cef_base_ref_counted_t* self);
|
||||
|
||||
///
|
||||
// Returns true (1) if the current reference count is 1.
|
||||
///
|
||||
int (CEF_CALLBACK *has_one_ref)(struct _cef_base_t* self);
|
||||
} cef_base_t;
|
||||
int (CEF_CALLBACK *has_one_ref)(struct _cef_base_ref_counted_t* self);
|
||||
} cef_base_ref_counted_t;
|
||||
|
||||
|
||||
// Check that the structure |s|, which is defined with a cef_base_t member named
|
||||
// |base|, is large enough to contain the specified member |f|.
|
||||
///
|
||||
// All scoped framework structures must include this structure first.
|
||||
///
|
||||
typedef struct _cef_base_scoped_t {
|
||||
///
|
||||
// Size of the data structure.
|
||||
///
|
||||
size_t size;
|
||||
|
||||
///
|
||||
// Called to delete this object. May be NULL if the object is not owned.
|
||||
///
|
||||
void (CEF_CALLBACK *del)(struct _cef_base_scoped_t* self);
|
||||
|
||||
} cef_base_scoped_t;
|
||||
|
||||
|
||||
// Check that the structure |s|, which is defined with a size_t member at the
|
||||
// top, is large enough to contain the specified member |f|.
|
||||
#define CEF_MEMBER_EXISTS(s, f) \
|
||||
((intptr_t)&((s)->f) - (intptr_t)(s) + sizeof((s)->f) <= \
|
||||
reinterpret_cast<cef_base_t*>(s)->size)
|
||||
*reinterpret_cast<size_t*>(s))
|
||||
|
||||
#define CEF_MEMBER_MISSING(s, f) (!CEF_MEMBER_EXISTS(s, f) || !((s)->f))
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -63,7 +63,7 @@ typedef struct _cef_browser_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the browser host object. This function can only be called in the
|
||||
@@ -193,7 +193,7 @@ typedef struct _cef_run_file_dialog_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called asynchronously after the file dialog is dismissed.
|
||||
@@ -216,7 +216,7 @@ typedef struct _cef_navigation_entry_visitor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be executed. Do not keep a reference to |entry| outside of
|
||||
@@ -239,7 +239,7 @@ typedef struct _cef_pdf_print_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be executed when the PDF printing has completed. |path| is
|
||||
@@ -260,7 +260,7 @@ typedef struct _cef_download_image_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be executed when the image download has completed.
|
||||
@@ -285,7 +285,7 @@ typedef struct _cef_browser_host_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the hosted browser object.
|
||||
@@ -618,24 +618,62 @@ typedef struct _cef_browser_host_t {
|
||||
struct _cef_browser_host_t* self, int frame_rate);
|
||||
|
||||
///
|
||||
// Get the NSTextInputContext implementation for enabling IME on Mac when
|
||||
// window rendering is disabled.
|
||||
// Begins a new composition or updates the existing composition. Blink has a
|
||||
// special node (a composition node) that allows the input function to change
|
||||
// text without affecting other DOM nodes. |text| is the optional text that
|
||||
// will be inserted into the composition node. |underlines| is an optional set
|
||||
// of ranges that will be underlined in the resulting text.
|
||||
// |replacement_range| is an optional range of the existing text that will be
|
||||
// replaced. |selection_range| is an optional range of the resulting text that
|
||||
// will be selected after insertion or replacement. The |replacement_range|
|
||||
// value is only used on OS X.
|
||||
//
|
||||
// This function may be called multiple times as the composition changes. When
|
||||
// the client is done making changes the composition should either be canceled
|
||||
// or completed. To cancel the composition call ImeCancelComposition. To
|
||||
// complete the composition call either ImeCommitText or
|
||||
// ImeFinishComposingText. Completion is usually signaled when:
|
||||
// A. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR
|
||||
// flag (on Windows), or;
|
||||
// B. The client receives a "commit" signal of GtkIMContext (on Linux), or;
|
||||
// C. insertText of NSTextInput is called (on Mac).
|
||||
//
|
||||
// This function is only used when window rendering is disabled.
|
||||
///
|
||||
cef_text_input_context_t (CEF_CALLBACK *get_nstext_input_context)(
|
||||
struct _cef_browser_host_t* self);
|
||||
void (CEF_CALLBACK *ime_set_composition)(struct _cef_browser_host_t* self,
|
||||
const cef_string_t* text, size_t underlinesCount,
|
||||
cef_composition_underline_t const* underlines,
|
||||
const cef_range_t* replacement_range,
|
||||
const cef_range_t* selection_range);
|
||||
|
||||
///
|
||||
// Handles a keyDown event prior to passing it through the NSTextInputClient
|
||||
// machinery.
|
||||
// Completes the existing composition by optionally inserting the specified
|
||||
// |text| into the composition node. |replacement_range| is an optional range
|
||||
// of the existing text that will be replaced. |relative_cursor_pos| is where
|
||||
// the cursor will be positioned relative to the current cursor position. See
|
||||
// comments on ImeSetComposition for usage. The |replacement_range| and
|
||||
// |relative_cursor_pos| values are only used on OS X. This function is only
|
||||
// used when window rendering is disabled.
|
||||
///
|
||||
void (CEF_CALLBACK *handle_key_event_before_text_input_client)(
|
||||
struct _cef_browser_host_t* self, cef_event_handle_t keyEvent);
|
||||
void (CEF_CALLBACK *ime_commit_text)(struct _cef_browser_host_t* self,
|
||||
const cef_string_t* text, const cef_range_t* replacement_range,
|
||||
int relative_cursor_pos);
|
||||
|
||||
///
|
||||
// Performs any additional actions after NSTextInputClient handles the event.
|
||||
// Completes the existing composition by applying the current composition node
|
||||
// contents. If |keep_selection| is false (0) the current selection, if any,
|
||||
// will be discarded. See comments on ImeSetComposition for usage. This
|
||||
// function is only used when window rendering is disabled.
|
||||
///
|
||||
void (CEF_CALLBACK *handle_key_event_after_text_input_client)(
|
||||
struct _cef_browser_host_t* self, cef_event_handle_t keyEvent);
|
||||
void (CEF_CALLBACK *ime_finish_composing_text)(
|
||||
struct _cef_browser_host_t* self, int keep_selection);
|
||||
|
||||
///
|
||||
// Cancels the existing composition and discards the composition node contents
|
||||
// without applying them. See comments on ImeSetComposition for usage. This
|
||||
// function is only used when window rendering is disabled.
|
||||
///
|
||||
void (CEF_CALLBACK *ime_cancel_composition)(struct _cef_browser_host_t* self);
|
||||
|
||||
///
|
||||
// Call this function when the user drags the mouse into the web view (before
|
||||
@@ -700,6 +738,13 @@ typedef struct _cef_browser_host_t {
|
||||
///
|
||||
void (CEF_CALLBACK *drag_source_system_drag_ended)(
|
||||
struct _cef_browser_host_t* self);
|
||||
|
||||
///
|
||||
// Returns the current visible navigation entry for this browser. This
|
||||
// function can only be called on the UI thread.
|
||||
///
|
||||
struct _cef_navigation_entry_t* (CEF_CALLBACK *get_visible_navigation_entry)(
|
||||
struct _cef_browser_host_t* self);
|
||||
} cef_browser_host_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -57,7 +57,7 @@ typedef struct _cef_browser_process_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread immediately after the CEF context
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -52,7 +52,7 @@ typedef struct _cef_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue processing.
|
||||
@@ -73,7 +73,7 @@ typedef struct _cef_completion_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called once the task is complete.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -67,7 +67,7 @@ typedef struct _cef_client_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Return the handler for context menus. If no handler is provided the default
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -59,7 +59,7 @@ typedef struct _cef_command_line_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. Do not call any other functions
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_run_context_menu_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Complete context menu display by selecting the specified |command_id| and
|
||||
@@ -80,7 +80,7 @@ typedef struct _cef_context_menu_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called before a context menu is displayed. |params| provides information
|
||||
@@ -140,7 +140,7 @@ typedef struct _cef_context_menu_params_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the X coordinate of the mouse where the context menu was invoked.
|
||||
@@ -192,6 +192,14 @@ typedef struct _cef_context_menu_params_t {
|
||||
int (CEF_CALLBACK *has_image_contents)(
|
||||
struct _cef_context_menu_params_t* self);
|
||||
|
||||
///
|
||||
// Returns the title text or the alt text if the context menu was invoked on
|
||||
// an image.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_title_text)(
|
||||
struct _cef_context_menu_params_t* self);
|
||||
|
||||
///
|
||||
// Returns the URL of the top level page that the context menu was invoked on.
|
||||
///
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -57,7 +57,7 @@ typedef struct _cef_cookie_manager_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Set the schemes supported by this manager. The default schemes ("http",
|
||||
@@ -172,7 +172,7 @@ typedef struct _cef_cookie_visitor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called once for each cookie. |count| is the 0-based
|
||||
@@ -195,7 +195,7 @@ typedef struct _cef_set_cookie_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called upon completion. |success| will be true (1) if
|
||||
@@ -214,7 +214,7 @@ typedef struct _cef_delete_cookies_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called upon completion. |num_deleted| will be the
|
||||
|
152
include/capi/cef_crash_util_capi.h
Normal file
152
include/capi/cef_crash_util_capi.h
Normal file
@@ -0,0 +1,152 @@
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// Crash reporting is configured using an INI-style config file named
|
||||
// "crash_reporter.cfg". On Windows and Linux this file must be placed next to
|
||||
// the main application executable. On macOS this file must be placed in the
|
||||
// top-level app bundle Resources directory (e.g.
|
||||
// "<appname>.app/Contents/Resources"). File contents are as follows:
|
||||
//
|
||||
// # Comments start with a hash character and must be on their own line.
|
||||
//
|
||||
// [Config]
|
||||
// ProductName=<Value of the "prod" crash key; defaults to "cef">
|
||||
// ProductVersion=<Value of the "ver" crash key; defaults to the CEF version>
|
||||
// AppName=<Windows only; App-specific folder name component for storing crash
|
||||
// information; default to "CEF">
|
||||
// ExternalHandler=<Windows only; Name of the external handler exe to use
|
||||
// instead of re-launching the main exe; default to empty>
|
||||
// BrowserCrashForwardingEnabled=<macOS only; True if browser process crashes
|
||||
// should be forwarded to the system crash
|
||||
// reporter; default to false>
|
||||
// ServerURL=<crash server URL; default to empty>
|
||||
// RateLimitEnabled=<True if uploads should be rate limited; default to true>
|
||||
// MaxUploadsPerDay=<Max uploads per 24 hours, used if rate limit is enabled;
|
||||
// default to 5>
|
||||
// MaxDatabaseSizeInMb=<Total crash report disk usage greater than this value
|
||||
// will cause older reports to be deleted; default to 20>
|
||||
// MaxDatabaseAgeInDays=<Crash reports older than this value will be deleted;
|
||||
// default to 5>
|
||||
//
|
||||
// [CrashKeys]
|
||||
// my_key1=<small|medium|large>
|
||||
// my_key2=<small|medium|large>
|
||||
//
|
||||
// Config section:
|
||||
//
|
||||
// If "ProductName" and/or "ProductVersion" are set then the specified values
|
||||
// will be included in the crash dump metadata. On macOS if these values are set
|
||||
// to NULL then they will be retrieved from the Info.plist file using the
|
||||
// "CFBundleName" and "CFBundleShortVersionString" keys respectively.
|
||||
//
|
||||
// If "AppName" is set on Windows then crash report information (metrics,
|
||||
// database and dumps) will be stored locally on disk under the
|
||||
// "C:\Users\[CurrentUser]\AppData\Local\[AppName]\User Data" folder. On other
|
||||
// platforms the CefSettings.user_data_path value will be used.
|
||||
//
|
||||
// If "ExternalHandler" is set on Windows then the specified exe will be
|
||||
// launched as the crashpad-handler instead of re-launching the main process
|
||||
// exe. The value can be an absolute path or a path relative to the main exe
|
||||
// directory. On Linux the CefSettings.browser_subprocess_path value will be
|
||||
// used. On macOS the existing subprocess app bundle will be used.
|
||||
//
|
||||
// If "BrowserCrashForwardingEnabled" is set to true (1) on macOS then browser
|
||||
// process crashes will be forwarded to the system crash reporter. This results
|
||||
// in the crash UI dialog being displayed to the user and crash reports being
|
||||
// logged under "~/Library/Logs/DiagnosticReports". Forwarding of crash reports
|
||||
// from non-browser processes and Debug builds is always disabled.
|
||||
//
|
||||
// If "ServerURL" is set then crashes will be uploaded as a multi-part POST
|
||||
// request to the specified URL. Otherwise, reports will only be stored locally
|
||||
// on disk.
|
||||
//
|
||||
// If "RateLimitEnabled" is set to true (1) then crash report uploads will be
|
||||
// rate limited as follows:
|
||||
// 1. If "MaxUploadsPerDay" is set to a positive value then at most the
|
||||
// specified number of crashes will be uploaded in each 24 hour period.
|
||||
// 2. If crash upload fails due to a network or server error then an
|
||||
// incremental backoff delay up to a maximum of 24 hours will be applied for
|
||||
// retries.
|
||||
// 3. If a backoff delay is applied and "MaxUploadsPerDay" is > 1 then the
|
||||
// "MaxUploadsPerDay" value will be reduced to 1 until the client is
|
||||
// restarted. This helps to avoid an upload flood when the network or
|
||||
// server error is resolved.
|
||||
// Rate limiting is not supported on Linux.
|
||||
//
|
||||
// If "MaxDatabaseSizeInMb" is set to a positive value then crash report storage
|
||||
// on disk will be limited to that size in megabytes. For example, on Windows
|
||||
// each dump is about 600KB so a "MaxDatabaseSizeInMb" value of 20 equates to
|
||||
// about 34 crash reports stored on disk. Not supported on Linux.
|
||||
//
|
||||
// If "MaxDatabaseAgeInDays" is set to a positive value then crash reports older
|
||||
// than the specified age in days will be deleted. Not supported on Linux.
|
||||
//
|
||||
// CrashKeys section:
|
||||
//
|
||||
// Any number of crash keys can be specified for use by the application. Crash
|
||||
// key values will be truncated based on the specified size (small = 63 bytes,
|
||||
// medium = 252 bytes, large = 1008 bytes). The value of crash keys can be set
|
||||
// from any thread or process using the CefSetCrashKeyValue function. These
|
||||
// key/value pairs will be sent to the crash server along with the crash dump
|
||||
// file. Medium and large values will be chunked for submission. For example, if
|
||||
// your key is named "mykey" then the value will be broken into ordered chunks
|
||||
// and submitted using keys named "mykey-1", "mykey-2", etc.
|
||||
///
|
||||
CEF_EXPORT int cef_crash_reporting_enabled();
|
||||
|
||||
///
|
||||
// Sets or clears a specific key-value pair from the crash metadata.
|
||||
///
|
||||
CEF_EXPORT void cef_set_crash_key_value(const cef_string_t* key,
|
||||
const cef_string_t* value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_file_dialog_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue the file selection. |selected_accept_filter| should be the 0-based
|
||||
@@ -80,7 +80,7 @@ typedef struct _cef_dialog_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called to run a file chooser dialog. |mode| represents the type of dialog
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_display_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when a frame's address has changed.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_domvisitor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method executed for visiting the DOM. The document object passed to this
|
||||
@@ -77,7 +77,7 @@ typedef struct _cef_domdocument_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the document type.
|
||||
@@ -177,7 +177,7 @@ typedef struct _cef_domnode_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the type for this node.
|
||||
@@ -331,6 +331,11 @@ typedef struct _cef_domnode_t {
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_element_inner_text)(
|
||||
struct _cef_domnode_t* self);
|
||||
|
||||
///
|
||||
// Returns the bounds of the element.
|
||||
///
|
||||
cef_rect_t (CEF_CALLBACK *get_element_bounds)(struct _cef_domnode_t* self);
|
||||
} cef_domnode_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_before_download_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Call to continue the download. Set |download_path| to the full file path
|
||||
@@ -74,7 +74,7 @@ typedef struct _cef_download_item_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Call to cancel the download.
|
||||
@@ -101,7 +101,7 @@ typedef struct _cef_download_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called before a download begins. |suggested_name| is the suggested name for
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -52,7 +52,7 @@ typedef struct _cef_download_item_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. Do not call any other functions
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_drag_data_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns a copy of the current object.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_drag_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when an external drag event enters the browser window. |dragData|
|
||||
|
118
include/capi/cef_file_util_capi.h
Normal file
118
include/capi/cef_file_util_capi.h
Normal file
@@ -0,0 +1,118 @@
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// Creates a directory and all parent directories if they don't already exist.
|
||||
// Returns true (1) on successful creation or if the directory already exists.
|
||||
// The directory is only readable by the current user. Calling this function on
|
||||
// the browser process UI or IO threads is not allowed.
|
||||
///
|
||||
CEF_EXPORT int cef_create_directory(const cef_string_t* full_path);
|
||||
|
||||
///
|
||||
// Get the temporary directory provided by the system.
|
||||
//
|
||||
// WARNING: In general, you should use the temp directory variants below instead
|
||||
// of this function. Those variants will ensure that the proper permissions are
|
||||
// set so that other users on the system can't edit them while they're open
|
||||
// (which could lead to security issues).
|
||||
///
|
||||
CEF_EXPORT int cef_get_temp_directory(cef_string_t* temp_dir);
|
||||
|
||||
///
|
||||
// Creates a new directory. On Windows if |prefix| is provided the new directory
|
||||
// name is in the format of "prefixyyyy". Returns true (1) on success and sets
|
||||
// |new_temp_path| to the full path of the directory that was created. The
|
||||
// directory is only readable by the current user. Calling this function on the
|
||||
// browser process UI or IO threads is not allowed.
|
||||
///
|
||||
CEF_EXPORT int cef_create_new_temp_directory(const cef_string_t* prefix,
|
||||
cef_string_t* new_temp_path);
|
||||
|
||||
///
|
||||
// Creates a directory within another directory. Extra characters will be
|
||||
// appended to |prefix| to ensure that the new directory does not have the same
|
||||
// name as an existing directory. Returns true (1) on success and sets |new_dir|
|
||||
// to the full path of the directory that was created. The directory is only
|
||||
// readable by the current user. Calling this function on the browser process UI
|
||||
// or IO threads is not allowed.
|
||||
///
|
||||
CEF_EXPORT int cef_create_temp_directory_in_directory(
|
||||
const cef_string_t* base_dir, const cef_string_t* prefix,
|
||||
cef_string_t* new_dir);
|
||||
|
||||
///
|
||||
// Returns true (1) if the given path exists and is a directory. Calling this
|
||||
// function on the browser process UI or IO threads is not allowed.
|
||||
///
|
||||
CEF_EXPORT int cef_directory_exists(const cef_string_t* path);
|
||||
|
||||
///
|
||||
// Deletes the given path whether it's a file or a directory. If |path| is a
|
||||
// directory all contents will be deleted. If |recursive| is true (1) any sub-
|
||||
// directories and their contents will also be deleted (equivalent to executing
|
||||
// "rm -rf", so use with caution). On POSIX environments if |path| is a symbolic
|
||||
// link then only the symlink will be deleted. Returns true (1) on successful
|
||||
// deletion or if |path| does not exist. Calling this function on the browser
|
||||
// process UI or IO threads is not allowed.
|
||||
///
|
||||
CEF_EXPORT int cef_delete_file(const cef_string_t* path, int recursive);
|
||||
|
||||
///
|
||||
// Writes the contents of |src_dir| into a zip archive at |dest_file|. If
|
||||
// |include_hidden_files| is true (1) files starting with "." will be included.
|
||||
// Returns true (1) on success. Calling this function on the browser process UI
|
||||
// or IO threads is not allowed.
|
||||
///
|
||||
CEF_EXPORT int cef_zip_directory(const cef_string_t* src_dir,
|
||||
const cef_string_t* dest_file, int include_hidden_files);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_find_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called to report find results returned by cef_browser_host_t::find().
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_focus_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when the browser component is about to loose focus. For instance, if
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -61,7 +61,7 @@ typedef struct _cef_frame_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// True if this object is currently attached to a valid frame.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_get_geolocation_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called with the 'best available' location information or, if the location
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_geolocation_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Call to allow or deny geolocation access.
|
||||
@@ -73,7 +73,7 @@ typedef struct _cef_geolocation_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when a page requests permission to access geolocation information.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -58,7 +58,7 @@ typedef struct _cef_image_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this Image is NULL.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_jsdialog_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue the JS dialog request. Set |success| to true (1) if the OK button
|
||||
@@ -73,7 +73,7 @@ typedef struct _cef_jsdialog_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called to run a JavaScript dialog. If |origin_url| is non-NULL it can be
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_keyboard_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called before a keyboard event is sent to the renderer. |event| contains
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_life_span_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called on the IO thread before a new popup browser is created. The
|
||||
@@ -102,7 +102,7 @@ typedef struct _cef_life_span_handler_t {
|
||||
// has been fired.
|
||||
//
|
||||
// An application should handle top-level owner window close notifications by
|
||||
// calling cef_browser_host_t::Tryclose_browser() or
|
||||
// calling cef_browser_host_t::try_close_browser() or
|
||||
// cef_browser_host_t::CloseBrowser(false (0)) instead of allowing the window
|
||||
// to close immediately (see the examples below). This gives CEF an
|
||||
// opportunity to process the 'onbeforeunload' event and optionally cancel the
|
||||
@@ -132,7 +132,7 @@ typedef struct _cef_life_span_handler_t {
|
||||
// The below examples describe what should happen during window close when the
|
||||
// browser is parented to an application-provided top-level window.
|
||||
//
|
||||
// Example 1: Using cef_browser_host_t::Tryclose_browser(). This is
|
||||
// Example 1: Using cef_browser_host_t::try_close_browser(). This is
|
||||
// recommended for clients using standard close handling and windows created
|
||||
// on the browser process UI thread. 1. User clicks the window close button
|
||||
// which sends a close notification to
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_load_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when the loading state has changed. This callback will be executed
|
||||
@@ -72,14 +72,17 @@ typedef struct _cef_load_handler_t {
|
||||
///
|
||||
// Called when the browser begins loading a frame. The |frame| value will
|
||||
// never be NULL -- call the is_main() function to check if this frame is the
|
||||
// main frame. Multiple frames may be loading at the same time. Sub-frames may
|
||||
// start or continue loading after the main frame load has ended. This
|
||||
// function will always be called for all frames irrespective of whether the
|
||||
// request completes successfully. For notification of overall browser load
|
||||
// status use OnLoadingStateChange instead.
|
||||
// main frame. |transition_type| provides information about the source of the
|
||||
// navigation and an accurate value is only available in the browser process.
|
||||
// Multiple frames may be loading at the same time. Sub-frames may start or
|
||||
// continue loading after the main frame load has ended. This function will
|
||||
// always be called for all frames irrespective of whether the request
|
||||
// completes successfully. For notification of overall browser load status use
|
||||
// OnLoadingStateChange instead.
|
||||
///
|
||||
void (CEF_CALLBACK *on_load_start)(struct _cef_load_handler_t* self,
|
||||
struct _cef_browser_t* browser, struct _cef_frame_t* frame);
|
||||
struct _cef_browser_t* browser, struct _cef_frame_t* frame,
|
||||
cef_transition_type_t transition_type);
|
||||
|
||||
///
|
||||
// Called when the browser is done loading a frame. The |frame| value will
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,12 @@ typedef struct _cef_menu_model_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this menu is a submenu.
|
||||
///
|
||||
int (CEF_CALLBACK *is_sub_menu)(struct _cef_menu_model_t* self);
|
||||
|
||||
///
|
||||
// Clears the menu. Returns true (1) on success.
|
||||
@@ -379,6 +384,73 @@ typedef struct _cef_menu_model_t {
|
||||
int (CEF_CALLBACK *get_accelerator_at)(struct _cef_menu_model_t* self,
|
||||
int index, int* key_code, int* shift_pressed, int* ctrl_pressed,
|
||||
int* alt_pressed);
|
||||
|
||||
///
|
||||
// Set the explicit color for |command_id| and |color_type| to |color|.
|
||||
// Specify a |color| value of 0 to remove the explicit color. If no explicit
|
||||
// color or default color is set for |color_type| then the system color will
|
||||
// be used. Returns true (1) on success.
|
||||
///
|
||||
int (CEF_CALLBACK *set_color)(struct _cef_menu_model_t* self, int command_id,
|
||||
cef_menu_color_type_t color_type, cef_color_t color);
|
||||
|
||||
///
|
||||
// Set the explicit color for |command_id| and |index| to |color|. Specify a
|
||||
// |color| value of 0 to remove the explicit color. Specify an |index| value
|
||||
// of -1 to set the default color for items that do not have an explicit color
|
||||
// set. If no explicit color or default color is set for |color_type| then the
|
||||
// system color will be used. Returns true (1) on success.
|
||||
///
|
||||
int (CEF_CALLBACK *set_color_at)(struct _cef_menu_model_t* self, int index,
|
||||
cef_menu_color_type_t color_type, cef_color_t color);
|
||||
|
||||
///
|
||||
// Returns in |color| the color that was explicitly set for |command_id| and
|
||||
// |color_type|. If a color was not set then 0 will be returned in |color|.
|
||||
// Returns true (1) on success.
|
||||
///
|
||||
int (CEF_CALLBACK *get_color)(struct _cef_menu_model_t* self, int command_id,
|
||||
cef_menu_color_type_t color_type, cef_color_t* color);
|
||||
|
||||
///
|
||||
// Returns in |color| the color that was explicitly set for |command_id| and
|
||||
// |color_type|. Specify an |index| value of -1 to return the default color in
|
||||
// |color|. If a color was not set then 0 will be returned in |color|. Returns
|
||||
// true (1) on success.
|
||||
///
|
||||
int (CEF_CALLBACK *get_color_at)(struct _cef_menu_model_t* self, int index,
|
||||
cef_menu_color_type_t color_type, cef_color_t* color);
|
||||
|
||||
///
|
||||
// Sets the font list for the specified |command_id|. If |font_list| is NULL
|
||||
// the system font will be used. Returns true (1) on success. The format is
|
||||
// "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma-
|
||||
// separated list of font family names, - STYLES is an optional space-
|
||||
// separated list of style names (case-sensitive
|
||||
// "Bold" and "Italic" are supported), and
|
||||
// - SIZE is an integer font size in pixels with the suffix "px".
|
||||
//
|
||||
// Here are examples of valid font description strings: - "Arial, Helvetica,
|
||||
// Bold Italic 14px" - "Arial, 14px"
|
||||
///
|
||||
int (CEF_CALLBACK *set_font_list)(struct _cef_menu_model_t* self,
|
||||
int command_id, const cef_string_t* font_list);
|
||||
|
||||
///
|
||||
// Sets the font list for the specified |index|. Specify an |index| value of
|
||||
// -1 to set the default font. If |font_list| is NULL the system font will be
|
||||
// used. Returns true (1) on success. The format is
|
||||
// "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma-
|
||||
// separated list of font family names, - STYLES is an optional space-
|
||||
// separated list of style names (case-sensitive
|
||||
// "Bold" and "Italic" are supported), and
|
||||
// - SIZE is an integer font size in pixels with the suffix "px".
|
||||
//
|
||||
// Here are examples of valid font description strings: - "Arial, Helvetica,
|
||||
// Bold Italic 14px" - "Arial, 14px"
|
||||
///
|
||||
int (CEF_CALLBACK *set_font_list_at)(struct _cef_menu_model_t* self,
|
||||
int index, const cef_string_t* font_list);
|
||||
} cef_menu_model_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_menu_model_delegate_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Perform the action associated with the specified |command_id| and optional
|
||||
@@ -65,11 +65,48 @@ typedef struct _cef_menu_model_delegate_t {
|
||||
struct _cef_menu_model_t* menu_model, int command_id,
|
||||
cef_event_flags_t event_flags);
|
||||
|
||||
///
|
||||
// Called when the user moves the mouse outside the menu and over the owning
|
||||
// window.
|
||||
///
|
||||
void (CEF_CALLBACK *mouse_outside_menu)(
|
||||
struct _cef_menu_model_delegate_t* self,
|
||||
struct _cef_menu_model_t* menu_model, const cef_point_t* screen_point);
|
||||
|
||||
///
|
||||
// Called on unhandled open submenu keyboard commands. |is_rtl| will be true
|
||||
// (1) if the menu is displaying a right-to-left language.
|
||||
///
|
||||
void (CEF_CALLBACK *unhandled_open_submenu)(
|
||||
struct _cef_menu_model_delegate_t* self,
|
||||
struct _cef_menu_model_t* menu_model, int is_rtl);
|
||||
|
||||
///
|
||||
// Called on unhandled close submenu keyboard commands. |is_rtl| will be true
|
||||
// (1) if the menu is displaying a right-to-left language.
|
||||
///
|
||||
void (CEF_CALLBACK *unhandled_close_submenu)(
|
||||
struct _cef_menu_model_delegate_t* self,
|
||||
struct _cef_menu_model_t* menu_model, int is_rtl);
|
||||
|
||||
///
|
||||
// The menu is about to show.
|
||||
///
|
||||
void (CEF_CALLBACK *menu_will_show)(struct _cef_menu_model_delegate_t* self,
|
||||
struct _cef_menu_model_t* menu_model);
|
||||
|
||||
///
|
||||
// The menu has closed.
|
||||
///
|
||||
void (CEF_CALLBACK *menu_closed)(struct _cef_menu_model_delegate_t* self,
|
||||
struct _cef_menu_model_t* menu_model);
|
||||
|
||||
///
|
||||
// Optionally modify a menu item label. Return true (1) if |label| was
|
||||
// modified.
|
||||
///
|
||||
int (CEF_CALLBACK *format_label)(struct _cef_menu_model_delegate_t* self,
|
||||
struct _cef_menu_model_t* menu_model, cef_string_t* label);
|
||||
} cef_menu_model_delegate_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -39,6 +39,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_ssl_status_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -52,7 +53,7 @@ typedef struct _cef_navigation_entry_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. Do not call any other functions
|
||||
@@ -116,6 +117,12 @@ typedef struct _cef_navigation_entry_t {
|
||||
///
|
||||
int (CEF_CALLBACK *get_http_status_code)(
|
||||
struct _cef_navigation_entry_t* self);
|
||||
|
||||
///
|
||||
// Returns the SSL information for this navigation entry.
|
||||
///
|
||||
struct _cef_sslstatus_t* (CEF_CALLBACK *get_sslstatus)(
|
||||
struct _cef_navigation_entry_t* self);
|
||||
} cef_navigation_entry_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_print_dialog_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue printing with the specified |settings|.
|
||||
@@ -76,7 +76,7 @@ typedef struct _cef_print_job_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Indicate completion of the print job.
|
||||
@@ -93,7 +93,7 @@ typedef struct _cef_print_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when printing has started for the specified |browser|. This function
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -52,7 +52,7 @@ typedef struct _cef_print_settings_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. Do not call any other functions
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_process_message_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. Do not call any other functions
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_render_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called to retrieve the root window rectangle in screen coordinates. Return
|
||||
@@ -161,6 +161,16 @@ typedef struct _cef_render_handler_t {
|
||||
void (CEF_CALLBACK *on_scroll_offset_changed)(
|
||||
struct _cef_render_handler_t* self, struct _cef_browser_t* browser,
|
||||
double x, double y);
|
||||
|
||||
///
|
||||
// Called when the IME composition range has changed. |selected_range| is the
|
||||
// range of characters that have been selected. |character_bounds| is the
|
||||
// bounds of each character in view coordinates.
|
||||
///
|
||||
void (CEF_CALLBACK *on_ime_composition_range_changed)(
|
||||
struct _cef_render_handler_t* self, struct _cef_browser_t* browser,
|
||||
const cef_range_t* selected_range, size_t character_boundsCount,
|
||||
cef_rect_t const* character_bounds);
|
||||
} cef_render_handler_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -61,7 +61,7 @@ typedef struct _cef_render_process_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called after the render process main thread has been created. |extra_info|
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_request_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is read-only.
|
||||
@@ -205,7 +205,7 @@ typedef struct _cef_post_data_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is read-only.
|
||||
@@ -265,7 +265,7 @@ typedef struct _cef_post_data_element_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is read-only.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_resolve_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called after the ResolveHost request has completed. |result| will be the
|
||||
@@ -89,7 +89,7 @@ typedef struct _cef_request_context_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is pointing to the same context as |that|
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_request_context_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called on the browser process IO thread to retrieve the cookie manager. If
|
||||
@@ -70,23 +70,25 @@ typedef struct _cef_request_context_handler_t {
|
||||
// Called on multiple browser process threads before a plugin instance is
|
||||
// loaded. |mime_type| is the mime type of the plugin that will be loaded.
|
||||
// |plugin_url| is the content URL that the plugin will load and may be NULL.
|
||||
// |top_origin_url| is the URL for the top-level frame that contains the
|
||||
// plugin when loading a specific plugin instance or NULL when building the
|
||||
// initial list of enabled plugins for 'navigator.plugins' JavaScript state.
|
||||
// |plugin_info| includes additional information about the plugin that will be
|
||||
// loaded. |plugin_policy| is the recommended policy. Modify |plugin_policy|
|
||||
// and return true (1) to change the policy. Return false (0) to use the
|
||||
// recommended policy. The default plugin policy can be set at runtime using
|
||||
// the `--plugin-policy=[allow|detect|block]` command-line flag. Decisions to
|
||||
// mark a plugin as disabled by setting |plugin_policy| to
|
||||
// PLUGIN_POLICY_DISABLED may be cached when |top_origin_url| is NULL. To
|
||||
// purge the plugin list cache and potentially trigger new calls to this
|
||||
// function call cef_request_tContext::PurgePluginListCache.
|
||||
// |is_main_frame| will be true (1) if the plugin is being loaded in the main
|
||||
// (top-level) frame, |top_origin_url| is the URL for the top-level frame that
|
||||
// contains the plugin when loading a specific plugin instance or NULL when
|
||||
// building the initial list of enabled plugins for 'navigator.plugins'
|
||||
// JavaScript state. |plugin_info| includes additional information about the
|
||||
// plugin that will be loaded. |plugin_policy| is the recommended policy.
|
||||
// Modify |plugin_policy| and return true (1) to change the policy. Return
|
||||
// false (0) to use the recommended policy. The default plugin policy can be
|
||||
// set at runtime using the `--plugin-policy=[allow|detect|block]` command-
|
||||
// line flag. Decisions to mark a plugin as disabled by setting
|
||||
// |plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when
|
||||
// |top_origin_url| is NULL. To purge the plugin list cache and potentially
|
||||
// trigger new calls to this function call
|
||||
// cef_request_tContext::PurgePluginListCache.
|
||||
///
|
||||
int (CEF_CALLBACK *on_before_plugin_load)(
|
||||
struct _cef_request_context_handler_t* self,
|
||||
const cef_string_t* mime_type, const cef_string_t* plugin_url,
|
||||
const cef_string_t* top_origin_url,
|
||||
int is_main_frame, const cef_string_t* top_origin_url,
|
||||
struct _cef_web_plugin_info_t* plugin_info,
|
||||
cef_plugin_policy_t* plugin_policy);
|
||||
} cef_request_context_handler_t;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "include/capi/cef_response_capi.h"
|
||||
#include "include/capi/cef_response_filter_capi.h"
|
||||
#include "include/capi/cef_ssl_info_capi.h"
|
||||
#include "include/capi/cef_x509_certificate_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -60,7 +61,7 @@ typedef struct _cef_request_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue the url request. If |allow| is true (1) the request will be
|
||||
@@ -75,6 +76,25 @@ typedef struct _cef_request_callback_t {
|
||||
} cef_request_callback_t;
|
||||
|
||||
|
||||
///
|
||||
// Callback structure used to select a client certificate for authentication.
|
||||
///
|
||||
typedef struct _cef_select_client_certificate_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Chooses the specified certificate for client certificate authentication.
|
||||
// NULL value means that no client certificate should be used.
|
||||
///
|
||||
void (CEF_CALLBACK *select)(
|
||||
struct _cef_select_client_certificate_callback_t* self,
|
||||
struct _cef_x509certificate_t* cert);
|
||||
} cef_select_client_certificate_callback_t;
|
||||
|
||||
|
||||
///
|
||||
// Implement this structure to handle events related to browser requests. The
|
||||
// functions of this structure will be called on the thread indicated.
|
||||
@@ -83,7 +103,7 @@ typedef struct _cef_request_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called on the UI thread before browser navigation. Return true (1) to
|
||||
@@ -146,12 +166,15 @@ typedef struct _cef_request_handler_t {
|
||||
///
|
||||
// Called on the IO thread when a resource load is redirected. The |request|
|
||||
// parameter will contain the old URL and other request-related information.
|
||||
// The |new_url| parameter will contain the new URL and can be changed if
|
||||
// desired. The |request| object cannot be modified in this callback.
|
||||
// The |response| parameter will contain the response that resulted in the
|
||||
// redirect. The |new_url| parameter will contain the new URL and can be
|
||||
// changed if desired. The |request| object cannot be modified in this
|
||||
// callback.
|
||||
///
|
||||
void (CEF_CALLBACK *on_resource_redirect)(struct _cef_request_handler_t* self,
|
||||
struct _cef_browser_t* browser, struct _cef_frame_t* frame,
|
||||
struct _cef_request_t* request, cef_string_t* new_url);
|
||||
struct _cef_request_t* request, struct _cef_response_t* response,
|
||||
cef_string_t* new_url);
|
||||
|
||||
///
|
||||
// Called on the IO thread when a resource response is received. To allow the
|
||||
@@ -238,6 +261,26 @@ typedef struct _cef_request_handler_t {
|
||||
const cef_string_t* request_url, struct _cef_sslinfo_t* ssl_info,
|
||||
struct _cef_request_callback_t* callback);
|
||||
|
||||
///
|
||||
// Called on the UI thread when a client certificate is being requested for
|
||||
// authentication. Return false (0) to use the default behavior and
|
||||
// automatically select the first certificate available. Return true (1) and
|
||||
// call cef_select_client_certificate_callback_t::Select either in this
|
||||
// function or at a later time to select a certificate. Do not call Select or
|
||||
// call it with NULL to continue without using any certificate. |isProxy|
|
||||
// indicates whether the host is an HTTPS proxy or the origin server. |host|
|
||||
// and |port| contains the hostname and port of the SSL server. |certificates|
|
||||
// is the list of certificates to choose from; this list has already been
|
||||
// pruned by Chromium so that it only contains certificates from issuers that
|
||||
// the server trusts.
|
||||
///
|
||||
int (CEF_CALLBACK *on_select_client_certificate)(
|
||||
struct _cef_request_handler_t* self, struct _cef_browser_t* browser,
|
||||
int isProxy, const cef_string_t* host, int port,
|
||||
size_t certificatesCount,
|
||||
struct _cef_x509certificate_t* const* certificates,
|
||||
struct _cef_select_client_certificate_callback_t* callback);
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread when a plugin has crashed.
|
||||
// |plugin_path| is the path of the plugin that crashed.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_resource_bundle_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the localized string for the specified |string_id| or an NULL
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -54,7 +54,7 @@ typedef struct _cef_resource_bundle_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called to retrieve a localized translation for the specified |string_id|.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -58,7 +58,7 @@ typedef struct _cef_resource_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Begin processing the request. To handle the request return true (1) and
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_response_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is read-only.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_response_filter_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Initialize the response filter. Will only be called a single time. The
|
||||
@@ -62,22 +62,35 @@ typedef struct _cef_response_filter_t {
|
||||
int (CEF_CALLBACK *init_filter)(struct _cef_response_filter_t* self);
|
||||
|
||||
///
|
||||
// Called to filter a chunk of data. |data_in| is the input buffer containing
|
||||
// |data_in_size| bytes of pre-filter data (|data_in| will be NULL if
|
||||
// |data_in_size| is zero). |data_out| is the output buffer that can accept up
|
||||
// to |data_out_size| bytes of filtered output data. Set |data_in_read| to the
|
||||
// number of bytes that were read from |data_in|. Set |data_out_written| to
|
||||
// the number of bytes that were written into |data_out|. If some or all of
|
||||
// the pre-filter data was read successfully but more data is needed in order
|
||||
// to continue filtering (filtered output is pending) return
|
||||
// RESPONSE_FILTER_NEED_MORE_DATA. If some or all of the pre-filter data was
|
||||
// read successfully and all available filtered output has been written return
|
||||
// RESPONSE_FILTER_DONE. If an error occurs during filtering return
|
||||
// RESPONSE_FILTER_ERROR. This function will be called repeatedly until there
|
||||
// is no more data to filter (resource response is complete), |data_in_read|
|
||||
// matches |data_in_size| (all available pre-filter bytes have been read), and
|
||||
// the function returns RESPONSE_FILTER_DONE or RESPONSE_FILTER_ERROR. Do not
|
||||
// keep a reference to the buffers passed to this function.
|
||||
// Called to filter a chunk of data. Expected usage is as follows:
|
||||
//
|
||||
// A. Read input data from |data_in| and set |data_in_read| to the number of
|
||||
// bytes that were read up to a maximum of |data_in_size|. |data_in| will
|
||||
// be NULL if |data_in_size| is zero.
|
||||
// B. Write filtered output data to |data_out| and set |data_out_written| to
|
||||
// the number of bytes that were written up to a maximum of
|
||||
// |data_out_size|. If no output data was written then all data must be
|
||||
// read from |data_in| (user must set |data_in_read| = |data_in_size|).
|
||||
// C. Return RESPONSE_FILTER_DONE if all output data was written or
|
||||
// RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending.
|
||||
//
|
||||
// This function will be called repeatedly until the input buffer has been
|
||||
// fully read (user sets |data_in_read| = |data_in_size|) and there is no more
|
||||
// input data to filter (the resource response is complete). This function may
|
||||
// then be called an additional time with an NULL input buffer if the user
|
||||
// filled the output buffer (set |data_out_written| = |data_out_size|) and
|
||||
// returned RESPONSE_FILTER_NEED_MORE_DATA to indicate that output data is
|
||||
// still pending.
|
||||
//
|
||||
// Calls to this function will stop when one of the following conditions is
|
||||
// met:
|
||||
//
|
||||
// A. There is no more input data to filter (the resource response is
|
||||
// complete) and the user sets |data_out_written| = 0 or returns
|
||||
// RESPONSE_FILTER_DONE to indicate that all data has been written, or;
|
||||
// B. The user returns RESPONSE_FILTER_ERROR to indicate an error.
|
||||
//
|
||||
// Do not keep a reference to the buffers passed to this function.
|
||||
///
|
||||
cef_response_filter_status_t (CEF_CALLBACK *filter)(
|
||||
struct _cef_response_filter_t* self, void* data_in, size_t data_in_size,
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -58,7 +58,7 @@ typedef struct _cef_scheme_registrar_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_scoped_t base;
|
||||
|
||||
///
|
||||
// Register a custom scheme. This function should not be called for the built-
|
||||
@@ -87,20 +87,30 @@ typedef struct _cef_scheme_registrar_t {
|
||||
// is. For example, "scheme:///some%20text" will remain the same. Non-standard
|
||||
// scheme URLs cannot be used as a target for form submission.
|
||||
//
|
||||
// If |is_local| is true (1) the scheme will be treated as local (i.e., with
|
||||
// the same security rules as those applied to "file" URLs). Normal pages
|
||||
// cannot link to or access local URLs. Also, by default, local URLs can only
|
||||
// perform XMLHttpRequest calls to the same URL (origin + path) that
|
||||
// originated the request. To allow XMLHttpRequest calls from a local URL to
|
||||
// other URLs with the same origin set the
|
||||
// CefSettings.file_access_from_file_urls_allowed value to true (1). To allow
|
||||
// XMLHttpRequest calls from a local URL to all origins set the
|
||||
// CefSettings.universal_access_from_file_urls_allowed value to true (1).
|
||||
// If |is_local| is true (1) the scheme will be treated with the same security
|
||||
// rules as those applied to "file" URLs. Normal pages cannot link to or
|
||||
// access local URLs. Also, by default, local URLs can only perform
|
||||
// XMLHttpRequest calls to the same URL (origin + path) that originated the
|
||||
// request. To allow XMLHttpRequest calls from a local URL to other URLs with
|
||||
// the same origin set the CefSettings.file_access_from_file_urls_allowed
|
||||
// value to true (1). To allow XMLHttpRequest calls from a local URL to all
|
||||
// origins set the CefSettings.universal_access_from_file_urls_allowed value
|
||||
// to true (1).
|
||||
//
|
||||
// If |is_display_isolated| is true (1) the scheme will be treated as display-
|
||||
// isolated. This means that pages cannot display these URLs unless they are
|
||||
// from the same scheme. For example, pages in another origin cannot create
|
||||
// iframes or hyperlinks to URLs with this scheme.
|
||||
// If |is_display_isolated| is true (1) the scheme can only be displayed from
|
||||
// other content hosted with the same scheme. For example, pages in other
|
||||
// origins cannot create iframes or hyperlinks to URLs with the scheme. For
|
||||
// schemes that must be accessible from other schemes set this value to false
|
||||
// (0), set |is_cors_enabled| to true (1), and use CORS "Access-Control-Allow-
|
||||
// Origin" headers to further restrict access.
|
||||
//
|
||||
// If |is_secure| is true (1) the scheme will be treated with the same
|
||||
// security rules as those applied to "https" URLs. For example, loading this
|
||||
// scheme from other secure schemes will not trigger mixed content warnings.
|
||||
//
|
||||
// If |is_cors_enabled| is true (1) the scheme that can be sent CORS requests.
|
||||
// This value should be true (1) in most cases where |is_standard| is true
|
||||
// (1).
|
||||
//
|
||||
// This function may be called on any thread. It should only be called once
|
||||
// per unique |scheme_name| value. If |scheme_name| is already registered or
|
||||
@@ -108,7 +118,7 @@ typedef struct _cef_scheme_registrar_t {
|
||||
///
|
||||
int (CEF_CALLBACK *add_custom_scheme)(struct _cef_scheme_registrar_t* self,
|
||||
const cef_string_t* scheme_name, int is_standard, int is_local,
|
||||
int is_display_isolated);
|
||||
int is_display_isolated, int is_secure, int is_cors_enabled);
|
||||
} cef_scheme_registrar_t;
|
||||
|
||||
|
||||
@@ -121,7 +131,7 @@ typedef struct _cef_scheme_handler_factory_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Return a new resource handler instance to handle the request or an NULL
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -40,83 +40,13 @@
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_values_capi.h"
|
||||
#include "include/capi/cef_x509_certificate_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// Structure representing the issuer or subject field of an X.509 certificate.
|
||||
///
|
||||
typedef struct _cef_sslcert_principal_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
|
||||
///
|
||||
// Returns a name that can be used to represent the issuer. It tries in this
|
||||
// order: CN, O and OU and returns the first non-NULL one found.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_display_name)(
|
||||
struct _cef_sslcert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the common name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_common_name)(
|
||||
struct _cef_sslcert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the locality name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_locality_name)(
|
||||
struct _cef_sslcert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the state or province name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_state_or_province_name)(
|
||||
struct _cef_sslcert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the country name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_country_name)(
|
||||
struct _cef_sslcert_principal_t* self);
|
||||
|
||||
///
|
||||
// Retrieve the list of street addresses.
|
||||
///
|
||||
void (CEF_CALLBACK *get_street_addresses)(
|
||||
struct _cef_sslcert_principal_t* self, cef_string_list_t addresses);
|
||||
|
||||
///
|
||||
// Retrieve the list of organization names.
|
||||
///
|
||||
void (CEF_CALLBACK *get_organization_names)(
|
||||
struct _cef_sslcert_principal_t* self, cef_string_list_t names);
|
||||
|
||||
///
|
||||
// Retrieve the list of organization unit names.
|
||||
///
|
||||
void (CEF_CALLBACK *get_organization_unit_names)(
|
||||
struct _cef_sslcert_principal_t* self, cef_string_list_t names);
|
||||
|
||||
///
|
||||
// Retrieve the list of domain components.
|
||||
///
|
||||
void (CEF_CALLBACK *get_domain_components)(
|
||||
struct _cef_sslcert_principal_t* self, cef_string_list_t components);
|
||||
} cef_sslcert_principal_t;
|
||||
|
||||
|
||||
///
|
||||
// Structure representing SSL information.
|
||||
///
|
||||
@@ -124,7 +54,7 @@ typedef struct _cef_sslinfo_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns a bitmask containing any and all problems verifying the server
|
||||
@@ -134,85 +64,24 @@ typedef struct _cef_sslinfo_t {
|
||||
struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns true (1) if the certificate status has any error, major or minor.
|
||||
// Returns the X.509 certificate.
|
||||
///
|
||||
int (CEF_CALLBACK *is_cert_status_error)(struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns true (1) if the certificate status represents only minor errors
|
||||
// (e.g. failure to verify certificate revocation).
|
||||
///
|
||||
int (CEF_CALLBACK *is_cert_status_minor_error)(struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the subject of the X.509 certificate. For HTTPS server certificates
|
||||
// this represents the web server. The common name of the subject should
|
||||
// match the host name of the web server.
|
||||
///
|
||||
struct _cef_sslcert_principal_t* (CEF_CALLBACK *get_subject)(
|
||||
struct _cef_x509certificate_t* (CEF_CALLBACK *get_x509certificate)(
|
||||
struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the issuer of the X.509 certificate.
|
||||
///
|
||||
struct _cef_sslcert_principal_t* (CEF_CALLBACK *get_issuer)(
|
||||
struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the DER encoded serial number for the X.509 certificate. The value
|
||||
// possibly includes a leading 00 byte.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_serial_number)(
|
||||
struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the date before which the X.509 certificate is invalid.
|
||||
// CefTime.GetTimeT() will return 0 if no date was specified.
|
||||
///
|
||||
cef_time_t (CEF_CALLBACK *get_valid_start)(struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the date after which the X.509 certificate is invalid.
|
||||
// CefTime.GetTimeT() will return 0 if no date was specified.
|
||||
///
|
||||
cef_time_t (CEF_CALLBACK *get_valid_expiry)(struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the DER encoded data for the X.509 certificate.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_derencoded)(
|
||||
struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the PEM encoded data for the X.509 certificate.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_pemencoded)(
|
||||
struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the number of certificates in the issuer chain. If 0, the
|
||||
// certificate is self-signed.
|
||||
///
|
||||
size_t (CEF_CALLBACK *get_issuer_chain_size)(struct _cef_sslinfo_t* self);
|
||||
|
||||
///
|
||||
// Returns the DER encoded data for the certificate issuer chain. If we failed
|
||||
// to encode a certificate in the chain it is still present in the array but
|
||||
// is an NULL string.
|
||||
///
|
||||
void (CEF_CALLBACK *get_derencoded_issuer_chain)(struct _cef_sslinfo_t* self,
|
||||
size_t* chainCount, struct _cef_binary_value_t** chain);
|
||||
|
||||
///
|
||||
// Returns the PEM encoded data for the certificate issuer chain. If we failed
|
||||
// to encode a certificate in the chain it is still present in the array but
|
||||
// is an NULL string.
|
||||
///
|
||||
void (CEF_CALLBACK *get_pemencoded_issuer_chain)(struct _cef_sslinfo_t* self,
|
||||
size_t* chainCount, struct _cef_binary_value_t** chain);
|
||||
} cef_sslinfo_t;
|
||||
|
||||
|
||||
///
|
||||
// Returns true (1) if the certificate status has any error, major or minor.
|
||||
///
|
||||
CEF_EXPORT int cef_is_cert_status_error(cef_cert_status_t status);
|
||||
|
||||
///
|
||||
// Returns true (1) if the certificate status represents only minor errors (e.g.
|
||||
// failure to verify certificate revocation).
|
||||
///
|
||||
CEF_EXPORT int cef_is_cert_status_minor_error(cef_cert_status_t status);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
95
include/capi/cef_ssl_status_capi.h
Normal file
95
include/capi/cef_ssl_status_capi.h
Normal file
@@ -0,0 +1,95 @@
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_values_capi.h"
|
||||
#include "include/capi/cef_x509_certificate_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// Structure representing the SSL information for a navigation entry.
|
||||
///
|
||||
typedef struct _cef_sslstatus_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the status is related to a secure SSL/TLS connection.
|
||||
///
|
||||
int (CEF_CALLBACK *is_secure_connection)(struct _cef_sslstatus_t* self);
|
||||
|
||||
///
|
||||
// Returns a bitmask containing any and all problems verifying the server
|
||||
// certificate.
|
||||
///
|
||||
cef_cert_status_t (CEF_CALLBACK *get_cert_status)(
|
||||
struct _cef_sslstatus_t* self);
|
||||
|
||||
///
|
||||
// Returns the SSL version used for the SSL connection.
|
||||
///
|
||||
cef_ssl_version_t (CEF_CALLBACK *get_sslversion)(
|
||||
struct _cef_sslstatus_t* self);
|
||||
|
||||
///
|
||||
// Returns a bitmask containing the page security content status.
|
||||
///
|
||||
cef_ssl_content_status_t (CEF_CALLBACK *get_content_status)(
|
||||
struct _cef_sslstatus_t* self);
|
||||
|
||||
///
|
||||
// Returns the X.509 certificate.
|
||||
///
|
||||
struct _cef_x509certificate_t* (CEF_CALLBACK *get_x509certificate)(
|
||||
struct _cef_sslstatus_t* self);
|
||||
} cef_sslstatus_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_read_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Read raw binary data.
|
||||
@@ -95,7 +95,7 @@ typedef struct _cef_stream_reader_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Read raw binary data.
|
||||
@@ -156,7 +156,7 @@ typedef struct _cef_write_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Write raw binary data.
|
||||
@@ -198,7 +198,7 @@ typedef struct _cef_stream_writer_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Write raw binary data.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -52,7 +52,7 @@ typedef struct _cef_string_visitor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be executed.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -57,7 +57,7 @@ typedef struct _cef_task_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be executed on the target thread.
|
||||
@@ -79,7 +79,7 @@ typedef struct _cef_task_runner_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is pointing to the same task runner as
|
||||
|
115
include/capi/cef_thread_capi.h
Normal file
115
include/capi/cef_thread_capi.h
Normal file
@@ -0,0 +1,115 @@
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_task_capi.h"
|
||||
#include "include/internal/cef_thread_internal.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// A simple thread abstraction that establishes a message loop on a new thread.
|
||||
// The consumer uses cef_task_tRunner to execute code on the thread's message
|
||||
// loop. The thread is terminated when the cef_thread_t object is destroyed or
|
||||
// stop() is called. All pending tasks queued on the thread's message loop will
|
||||
// run to completion before the thread is terminated. cef_thread_create() can be
|
||||
// called on any valid CEF thread in either the browser or render process. This
|
||||
// structure should only be used for tasks that require a dedicated thread. In
|
||||
// most cases you can post tasks to an existing CEF thread instead of creating a
|
||||
// new one; see cef_task.h for details.
|
||||
///
|
||||
typedef struct _cef_thread_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the cef_task_tRunner that will execute code on this thread's
|
||||
// message loop. This function is safe to call from any thread.
|
||||
///
|
||||
struct _cef_task_runner_t* (CEF_CALLBACK *get_task_runner)(
|
||||
struct _cef_thread_t* self);
|
||||
|
||||
///
|
||||
// Returns the platform thread ID. It will return the same value after stop()
|
||||
// is called. This function is safe to call from any thread.
|
||||
///
|
||||
cef_platform_thread_id_t (CEF_CALLBACK *get_platform_thread_id)(
|
||||
struct _cef_thread_t* self);
|
||||
|
||||
///
|
||||
// Stop and join the thread. This function must be called from the same thread
|
||||
// that called cef_thread_create(). Do not call this function if
|
||||
// cef_thread_create() was called with a |stoppable| value of false (0).
|
||||
///
|
||||
void (CEF_CALLBACK *stop)(struct _cef_thread_t* self);
|
||||
|
||||
///
|
||||
// Returns true (1) if the thread is currently running. This function must be
|
||||
// called from the same thread that called cef_thread_create().
|
||||
///
|
||||
int (CEF_CALLBACK *is_running)(struct _cef_thread_t* self);
|
||||
} cef_thread_t;
|
||||
|
||||
|
||||
///
|
||||
// Create and start a new thread. This function does not block waiting for the
|
||||
// thread to run initialization. |display_name| is the name that will be used to
|
||||
// identify the thread. |priority| is the thread execution priority.
|
||||
// |message_loop_type| indicates the set of asynchronous events that the thread
|
||||
// can process. If |stoppable| is true (1) the thread will stopped and joined on
|
||||
// destruction or when stop() is called; otherwise, the the thread cannot be
|
||||
// stopped and will be leaked on shutdown. On Windows the |com_init_mode| value
|
||||
// specifies how COM will be initialized for the thread. If |com_init_mode| is
|
||||
// set to COM_INIT_MODE_STA then |message_loop_type| must be set to ML_TYPE_UI.
|
||||
///
|
||||
CEF_EXPORT cef_thread_t* cef_thread_create(const cef_string_t* display_name,
|
||||
cef_thread_priority_t priority, cef_message_loop_type_t message_loop_type,
|
||||
int stoppable, cef_com_init_mode_t com_init_mode);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_end_tracing_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called after all processes have sent their trace data. |tracing_file| is
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -61,7 +61,7 @@ typedef struct _cef_urlrequest_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the request object used to create this URL request. The returned
|
||||
@@ -133,7 +133,7 @@ typedef struct _cef_urlrequest_client_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Notifies the client that the request has completed. Use the
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -63,7 +63,7 @@ typedef struct _cef_v8context_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the task runner associated with this context. V8 handles can only
|
||||
@@ -123,14 +123,16 @@ typedef struct _cef_v8context_t {
|
||||
struct _cef_v8context_t* that);
|
||||
|
||||
///
|
||||
// Evaluates the specified JavaScript code using this context's global object.
|
||||
// Execute a string of JavaScript code in this V8 context. The |script_url|
|
||||
// parameter is the URL where the script in question can be found, if any. The
|
||||
// |start_line| parameter is the base line number to use for error reporting.
|
||||
// On success |retval| will be set to the return value, if any, and the
|
||||
// function will return true (1). On failure |exception| will be set to the
|
||||
// exception, if any, and the function will return false (0).
|
||||
///
|
||||
int (CEF_CALLBACK *eval)(struct _cef_v8context_t* self,
|
||||
const cef_string_t* code, struct _cef_v8value_t** retval,
|
||||
struct _cef_v8exception_t** exception);
|
||||
const cef_string_t* code, const cef_string_t* script_url, int start_line,
|
||||
struct _cef_v8value_t** retval, struct _cef_v8exception_t** exception);
|
||||
} cef_v8context_t;
|
||||
|
||||
|
||||
@@ -159,7 +161,7 @@ typedef struct _cef_v8handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Handle execution of the function identified by |name|. |object| is the
|
||||
@@ -185,7 +187,7 @@ typedef struct _cef_v8accessor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Handle retrieval the accessor value identified by |name|. |object| is the
|
||||
@@ -211,6 +213,70 @@ typedef struct _cef_v8accessor_t {
|
||||
} cef_v8accessor_t;
|
||||
|
||||
|
||||
///
|
||||
// Structure that should be implemented to handle V8 interceptor calls. The
|
||||
// functions of this structure will be called on the thread associated with the
|
||||
// V8 interceptor. Interceptor's named property handlers (with first argument of
|
||||
// type CefString) are called when object is indexed by string. Indexed property
|
||||
// handlers (with first argument of type int) are called when object is indexed
|
||||
// by integer.
|
||||
///
|
||||
typedef struct _cef_v8interceptor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Handle retrieval of the interceptor value identified by |name|. |object| is
|
||||
// the receiver ('this' object) of the interceptor. If retrieval succeeds, set
|
||||
// |retval| to the return value. If the requested value does not exist, don't
|
||||
// set either |retval| or |exception|. If retrieval fails, set |exception| to
|
||||
// the exception that will be thrown. If the property has an associated
|
||||
// accessor, it will be called only if you don't set |retval|. Return true (1)
|
||||
// if interceptor retrieval was handled, false (0) otherwise.
|
||||
///
|
||||
int (CEF_CALLBACK *get_byname)(struct _cef_v8interceptor_t* self,
|
||||
const cef_string_t* name, struct _cef_v8value_t* object,
|
||||
struct _cef_v8value_t** retval, cef_string_t* exception);
|
||||
|
||||
///
|
||||
// Handle retrieval of the interceptor value identified by |index|. |object|
|
||||
// is the receiver ('this' object) of the interceptor. If retrieval succeeds,
|
||||
// set |retval| to the return value. If the requested value does not exist,
|
||||
// don't set either |retval| or |exception|. If retrieval fails, set
|
||||
// |exception| to the exception that will be thrown. Return true (1) if
|
||||
// interceptor retrieval was handled, false (0) otherwise.
|
||||
///
|
||||
int (CEF_CALLBACK *get_byindex)(struct _cef_v8interceptor_t* self, int index,
|
||||
struct _cef_v8value_t* object, struct _cef_v8value_t** retval,
|
||||
cef_string_t* exception);
|
||||
|
||||
///
|
||||
// Handle assignment of the interceptor value identified by |name|. |object|
|
||||
// is the receiver ('this' object) of the interceptor. |value| is the new
|
||||
// value being assigned to the interceptor. If assignment fails, set
|
||||
// |exception| to the exception that will be thrown. This setter will always
|
||||
// be called, even when the property has an associated accessor. Return true
|
||||
// (1) if interceptor assignment was handled, false (0) otherwise.
|
||||
///
|
||||
int (CEF_CALLBACK *set_byname)(struct _cef_v8interceptor_t* self,
|
||||
const cef_string_t* name, struct _cef_v8value_t* object,
|
||||
struct _cef_v8value_t* value, cef_string_t* exception);
|
||||
|
||||
///
|
||||
// Handle assignment of the interceptor value identified by |index|. |object|
|
||||
// is the receiver ('this' object) of the interceptor. |value| is the new
|
||||
// value being assigned to the interceptor. If assignment fails, set
|
||||
// |exception| to the exception that will be thrown. Return true (1) if
|
||||
// interceptor assignment was handled, false (0) otherwise.
|
||||
///
|
||||
int (CEF_CALLBACK *set_byindex)(struct _cef_v8interceptor_t* self, int index,
|
||||
struct _cef_v8value_t* object, struct _cef_v8value_t* value,
|
||||
cef_string_t* exception);
|
||||
} cef_v8interceptor_t;
|
||||
|
||||
|
||||
///
|
||||
// Structure representing a V8 exception. The functions of this structure may be
|
||||
// called on any render process thread.
|
||||
@@ -219,7 +285,7 @@ typedef struct _cef_v8exception_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the exception message.
|
||||
@@ -286,7 +352,7 @@ typedef struct _cef_v8value_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the underlying handle is valid and it can be accessed
|
||||
@@ -358,38 +424,32 @@ typedef struct _cef_v8value_t {
|
||||
struct _cef_v8value_t* that);
|
||||
|
||||
///
|
||||
// Return a bool value. The underlying data will be converted to if
|
||||
// necessary.
|
||||
// Return a bool value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_bool_value)(struct _cef_v8value_t* self);
|
||||
|
||||
///
|
||||
// Return an int value. The underlying data will be converted to if
|
||||
// necessary.
|
||||
// Return an int value.
|
||||
///
|
||||
int32 (CEF_CALLBACK *get_int_value)(struct _cef_v8value_t* self);
|
||||
|
||||
///
|
||||
// Return an unisgned int value. The underlying data will be converted to if
|
||||
// necessary.
|
||||
// Return an unsigned int value.
|
||||
///
|
||||
uint32 (CEF_CALLBACK *get_uint_value)(struct _cef_v8value_t* self);
|
||||
|
||||
///
|
||||
// Return a double value. The underlying data will be converted to if
|
||||
// necessary.
|
||||
// Return a double value.
|
||||
///
|
||||
double (CEF_CALLBACK *get_double_value)(struct _cef_v8value_t* self);
|
||||
|
||||
///
|
||||
// Return a Date value. The underlying data will be converted to if
|
||||
// necessary.
|
||||
// Return a Date value.
|
||||
///
|
||||
cef_time_t (CEF_CALLBACK *get_date_value)(struct _cef_v8value_t* self);
|
||||
|
||||
///
|
||||
// Return a string value. The underlying data will be converted to if
|
||||
// necessary.
|
||||
// Return a string value.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_string_value)(
|
||||
@@ -525,12 +585,12 @@ typedef struct _cef_v8value_t {
|
||||
// called on user created objects.
|
||||
///
|
||||
int (CEF_CALLBACK *set_user_data)(struct _cef_v8value_t* self,
|
||||
struct _cef_base_t* user_data);
|
||||
struct _cef_base_ref_counted_t* user_data);
|
||||
|
||||
///
|
||||
// Returns the user data, if any, assigned to this object.
|
||||
///
|
||||
struct _cef_base_t* (CEF_CALLBACK *get_user_data)(
|
||||
struct _cef_base_ref_counted_t* (CEF_CALLBACK *get_user_data)(
|
||||
struct _cef_v8value_t* self);
|
||||
|
||||
///
|
||||
@@ -652,13 +712,14 @@ CEF_EXPORT cef_v8value_t* cef_v8value_create_date(const cef_time_t* date);
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_string(const cef_string_t* value);
|
||||
|
||||
///
|
||||
// Create a new cef_v8value_t object of type object with optional accessor. This
|
||||
// function should only be called from within the scope of a
|
||||
// cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback,
|
||||
// or in combination with calling enter() and exit() on a stored cef_v8context_t
|
||||
// reference.
|
||||
// Create a new cef_v8value_t object of type object with optional accessor
|
||||
// and/or interceptor. This function should only be called from within the scope
|
||||
// of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t
|
||||
// callback, or in combination with calling enter() and exit() on a stored
|
||||
// cef_v8context_t reference.
|
||||
///
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_object(cef_v8accessor_t* accessor);
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_object(cef_v8accessor_t* accessor,
|
||||
cef_v8interceptor_t* interceptor);
|
||||
|
||||
///
|
||||
// Create a new cef_v8value_t object of type array with the specified |length|.
|
||||
@@ -691,7 +752,7 @@ typedef struct _cef_v8stack_trace_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the underlying handle is valid and it can be accessed
|
||||
@@ -731,7 +792,7 @@ typedef struct _cef_v8stack_frame_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the underlying handle is valid and it can be accessed
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -57,7 +57,7 @@ typedef struct _cef_value_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the underlying data is valid. This will always be true
|
||||
@@ -228,7 +228,7 @@ typedef struct _cef_binary_value_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. This object may become invalid if
|
||||
@@ -293,7 +293,7 @@ typedef struct _cef_dictionary_value_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. This object may become invalid if
|
||||
@@ -520,7 +520,7 @@ typedef struct _cef_list_value_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if this object is valid. This object may become invalid if
|
||||
@@ -581,13 +581,13 @@ typedef struct _cef_list_value_t {
|
||||
///
|
||||
// Removes the value at the specified index.
|
||||
///
|
||||
int (CEF_CALLBACK *remove)(struct _cef_list_value_t* self, int index);
|
||||
int (CEF_CALLBACK *remove)(struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Returns the value type at the specified index.
|
||||
///
|
||||
cef_value_type_t (CEF_CALLBACK *get_type)(struct _cef_list_value_t* self,
|
||||
int index);
|
||||
size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index. For simple types the returned
|
||||
@@ -597,36 +597,37 @@ typedef struct _cef_list_value_t {
|
||||
// will modify this object.
|
||||
///
|
||||
struct _cef_value_t* (CEF_CALLBACK *get_value)(struct _cef_list_value_t* self,
|
||||
int index);
|
||||
size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type bool.
|
||||
///
|
||||
int (CEF_CALLBACK *get_bool)(struct _cef_list_value_t* self, int index);
|
||||
int (CEF_CALLBACK *get_bool)(struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type int.
|
||||
///
|
||||
int (CEF_CALLBACK *get_int)(struct _cef_list_value_t* self, int index);
|
||||
int (CEF_CALLBACK *get_int)(struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type double.
|
||||
///
|
||||
double (CEF_CALLBACK *get_double)(struct _cef_list_value_t* self, int index);
|
||||
double (CEF_CALLBACK *get_double)(struct _cef_list_value_t* self,
|
||||
size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type string.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_string)(
|
||||
struct _cef_list_value_t* self, int index);
|
||||
struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type binary. The returned value
|
||||
// will reference existing data.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_binary)(
|
||||
struct _cef_list_value_t* self, int index);
|
||||
struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type dictionary. The returned
|
||||
@@ -634,7 +635,7 @@ typedef struct _cef_list_value_t {
|
||||
// modify this object.
|
||||
///
|
||||
struct _cef_dictionary_value_t* (CEF_CALLBACK *get_dictionary)(
|
||||
struct _cef_list_value_t* self, int index);
|
||||
struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Returns the value at the specified index as type list. The returned value
|
||||
@@ -642,7 +643,7 @@ typedef struct _cef_list_value_t {
|
||||
// this object.
|
||||
///
|
||||
struct _cef_list_value_t* (CEF_CALLBACK *get_list)(
|
||||
struct _cef_list_value_t* self, int index);
|
||||
struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index. Returns true (1) if the value was
|
||||
@@ -652,41 +653,41 @@ typedef struct _cef_list_value_t {
|
||||
// then the underlying data will be referenced and modifications to |value|
|
||||
// will modify this object.
|
||||
///
|
||||
int (CEF_CALLBACK *set_value)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_value)(struct _cef_list_value_t* self, size_t index,
|
||||
struct _cef_value_t* value);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index as type null. Returns true (1) if the
|
||||
// value was set successfully.
|
||||
///
|
||||
int (CEF_CALLBACK *set_null)(struct _cef_list_value_t* self, int index);
|
||||
int (CEF_CALLBACK *set_null)(struct _cef_list_value_t* self, size_t index);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index as type bool. Returns true (1) if the
|
||||
// value was set successfully.
|
||||
///
|
||||
int (CEF_CALLBACK *set_bool)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_bool)(struct _cef_list_value_t* self, size_t index,
|
||||
int value);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index as type int. Returns true (1) if the
|
||||
// value was set successfully.
|
||||
///
|
||||
int (CEF_CALLBACK *set_int)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_int)(struct _cef_list_value_t* self, size_t index,
|
||||
int value);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index as type double. Returns true (1) if
|
||||
// the value was set successfully.
|
||||
///
|
||||
int (CEF_CALLBACK *set_double)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_double)(struct _cef_list_value_t* self, size_t index,
|
||||
double value);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index as type string. Returns true (1) if
|
||||
// the value was set successfully.
|
||||
///
|
||||
int (CEF_CALLBACK *set_string)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_string)(struct _cef_list_value_t* self, size_t index,
|
||||
const cef_string_t* value);
|
||||
|
||||
///
|
||||
@@ -696,7 +697,7 @@ typedef struct _cef_list_value_t {
|
||||
// change. Otherwise, ownership will be transferred to this object and the
|
||||
// |value| reference will be invalidated.
|
||||
///
|
||||
int (CEF_CALLBACK *set_binary)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_binary)(struct _cef_list_value_t* self, size_t index,
|
||||
struct _cef_binary_value_t* value);
|
||||
|
||||
///
|
||||
@@ -706,8 +707,8 @@ typedef struct _cef_list_value_t {
|
||||
// Otherwise, ownership will be transferred to this object and the |value|
|
||||
// reference will be invalidated.
|
||||
///
|
||||
int (CEF_CALLBACK *set_dictionary)(struct _cef_list_value_t* self, int index,
|
||||
struct _cef_dictionary_value_t* value);
|
||||
int (CEF_CALLBACK *set_dictionary)(struct _cef_list_value_t* self,
|
||||
size_t index, struct _cef_dictionary_value_t* value);
|
||||
|
||||
///
|
||||
// Sets the value at the specified index as type list. Returns true (1) if the
|
||||
@@ -716,7 +717,7 @@ typedef struct _cef_list_value_t {
|
||||
// Otherwise, ownership will be transferred to this object and the |value|
|
||||
// reference will be invalidated.
|
||||
///
|
||||
int (CEF_CALLBACK *set_list)(struct _cef_list_value_t* self, int index,
|
||||
int (CEF_CALLBACK *set_list)(struct _cef_list_value_t* self, size_t index,
|
||||
struct _cef_list_value_t* value);
|
||||
} cef_list_value_t;
|
||||
|
||||
|
117
include/capi/cef_waitable_event_capi.h
Normal file
117
include/capi/cef_waitable_event_capi.h
Normal file
@@ -0,0 +1,117 @@
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// WaitableEvent is a thread synchronization tool that allows one thread to wait
|
||||
// for another thread to finish some work. This is equivalent to using a
|
||||
// Lock+ConditionVariable to protect a simple boolean value. However, using
|
||||
// WaitableEvent in conjunction with a Lock to wait for a more complex state
|
||||
// change (e.g., for an item to be added to a queue) is not recommended. In that
|
||||
// case consider using a ConditionVariable instead of a WaitableEvent. It is
|
||||
// safe to create and/or signal a WaitableEvent from any thread. Blocking on a
|
||||
// WaitableEvent by calling the *wait() functions is not allowed on the browser
|
||||
// process UI or IO threads.
|
||||
///
|
||||
typedef struct _cef_waitable_event_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Put the event in the un-signaled state.
|
||||
///
|
||||
void (CEF_CALLBACK *reset)(struct _cef_waitable_event_t* self);
|
||||
|
||||
///
|
||||
// Put the event in the signaled state. This causes any thread blocked on Wait
|
||||
// to be woken up.
|
||||
///
|
||||
void (CEF_CALLBACK *signal)(struct _cef_waitable_event_t* self);
|
||||
|
||||
///
|
||||
// Returns true (1) if the event is in the signaled state, else false (0). If
|
||||
// the event was created with |automatic_reset| set to true (1) then calling
|
||||
// this function will also cause a reset.
|
||||
///
|
||||
int (CEF_CALLBACK *is_signaled)(struct _cef_waitable_event_t* self);
|
||||
|
||||
///
|
||||
// Wait indefinitely for the event to be signaled. This function will not
|
||||
// return until after the call to signal() has completed. This function cannot
|
||||
// be called on the browser process UI or IO threads.
|
||||
///
|
||||
void (CEF_CALLBACK *wait)(struct _cef_waitable_event_t* self);
|
||||
|
||||
///
|
||||
// Wait up to |max_ms| milliseconds for the event to be signaled. Returns true
|
||||
// (1) if the event was signaled. A return value of false (0) does not
|
||||
// necessarily mean that |max_ms| was exceeded. This function will not return
|
||||
// until after the call to signal() has completed. This function cannot be
|
||||
// called on the browser process UI or IO threads.
|
||||
///
|
||||
int (CEF_CALLBACK *timed_wait)(struct _cef_waitable_event_t* self,
|
||||
int64 max_ms);
|
||||
} cef_waitable_event_t;
|
||||
|
||||
|
||||
///
|
||||
// Create a new waitable event. If |automatic_reset| is true (1) then the event
|
||||
// state is automatically reset to un-signaled after a single waiting thread has
|
||||
// been released; otherwise, the state remains signaled until reset() is called
|
||||
// manually. If |initially_signaled| is true (1) then the event will start in
|
||||
// the signaled state.
|
||||
///
|
||||
CEF_EXPORT cef_waitable_event_t* cef_waitable_event_create(int automatic_reset,
|
||||
int initially_signaled);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -53,7 +53,7 @@ typedef struct _cef_web_plugin_info_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the plugin name (i.e. Flash).
|
||||
@@ -93,7 +93,7 @@ typedef struct _cef_web_plugin_info_visitor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called once for each plugin. |count| is the 0-based
|
||||
@@ -114,7 +114,7 @@ typedef struct _cef_web_plugin_unstable_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called for the requested plugin. |unstable| will be
|
||||
@@ -127,6 +127,29 @@ typedef struct _cef_web_plugin_unstable_callback_t {
|
||||
} cef_web_plugin_unstable_callback_t;
|
||||
|
||||
|
||||
///
|
||||
// Implement this structure to receive notification when CDM registration is
|
||||
// complete. The functions of this structure will be called on the browser
|
||||
// process UI thread.
|
||||
///
|
||||
typedef struct _cef_register_cdm_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called when CDM registration is complete. |result| will
|
||||
// be CEF_CDM_REGISTRATION_ERROR_NONE if registration completed successfully.
|
||||
// Otherwise, |result| and |error_message| will contain additional information
|
||||
// about why registration failed.
|
||||
///
|
||||
void (CEF_CALLBACK *on_cdm_registration_complete)(
|
||||
struct _cef_register_cdm_callback_t* self,
|
||||
cef_cdm_registration_error_t result, const cef_string_t* error_message);
|
||||
} cef_register_cdm_callback_t;
|
||||
|
||||
|
||||
///
|
||||
// Visit web plugin information. Can be called on any thread in the browser
|
||||
// process.
|
||||
@@ -161,6 +184,54 @@ CEF_EXPORT void cef_register_web_plugin_crash(const cef_string_t* path);
|
||||
CEF_EXPORT void cef_is_web_plugin_unstable(const cef_string_t* path,
|
||||
cef_web_plugin_unstable_callback_t* callback);
|
||||
|
||||
///
|
||||
// Register the Widevine CDM plugin.
|
||||
//
|
||||
// The client application is responsible for downloading an appropriate
|
||||
// platform-specific CDM binary distribution from Google, extracting the
|
||||
// contents, and building the required directory structure on the local machine.
|
||||
// The cef_browser_host_t::StartDownload function and CefZipArchive structure
|
||||
// can be used to implement this functionality in CEF. Contact Google via
|
||||
// https://www.widevine.com/contact.html for details on CDM download.
|
||||
//
|
||||
// |path| is a directory that must contain the following files:
|
||||
// 1. manifest.json file from the CDM binary distribution (see below).
|
||||
// 2. widevinecdm file from the CDM binary distribution (e.g.
|
||||
// widevinecdm.dll on on Windows, libwidevinecdm.dylib on OS X,
|
||||
// libwidevinecdm.so on Linux).
|
||||
// 3. widevidecdmadapter file from the CEF binary distribution (e.g.
|
||||
// widevinecdmadapter.dll on Windows, widevinecdmadapter.plugin on OS X,
|
||||
// libwidevinecdmadapter.so on Linux).
|
||||
//
|
||||
// If any of these files are missing or if the manifest file has incorrect
|
||||
// contents the registration will fail and |callback| will receive a |result|
|
||||
// value of CEF_CDM_REGISTRATION_ERROR_INCORRECT_CONTENTS.
|
||||
//
|
||||
// The manifest.json file must contain the following keys:
|
||||
// A. "os": Supported OS (e.g. "mac", "win" or "linux").
|
||||
// B. "arch": Supported architecture (e.g. "ia32" or "x64").
|
||||
// C. "x-cdm-module-versions": Module API version (e.g. "4").
|
||||
// D. "x-cdm-interface-versions": Interface API version (e.g. "8").
|
||||
// E. "x-cdm-host-versions": Host API version (e.g. "8").
|
||||
// F. "version": CDM version (e.g. "1.4.8.903").
|
||||
// G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp9.0,avc1").
|
||||
//
|
||||
// A through E are used to verify compatibility with the current Chromium
|
||||
// version. If the CDM is not compatible the registration will fail and
|
||||
// |callback| will receive a |result| value of
|
||||
// CEF_CDM_REGISTRATION_ERROR_INCOMPATIBLE.
|
||||
//
|
||||
// |callback| will be executed asynchronously once registration is complete.
|
||||
//
|
||||
// On Linux this function must be called before cef_initialize() and the
|
||||
// registration cannot be changed during runtime. If registration is not
|
||||
// supported at the time that cef_register_widevine_cdm() is called then
|
||||
// |callback| will receive a |result| value of
|
||||
// CEF_CDM_REGISTRATION_ERROR_NOT_SUPPORTED.
|
||||
///
|
||||
CEF_EXPORT void cef_register_widevine_cdm(const cef_string_t* path,
|
||||
cef_register_cdm_callback_t* callback);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
208
include/capi/cef_x509_certificate_capi.h
Normal file
208
include/capi/cef_x509_certificate_capi.h
Normal file
@@ -0,0 +1,208 @@
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||
// Framework nor the names of its contributors may be used to endorse
|
||||
// or promote products derived from this software without specific prior
|
||||
// written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_values_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
// Structure representing the issuer or subject field of an X.509 certificate.
|
||||
///
|
||||
typedef struct _cef_x509cert_principal_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns a name that can be used to represent the issuer. It tries in this
|
||||
// order: Common Name (CN), Organization Name (O) and Organizational Unit Name
|
||||
// (OU) and returns the first non-NULL one found.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_display_name)(
|
||||
struct _cef_x509cert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the common name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_common_name)(
|
||||
struct _cef_x509cert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the locality name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_locality_name)(
|
||||
struct _cef_x509cert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the state or province name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_state_or_province_name)(
|
||||
struct _cef_x509cert_principal_t* self);
|
||||
|
||||
///
|
||||
// Returns the country name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_country_name)(
|
||||
struct _cef_x509cert_principal_t* self);
|
||||
|
||||
///
|
||||
// Retrieve the list of street addresses.
|
||||
///
|
||||
void (CEF_CALLBACK *get_street_addresses)(
|
||||
struct _cef_x509cert_principal_t* self, cef_string_list_t addresses);
|
||||
|
||||
///
|
||||
// Retrieve the list of organization names.
|
||||
///
|
||||
void (CEF_CALLBACK *get_organization_names)(
|
||||
struct _cef_x509cert_principal_t* self, cef_string_list_t names);
|
||||
|
||||
///
|
||||
// Retrieve the list of organization unit names.
|
||||
///
|
||||
void (CEF_CALLBACK *get_organization_unit_names)(
|
||||
struct _cef_x509cert_principal_t* self, cef_string_list_t names);
|
||||
|
||||
///
|
||||
// Retrieve the list of domain components.
|
||||
///
|
||||
void (CEF_CALLBACK *get_domain_components)(
|
||||
struct _cef_x509cert_principal_t* self, cef_string_list_t components);
|
||||
} cef_x509cert_principal_t;
|
||||
|
||||
|
||||
///
|
||||
// Structure representing a X.509 certificate.
|
||||
///
|
||||
typedef struct _cef_x509certificate_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the subject of the X.509 certificate. For HTTPS server certificates
|
||||
// this represents the web server. The common name of the subject should
|
||||
// match the host name of the web server.
|
||||
///
|
||||
struct _cef_x509cert_principal_t* (CEF_CALLBACK *get_subject)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the issuer of the X.509 certificate.
|
||||
///
|
||||
struct _cef_x509cert_principal_t* (CEF_CALLBACK *get_issuer)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the DER encoded serial number for the X.509 certificate. The value
|
||||
// possibly includes a leading 00 byte.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_serial_number)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the date before which the X.509 certificate is invalid.
|
||||
// CefTime.GetTimeT() will return 0 if no date was specified.
|
||||
///
|
||||
cef_time_t (CEF_CALLBACK *get_valid_start)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the date after which the X.509 certificate is invalid.
|
||||
// CefTime.GetTimeT() will return 0 if no date was specified.
|
||||
///
|
||||
cef_time_t (CEF_CALLBACK *get_valid_expiry)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the DER encoded data for the X.509 certificate.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_derencoded)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the PEM encoded data for the X.509 certificate.
|
||||
///
|
||||
struct _cef_binary_value_t* (CEF_CALLBACK *get_pemencoded)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the number of certificates in the issuer chain. If 0, the
|
||||
// certificate is self-signed.
|
||||
///
|
||||
size_t (CEF_CALLBACK *get_issuer_chain_size)(
|
||||
struct _cef_x509certificate_t* self);
|
||||
|
||||
///
|
||||
// Returns the DER encoded data for the certificate issuer chain. If we failed
|
||||
// to encode a certificate in the chain it is still present in the array but
|
||||
// is an NULL string.
|
||||
///
|
||||
void (CEF_CALLBACK *get_derencoded_issuer_chain)(
|
||||
struct _cef_x509certificate_t* self, size_t* chainCount,
|
||||
struct _cef_binary_value_t** chain);
|
||||
|
||||
///
|
||||
// Returns the PEM encoded data for the certificate issuer chain. If we failed
|
||||
// to encode a certificate in the chain it is still present in the array but
|
||||
// is an NULL string.
|
||||
///
|
||||
void (CEF_CALLBACK *get_pemencoded_issuer_chain)(
|
||||
struct _cef_x509certificate_t* self, size_t* chainCount,
|
||||
struct _cef_binary_value_t** chain);
|
||||
} cef_x509certificate_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_xml_reader_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Moves the cursor to the next node in the document. This function must be
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -55,7 +55,7 @@ typedef struct _cef_zip_reader_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Moves the cursor to the first file in the archive. Returns true (1) if the
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -38,16 +38,25 @@
|
||||
#define CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
|
||||
!defined(UNIT_TEST)
|
||||
#error This file can be included for unit tests only
|
||||
#endif
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct _cef_translator_test_handler_child_t;
|
||||
struct _cef_translator_test_handler_t;
|
||||
struct _cef_translator_test_object_child_t;
|
||||
struct _cef_translator_test_object_t;
|
||||
struct _cef_translator_test_ref_ptr_client_child_t;
|
||||
struct _cef_translator_test_ref_ptr_client_t;
|
||||
struct _cef_translator_test_ref_ptr_library_child_t;
|
||||
struct _cef_translator_test_ref_ptr_library_t;
|
||||
struct _cef_translator_test_scoped_client_child_t;
|
||||
struct _cef_translator_test_scoped_client_t;
|
||||
struct _cef_translator_test_scoped_library_child_t;
|
||||
struct _cef_translator_test_scoped_library_t;
|
||||
|
||||
///
|
||||
// Structure for testing all of the possible data transfer types.
|
||||
@@ -56,7 +65,7 @@ typedef struct _cef_translator_test_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
|
||||
// PRIMITIVE VALUES
|
||||
@@ -237,124 +246,271 @@ typedef struct _cef_translator_test_t {
|
||||
struct _cef_translator_test_t* self);
|
||||
|
||||
|
||||
// LIBRARY-SIDE OBJECT VALUES
|
||||
// LIBRARY-SIDE REFPTR VALUES
|
||||
|
||||
///
|
||||
// Return an new library-side object.
|
||||
///
|
||||
struct _cef_translator_test_object_t* (CEF_CALLBACK *get_object)(
|
||||
struct _cef_translator_test_t* self, int val);
|
||||
struct _cef_translator_test_ref_ptr_library_t* (
|
||||
CEF_CALLBACK *get_ref_ptr_library)(struct _cef_translator_test_t* self,
|
||||
int val);
|
||||
|
||||
///
|
||||
// Set an object. Returns the value from
|
||||
// cef_translator_test_object_t::get_value(). This tests input and execution
|
||||
// of a library-side object type.
|
||||
// cef_translator_test_ref_ptr_library_t::get_value(). This tests input and
|
||||
// execution of a library-side object type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_object)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_object_t* val);
|
||||
int (CEF_CALLBACK *set_ref_ptr_library)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_ref_ptr_library_t* val);
|
||||
|
||||
///
|
||||
// Set an object. Returns the object passed in. This tests input and output of
|
||||
// a library-side object type.
|
||||
///
|
||||
struct _cef_translator_test_object_t* (CEF_CALLBACK *set_object_and_return)(
|
||||
struct _cef_translator_test_ref_ptr_library_t* (
|
||||
CEF_CALLBACK *set_ref_ptr_library_and_return)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_object_t* val);
|
||||
struct _cef_translator_test_ref_ptr_library_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the value from
|
||||
// cef_translator_test_object_t::get_value(). This tests input of a library-
|
||||
// side child object type and execution as the parent type.
|
||||
// cef_translator_test_ref_ptr_library_t::get_value(). This tests input of a
|
||||
// library- side child object type and execution as the parent type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_child_object)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_object_child_t* val);
|
||||
int (CEF_CALLBACK *set_child_ref_ptr_library)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_ref_ptr_library_child_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the object as the parent type. This tests input
|
||||
// of a library-side child object type and return as the parent type.
|
||||
///
|
||||
struct _cef_translator_test_object_t* (
|
||||
CEF_CALLBACK *set_child_object_and_return_parent)(
|
||||
struct _cef_translator_test_ref_ptr_library_t* (
|
||||
CEF_CALLBACK *set_child_ref_ptr_library_and_return_parent)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_object_child_t* val);
|
||||
struct _cef_translator_test_ref_ptr_library_child_t* val);
|
||||
|
||||
///
|
||||
// Set an object list vlaue.
|
||||
///
|
||||
int (CEF_CALLBACK *set_object_list)(struct _cef_translator_test_t* self,
|
||||
size_t valCount, struct _cef_translator_test_object_t* const* val,
|
||||
int val1, int val2);
|
||||
int (CEF_CALLBACK *set_ref_ptr_library_list)(
|
||||
struct _cef_translator_test_t* self, size_t valCount,
|
||||
struct _cef_translator_test_ref_ptr_library_t* const* val, int val1,
|
||||
int val2);
|
||||
|
||||
///
|
||||
// Return an object list value by out-param.
|
||||
///
|
||||
int (CEF_CALLBACK *get_object_list_by_ref)(
|
||||
int (CEF_CALLBACK *get_ref_ptr_library_list_by_ref)(
|
||||
struct _cef_translator_test_t* self, size_t* valCount,
|
||||
struct _cef_translator_test_object_t** val, int val1, int val2);
|
||||
struct _cef_translator_test_ref_ptr_library_t** val, int val1,
|
||||
int val2);
|
||||
|
||||
///
|
||||
// Return the number of object that will be output above.
|
||||
///
|
||||
size_t (CEF_CALLBACK *get_object_list_size)(
|
||||
size_t (CEF_CALLBACK *get_ref_ptr_library_list_size)(
|
||||
struct _cef_translator_test_t* self);
|
||||
|
||||
|
||||
// CLIENT-SIDE OBJECT VALUES
|
||||
// CLIENT-SIDE REFPTR VALUES
|
||||
|
||||
///
|
||||
// Set an object. Returns the value from
|
||||
// cef_translator_test_handler_t::get_value(). This tests input and execution
|
||||
// of a client-side object type.
|
||||
// cef_translator_test_ref_ptr_client_t::get_value(). This tests input and
|
||||
// execution of a client-side object type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_handler)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_handler_t* val);
|
||||
int (CEF_CALLBACK *set_ref_ptr_client)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_ref_ptr_client_t* val);
|
||||
|
||||
///
|
||||
// Set an object. Returns the handler passed in. This tests input and output
|
||||
// of a client-side object type.
|
||||
///
|
||||
struct _cef_translator_test_handler_t* (CEF_CALLBACK *set_handler_and_return)(
|
||||
struct _cef_translator_test_ref_ptr_client_t* (
|
||||
CEF_CALLBACK *set_ref_ptr_client_and_return)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_handler_t* val);
|
||||
struct _cef_translator_test_ref_ptr_client_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the value from
|
||||
// cef_translator_test_handler_t::get_value(). This tests input of a client-
|
||||
// side child object type and execution as the parent type.
|
||||
// cef_translator_test_ref_ptr_client_t::get_value(). This tests input of a
|
||||
// client- side child object type and execution as the parent type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_child_handler)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_handler_child_t* val);
|
||||
int (CEF_CALLBACK *set_child_ref_ptr_client)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_ref_ptr_client_child_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the object as the parent type. This tests input
|
||||
// of a client-side child object type and return as the parent type.
|
||||
///
|
||||
struct _cef_translator_test_handler_t* (
|
||||
CEF_CALLBACK *set_child_handler_and_return_parent)(
|
||||
struct _cef_translator_test_ref_ptr_client_t* (
|
||||
CEF_CALLBACK *set_child_ref_ptr_client_and_return_parent)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_handler_child_t* val);
|
||||
struct _cef_translator_test_ref_ptr_client_child_t* val);
|
||||
|
||||
///
|
||||
// Set an object list vlaue.
|
||||
///
|
||||
int (CEF_CALLBACK *set_handler_list)(struct _cef_translator_test_t* self,
|
||||
size_t valCount, struct _cef_translator_test_handler_t* const* val,
|
||||
int val1, int val2);
|
||||
int (CEF_CALLBACK *set_ref_ptr_client_list)(
|
||||
struct _cef_translator_test_t* self, size_t valCount,
|
||||
struct _cef_translator_test_ref_ptr_client_t* const* val, int val1,
|
||||
int val2);
|
||||
|
||||
///
|
||||
// Return an object list value by out-param.
|
||||
///
|
||||
int (CEF_CALLBACK *get_handler_list_by_ref)(
|
||||
int (CEF_CALLBACK *get_ref_ptr_client_list_by_ref)(
|
||||
struct _cef_translator_test_t* self, size_t* valCount,
|
||||
struct _cef_translator_test_handler_t** val,
|
||||
struct _cef_translator_test_handler_t* val1,
|
||||
struct _cef_translator_test_handler_t* val2);
|
||||
struct _cef_translator_test_ref_ptr_client_t** val,
|
||||
struct _cef_translator_test_ref_ptr_client_t* val1,
|
||||
struct _cef_translator_test_ref_ptr_client_t* val2);
|
||||
|
||||
///
|
||||
// Return the number of object that will be output above.
|
||||
///
|
||||
size_t (CEF_CALLBACK *get_handler_list_size)(
|
||||
size_t (CEF_CALLBACK *get_ref_ptr_client_list_size)(
|
||||
struct _cef_translator_test_t* self);
|
||||
|
||||
|
||||
// LIBRARY-SIDE OWNPTR VALUES
|
||||
|
||||
///
|
||||
// Return an new library-side object.
|
||||
///
|
||||
struct _cef_translator_test_scoped_library_t* (
|
||||
CEF_CALLBACK *get_own_ptr_library)(struct _cef_translator_test_t* self,
|
||||
int val);
|
||||
|
||||
///
|
||||
// Set an object. Returns the value from
|
||||
// cef_translator_test_scoped_library_t::get_value(). This tests input and
|
||||
// execution of a library-side object type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_own_ptr_library)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_library_t* val);
|
||||
|
||||
///
|
||||
// Set an object. Returns the object passed in. This tests input and output of
|
||||
// a library-side object type.
|
||||
///
|
||||
struct _cef_translator_test_scoped_library_t* (
|
||||
CEF_CALLBACK *set_own_ptr_library_and_return)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_library_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the value from
|
||||
// cef_translator_test_scoped_library_t::get_value(). This tests input of a
|
||||
// library- side child object type and execution as the parent type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_child_own_ptr_library)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_library_child_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the object as the parent type. This tests input
|
||||
// of a library-side child object type and return as the parent type.
|
||||
///
|
||||
struct _cef_translator_test_scoped_library_t* (
|
||||
CEF_CALLBACK *set_child_own_ptr_library_and_return_parent)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_library_child_t* val);
|
||||
|
||||
|
||||
// CLIENT-SIDE OWNPTR VALUES
|
||||
|
||||
///
|
||||
// Set an object. Returns the value from
|
||||
// cef_translator_test_scoped_client_t::get_value(). This tests input and
|
||||
// execution of a client-side object type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_own_ptr_client)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_client_t* val);
|
||||
|
||||
///
|
||||
// Set an object. Returns the handler passed in. This tests input and output
|
||||
// of a client-side object type.
|
||||
///
|
||||
struct _cef_translator_test_scoped_client_t* (
|
||||
CEF_CALLBACK *set_own_ptr_client_and_return)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_client_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the value from
|
||||
// cef_translator_test_scoped_client_t::get_value(). This tests input of a
|
||||
// client- side child object type and execution as the parent type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_child_own_ptr_client)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_client_child_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the object as the parent type. This tests input
|
||||
// of a client-side child object type and return as the parent type.
|
||||
///
|
||||
struct _cef_translator_test_scoped_client_t* (
|
||||
CEF_CALLBACK *set_child_own_ptr_client_and_return_parent)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_client_child_t* val);
|
||||
|
||||
|
||||
// LIBRARY-SIDE RAWPTR VALUES
|
||||
|
||||
///
|
||||
// Set an object. Returns the value from
|
||||
// cef_translator_test_scoped_library_t::get_value(). This tests input and
|
||||
// execution of a library-side object type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_raw_ptr_library)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_library_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the value from
|
||||
// cef_translator_test_scoped_library_t::get_value(). This tests input of a
|
||||
// library- side child object type and execution as the parent type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_child_raw_ptr_library)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_library_child_t* val);
|
||||
|
||||
///
|
||||
// Set an object list vlaue.
|
||||
///
|
||||
int (CEF_CALLBACK *set_raw_ptr_library_list)(
|
||||
struct _cef_translator_test_t* self, size_t valCount,
|
||||
struct _cef_translator_test_scoped_library_t* const* val, int val1,
|
||||
int val2);
|
||||
|
||||
|
||||
// CLIENT-SIDE RAWPTR VALUES
|
||||
|
||||
///
|
||||
// Set an object. Returns the value from
|
||||
// cef_translator_test_scoped_client_t::get_value(). This tests input and
|
||||
// execution of a client-side object type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_raw_ptr_client)(struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_client_t* val);
|
||||
|
||||
///
|
||||
// Set a child object. Returns the value from
|
||||
// cef_translator_test_scoped_client_t::get_value(). This tests input of a
|
||||
// client- side child object type and execution as the parent type.
|
||||
///
|
||||
int (CEF_CALLBACK *set_child_raw_ptr_client)(
|
||||
struct _cef_translator_test_t* self,
|
||||
struct _cef_translator_test_scoped_client_child_t* val);
|
||||
|
||||
///
|
||||
// Set an object list vlaue.
|
||||
///
|
||||
int (CEF_CALLBACK *set_raw_ptr_client_list)(
|
||||
struct _cef_translator_test_t* self, size_t valCount,
|
||||
struct _cef_translator_test_scoped_client_t* const* val, int val1,
|
||||
int val2);
|
||||
} cef_translator_test_t;
|
||||
|
||||
|
||||
@@ -365,125 +521,253 @@ CEF_EXPORT cef_translator_test_t* cef_translator_test_create();
|
||||
|
||||
|
||||
///
|
||||
// Library-side test object.
|
||||
// Library-side test object for RefPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_object_t {
|
||||
typedef struct _cef_translator_test_ref_ptr_library_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_value)(struct _cef_translator_test_object_t* self);
|
||||
int (CEF_CALLBACK *get_value)(
|
||||
struct _cef_translator_test_ref_ptr_library_t* self);
|
||||
|
||||
///
|
||||
// Set a value.
|
||||
///
|
||||
void (CEF_CALLBACK *set_value)(struct _cef_translator_test_object_t* self,
|
||||
int value);
|
||||
} cef_translator_test_object_t;
|
||||
void (CEF_CALLBACK *set_value)(
|
||||
struct _cef_translator_test_ref_ptr_library_t* self, int value);
|
||||
} cef_translator_test_ref_ptr_library_t;
|
||||
|
||||
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_object_t* cef_translator_test_object_create(
|
||||
CEF_EXPORT cef_translator_test_ref_ptr_library_t* cef_translator_test_ref_ptr_library_create(
|
||||
int value);
|
||||
|
||||
|
||||
///
|
||||
// Library-side child test object.
|
||||
// Library-side child test object for RefPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_object_child_t {
|
||||
typedef struct _cef_translator_test_ref_ptr_library_child_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_translator_test_object_t base;
|
||||
cef_translator_test_ref_ptr_library_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_other_value)(
|
||||
struct _cef_translator_test_object_child_t* self);
|
||||
struct _cef_translator_test_ref_ptr_library_child_t* self);
|
||||
|
||||
///
|
||||
// Set a value.
|
||||
///
|
||||
void (CEF_CALLBACK *set_other_value)(
|
||||
struct _cef_translator_test_object_child_t* self, int value);
|
||||
} cef_translator_test_object_child_t;
|
||||
struct _cef_translator_test_ref_ptr_library_child_t* self, int value);
|
||||
} cef_translator_test_ref_ptr_library_child_t;
|
||||
|
||||
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_object_child_t* cef_translator_test_object_child_create(
|
||||
CEF_EXPORT cef_translator_test_ref_ptr_library_child_t* cef_translator_test_ref_ptr_library_child_create(
|
||||
int value, int other_value);
|
||||
|
||||
|
||||
///
|
||||
// Another library-side child test object.
|
||||
// Another library-side child test object for RefPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_object_child_child_t {
|
||||
typedef struct _cef_translator_test_ref_ptr_library_child_child_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_translator_test_object_child_t base;
|
||||
cef_translator_test_ref_ptr_library_child_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_other_other_value)(
|
||||
struct _cef_translator_test_object_child_child_t* self);
|
||||
struct _cef_translator_test_ref_ptr_library_child_child_t* self);
|
||||
|
||||
///
|
||||
// Set a value.
|
||||
///
|
||||
void (CEF_CALLBACK *set_other_other_value)(
|
||||
struct _cef_translator_test_object_child_child_t* self, int value);
|
||||
} cef_translator_test_object_child_child_t;
|
||||
struct _cef_translator_test_ref_ptr_library_child_child_t* self,
|
||||
int value);
|
||||
} cef_translator_test_ref_ptr_library_child_child_t;
|
||||
|
||||
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_object_child_child_t* cef_translator_test_object_child_child_create(
|
||||
CEF_EXPORT cef_translator_test_ref_ptr_library_child_child_t* cef_translator_test_ref_ptr_library_child_child_create(
|
||||
int value, int other_value, int other_other_value);
|
||||
|
||||
|
||||
///
|
||||
// Client-side test object.
|
||||
// Client-side test object for RefPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_handler_t {
|
||||
typedef struct _cef_translator_test_ref_ptr_client_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_value)(struct _cef_translator_test_handler_t* self);
|
||||
} cef_translator_test_handler_t;
|
||||
int (CEF_CALLBACK *get_value)(
|
||||
struct _cef_translator_test_ref_ptr_client_t* self);
|
||||
} cef_translator_test_ref_ptr_client_t;
|
||||
|
||||
|
||||
///
|
||||
// Client-side child test object.
|
||||
// Client-side child test object for RefPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_handler_child_t {
|
||||
typedef struct _cef_translator_test_ref_ptr_client_child_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_translator_test_handler_t base;
|
||||
cef_translator_test_ref_ptr_client_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_other_value)(
|
||||
struct _cef_translator_test_handler_child_t* self);
|
||||
} cef_translator_test_handler_child_t;
|
||||
struct _cef_translator_test_ref_ptr_client_child_t* self);
|
||||
} cef_translator_test_ref_ptr_client_child_t;
|
||||
|
||||
|
||||
///
|
||||
// Library-side test object for OwnPtr/RawPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_scoped_library_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_scoped_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_value)(
|
||||
struct _cef_translator_test_scoped_library_t* self);
|
||||
|
||||
///
|
||||
// Set a value.
|
||||
///
|
||||
void (CEF_CALLBACK *set_value)(
|
||||
struct _cef_translator_test_scoped_library_t* self, int value);
|
||||
} cef_translator_test_scoped_library_t;
|
||||
|
||||
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_scoped_library_t* cef_translator_test_scoped_library_create(
|
||||
int value);
|
||||
|
||||
|
||||
///
|
||||
// Library-side child test object for OwnPtr/RawPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_scoped_library_child_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_translator_test_scoped_library_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_other_value)(
|
||||
struct _cef_translator_test_scoped_library_child_t* self);
|
||||
|
||||
///
|
||||
// Set a value.
|
||||
///
|
||||
void (CEF_CALLBACK *set_other_value)(
|
||||
struct _cef_translator_test_scoped_library_child_t* self, int value);
|
||||
} cef_translator_test_scoped_library_child_t;
|
||||
|
||||
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_scoped_library_child_t* cef_translator_test_scoped_library_child_create(
|
||||
int value, int other_value);
|
||||
|
||||
|
||||
///
|
||||
// Another library-side child test object for OwnPtr/RawPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_scoped_library_child_child_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_translator_test_scoped_library_child_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_other_other_value)(
|
||||
struct _cef_translator_test_scoped_library_child_child_t* self);
|
||||
|
||||
///
|
||||
// Set a value.
|
||||
///
|
||||
void (CEF_CALLBACK *set_other_other_value)(
|
||||
struct _cef_translator_test_scoped_library_child_child_t* self,
|
||||
int value);
|
||||
} cef_translator_test_scoped_library_child_child_t;
|
||||
|
||||
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_scoped_library_child_child_t* cef_translator_test_scoped_library_child_child_create(
|
||||
int value, int other_value, int other_other_value);
|
||||
|
||||
|
||||
///
|
||||
// Client-side test object for OwnPtr/RawPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_scoped_client_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_scoped_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_value)(
|
||||
struct _cef_translator_test_scoped_client_t* self);
|
||||
} cef_translator_test_scoped_client_t;
|
||||
|
||||
|
||||
///
|
||||
// Client-side child test object for OwnPtr/RawPtr.
|
||||
///
|
||||
typedef struct _cef_translator_test_scoped_client_child_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_translator_test_scoped_client_t base;
|
||||
|
||||
///
|
||||
// Return a value.
|
||||
///
|
||||
int (CEF_CALLBACK *get_other_value)(
|
||||
struct _cef_translator_test_scoped_client_child_t* self);
|
||||
} cef_translator_test_scoped_client_child_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -63,6 +63,18 @@ typedef struct _cef_browser_view_t {
|
||||
///
|
||||
struct _cef_browser_t* (CEF_CALLBACK *get_browser)(
|
||||
struct _cef_browser_view_t* self);
|
||||
|
||||
///
|
||||
// Sets whether accelerators registered with cef_window_t::SetAccelerator are
|
||||
// triggered before or after the event is sent to the cef_browser_t. If
|
||||
// |prefer_accelerators| is true (1) then the matching accelerator will be
|
||||
// triggered immediately and the event will not be sent to the cef_browser_t.
|
||||
// If |prefer_accelerators| is false (0) then the matching accelerator will
|
||||
// only be triggered if the event is not handled by web content or by
|
||||
// cef_keyboard_handler_t. The default value is false (0).
|
||||
///
|
||||
void (CEF_CALLBACK *set_prefer_accelerators)(struct _cef_browser_view_t* self,
|
||||
int prefer_accelerators);
|
||||
} cef_browser_view_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -74,6 +74,12 @@ typedef struct _cef_button_t {
|
||||
///
|
||||
cef_button_state_t (CEF_CALLBACK *get_state)(struct _cef_button_t* self);
|
||||
|
||||
///
|
||||
// Sets the Button will use an ink drop effect for displaying state changes.
|
||||
///
|
||||
void (CEF_CALLBACK *set_ink_drop_enabled)(struct _cef_button_t* self,
|
||||
int enabled);
|
||||
|
||||
///
|
||||
// Sets the tooltip text that will be displayed when the user hovers the mouse
|
||||
// cursor over the Button.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -62,6 +62,12 @@ typedef struct _cef_button_delegate_t {
|
||||
///
|
||||
void (CEF_CALLBACK *on_button_pressed)(struct _cef_button_delegate_t* self,
|
||||
struct _cef_button_t* button);
|
||||
|
||||
///
|
||||
// Called when the state of |button| changes.
|
||||
///
|
||||
void (CEF_CALLBACK *on_button_state_changed)(
|
||||
struct _cef_button_delegate_t* self, struct _cef_button_t* button);
|
||||
} cef_button_delegate_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -57,7 +57,7 @@ typedef struct _cef_display_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the unique identifier for this Display.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -56,7 +56,7 @@ typedef struct _cef_layout_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_t base;
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns this Layout as a BoxLayout or NULL if this is not a BoxLayout.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
@@ -68,6 +68,12 @@ typedef struct _cef_menu_button_t {
|
||||
void (CEF_CALLBACK *show_menu)(struct _cef_menu_button_t* self,
|
||||
struct _cef_menu_model_t* menu_model, const cef_point_t* screen_point,
|
||||
cef_menu_anchor_position_t anchor_position);
|
||||
|
||||
///
|
||||
// Show the menu for this button. Results in a call to
|
||||
// cef_menu_button_delegate_t::on_menu_button_pressed().
|
||||
///
|
||||
void (CEF_CALLBACK *trigger_menu)(struct _cef_menu_button_t* self);
|
||||
} cef_menu_button_t;
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2016 Marshall A. Greenblatt. All rights reserved.
|
||||
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user