mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Compare commits
	
		
			37 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | a5d51ba9db | ||
|  | 3647d39e70 | ||
|  | dca51c71fd | ||
|  | c23cfb8b01 | ||
|  | 1e880c56ed | ||
|  | 239742e877 | ||
|  | f6393726b4 | ||
|  | 162c3d60df | ||
|  | b281f7aefd | ||
|  | 61241e4482 | ||
|  | 169fea9e41 | ||
|  | 047d3a0b4e | ||
|  | 300bb055bb | ||
|  | c7c4ac95b1 | ||
|  | 4fc5399f88 | ||
|  | 5e718e01a0 | ||
|  | 64eb12c9c4 | ||
|  | ecbe1244cb | ||
|  | d9c1887429 | ||
|  | 5c56e98fc6 | ||
|  | 2be337fb12 | ||
|  | 7e5ee97d2e | ||
|  | 6090afb12e | ||
|  | 3cd94714f7 | ||
|  | 69b959514c | ||
|  | e14495b5cb | ||
|  | 4771bb7ee4 | ||
|  | 8e0c2ff1d1 | ||
|  | caf18bdadb | ||
|  | 59e700b0f0 | ||
|  | 4042303cd8 | ||
|  | 87d1d2a7f3 | ||
|  | ecea6cc6e9 | ||
|  | 8af4558412 | ||
|  | 20a659fa66 | ||
|  | 34de39aac8 | ||
|  | 8abe66c2b2 | 
							
								
								
									
										2
									
								
								.gitignore.in → .gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore.in → .gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -51,5 +51,5 @@ Thumbs.db | ||||
| /binary_distrib | ||||
| /docs | ||||
| # CEF generated files | ||||
| /include/cef_version.h | ||||
| .ccls-cache/ | ||||
| /cef_api_untracked.json | ||||
| @@ -7,5 +7,6 @@ | ||||
| # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | ||||
|  | ||||
| { | ||||
|   'chromium_checkout': 'refs/tags/138.0.7204.0' | ||||
|   'chromium_checkout': 'refs/tags/126.0.6478.183', | ||||
|   'depot_tools_checkout': 'fca881606e' | ||||
| } | ||||
|   | ||||
| @@ -27,6 +27,17 @@ | ||||
|   # Files in the chromium/src directory that should be evaluated for changes. | ||||
|   # Similar changes may need to be applied to the CEF source code. | ||||
|   'files': [ | ||||
|     'chrome/browser/browser_process.h', | ||||
|     'chrome/browser/extensions/api/tabs/tabs_api.*', | ||||
|     'chrome/browser/extensions/chrome_component_extension_resource_manager.*', | ||||
|     'chrome/browser/extensions/chrome_extension_web_contents_observer.*', | ||||
|     'chrome/browser/extensions/component_loader.*', | ||||
|     'chrome/browser/extensions/extension_service.*', | ||||
|     'chrome/browser/profiles/profile.h', | ||||
|     'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*', | ||||
|     'chrome/common/extensions/api/*_features.json', | ||||
|     'chrome/renderer/chrome_content_renderer_client.*', | ||||
|     'chrome/renderer/extensions/chrome_extensions_renderer_client.*', | ||||
|     'components/content_settings/core/common/content_settings_types.mojom', | ||||
|     'components/permissions/request_type.h', | ||||
|     'content/browser/renderer_host/render_widget_host_view_base.*', | ||||
|   | ||||
| @@ -48,9 +48,10 @@ | ||||
| #     libgtk3.0-dev     (required by the cefclient target only) | ||||
| # | ||||
| # - MacOS requirements: | ||||
| #   Xcode 12.2 to 15.4 building on MacOS 11.0 (Big Sur) or newer. The Xcode | ||||
| #   command-line tools must also be installed. Newer Xcode versions may not have | ||||
| #   been been tested and are not recommended. | ||||
| #   Xcode 12.2 to 15.0 building on MacOS 10.15.4 (Catalina) or newer. Only | ||||
| #   64-bit builds are supported. The Xcode command-line tools must also be | ||||
| #   installed. Newer Xcode versions may not have been been tested and are not | ||||
| #   recommended. | ||||
| # | ||||
| # - Windows requirements: | ||||
| #   Visual Studio 2022 building on Windows 10 or newer. Windows 10/11 64-bit is | ||||
| @@ -142,7 +143,7 @@ set(CMAKE_CONFIGURATION_TYPES Debug Release) | ||||
| project(cef) | ||||
|  | ||||
| # Use folders in the resulting project files. | ||||
| set_property(GLOBAL PROPERTY USE_FOLDERS ON) | ||||
| set_property(GLOBAL PROPERTY OS_FOLDERS ON) | ||||
|  | ||||
|  | ||||
| # | ||||
|   | ||||
							
								
								
									
										23
									
								
								Doxyfile
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								Doxyfile
									
									
									
									
									
								
							| @@ -184,13 +184,7 @@ FULL_PATH_NAMES        = YES | ||||
| # will be relative from the directory where doxygen is started. | ||||
| # This tag requires that the tag FULL_PATH_NAMES is set to YES. | ||||
|  | ||||
| # CEF NOTE: Intentionally keeping the 'gen' prefix for these includes in the | ||||
| # "File List" side panel to differentiate directories. | ||||
| # See https://github.com/doxygen/doxygen/issues/8318. | ||||
|  | ||||
| STRIP_FROM_PATH        = . \ | ||||
|                          ../out/Release_GN_x64 \ | ||||
|                          ../out/Release_GN_arm64 | ||||
| STRIP_FROM_PATH        = | ||||
|  | ||||
| # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the | ||||
| # path mentioned in the documentation of a class, which tells the reader which | ||||
| @@ -915,9 +909,7 @@ WARN_LOGFILE           = | ||||
| # Note: If this tag is empty the current directory is searched. | ||||
|  | ||||
| INPUT                  = README.md \ | ||||
|                          include \ | ||||
|                          ../out/Release_GN_x64/gen/cef/include \ | ||||
|                          ../out/Release_GN_arm64/gen/cef/include | ||||
|                          include | ||||
|  | ||||
| # This tag can be used to specify the character encoding of the source files | ||||
| # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses | ||||
| @@ -2337,7 +2329,7 @@ ENABLE_PREPROCESSING   = YES | ||||
| # The default value is: NO. | ||||
| # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. | ||||
|  | ||||
| MACRO_EXPANSION        = YES | ||||
| MACRO_EXPANSION        = NO | ||||
|  | ||||
| # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then | ||||
| # the macro expansion is limited to the macros specified with the PREDEFINED and | ||||
| @@ -2345,7 +2337,7 @@ MACRO_EXPANSION        = YES | ||||
| # The default value is: NO. | ||||
| # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. | ||||
|  | ||||
| EXPAND_ONLY_PREDEF     = YES | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
|  | ||||
| # If the SEARCH_INCLUDES tag is set to YES, the include files in the | ||||
| # INCLUDE_PATH will be searched if a #include is found. | ||||
| @@ -2384,12 +2376,7 @@ PREDEFINED             = USING_CEF_SHARED \ | ||||
|                          OS_LINUX \ | ||||
|                          CEF_X11 \ | ||||
|                          OS_MAC \ | ||||
|                          __OBJC__ \ | ||||
|                          OS_POSIX \ | ||||
|                          ARCH_CPU_32_BITS \ | ||||
|                          CEF_API_ADDED(v)=1 \ | ||||
|                          CEF_API_REMOVED(v)=1 \ | ||||
|                          CEF_API_RANGE(a,r)=1 | ||||
|                          ARCH_CPU_32_BITS | ||||
|  | ||||
| # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this | ||||
| # tag can be used to specify a list of macro names that should be expanded. The | ||||
|   | ||||
| @@ -1,8 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| # Allow access from targets in other packages. | ||||
| package(default_visibility = [ | ||||
|     "//visibility:public", | ||||
| ]) | ||||
| @@ -1,65 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| def _copy_filegroups_impl(ctx): | ||||
|     inputs = ctx.files.filegroups | ||||
|     remove_prefixes = ctx.attr.remove_prefixes | ||||
|     add_prefix = ctx.attr.add_prefix | ||||
|  | ||||
|     outputs = [] | ||||
|     for f in inputs: | ||||
|         relative_path = f.path | ||||
|         if relative_path.startswith("external/"): | ||||
|           # Remove the "external/<repo>" component, if any. | ||||
|           relative_path = "/".join(relative_path.split("/")[2:]) | ||||
|  | ||||
|         for prefix in remove_prefixes: | ||||
|             # Add trailing forward slash if necessary. | ||||
|             if prefix[-1] != "/": | ||||
|                 prefix += "/" | ||||
|             if len(prefix) > 0 and relative_path.startswith(prefix): | ||||
|                 relative_path = relative_path[len(prefix):] | ||||
|                 break | ||||
|  | ||||
|         if len(add_prefix) > 0: | ||||
|             # Add trailing forward slash if necessary. | ||||
|             if add_prefix[-1] != "/": | ||||
|                 add_prefix += "/" | ||||
|             relative_path = add_prefix + relative_path | ||||
|  | ||||
|         out = ctx.actions.declare_file(relative_path) | ||||
|         outputs.append(out) | ||||
|  | ||||
|         if relative_path.find("/") > 0: | ||||
|             command="mkdir -p $(dirname {}) && cp {} {}".format(out.path, f.path, out.path) | ||||
|         else: | ||||
|             command="cp {} {}".format(f.path, out.path) | ||||
|  | ||||
|         ctx.actions.run_shell( | ||||
|             outputs=[out], | ||||
|             inputs=depset([f]), | ||||
|             command=command | ||||
|         ) | ||||
|  | ||||
|     # Small sanity check | ||||
|     if len(inputs) != len(outputs): | ||||
|         fail("Output count should be 1-to-1 with input count.") | ||||
|  | ||||
|     return DefaultInfo( | ||||
|         files=depset(outputs), | ||||
|         runfiles=ctx.runfiles(files=outputs) | ||||
|     ) | ||||
|  | ||||
| # Allows the file contents of |filegroups| to be copied next to a cc_binary | ||||
| # target via the |data| attribute. | ||||
| # Implementation based on https://stackoverflow.com/a/57983629 | ||||
| copy_filegroups = rule( | ||||
|     implementation=_copy_filegroups_impl, | ||||
|     attrs={ | ||||
|         "filegroups": attr.label_list(), | ||||
|         "remove_prefixes": attr.string_list(default = []), | ||||
|         "add_prefix": attr.string(default = ""), | ||||
|     }, | ||||
| ) | ||||
|  | ||||
| @@ -1,90 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("//bazel/win:variables.bzl", | ||||
|      WIN_COMMON_COPTS="COMMON_COPTS", | ||||
|      WIN_COMMON_COPTS_RELEASE="COMMON_COPTS_RELEASE", | ||||
|      WIN_COMMON_COPTS_DEBUG="COMMON_COPTS_DEBUG", | ||||
|      WIN_COMMON_DEFINES="COMMON_DEFINES", | ||||
|      WIN_COMMON_DEFINES_RELEASE="COMMON_DEFINES_RELEASE", | ||||
|      WIN_COMMON_DEFINES_DEBUG="COMMON_DEFINES_DEBUG") | ||||
| load("//bazel/linux:variables.bzl", | ||||
|      LINUX_COMMON_COPTS="COMMON_COPTS", | ||||
|      LINUX_COMMON_COPTS_RELEASE="COMMON_COPTS_RELEASE", | ||||
|      LINUX_COMMON_COPTS_DEBUG="COMMON_COPTS_DEBUG", | ||||
|      LINUX_COMMON_DEFINES="COMMON_DEFINES", | ||||
|      LINUX_COMMON_DEFINES_RELEASE="COMMON_DEFINES_RELEASE", | ||||
|      LINUX_COMMON_DEFINES_DEBUG="COMMON_DEFINES_DEBUG") | ||||
| load("//bazel/mac:variables.bzl", | ||||
|      MAC_COMMON_COPTS="COMMON_COPTS", | ||||
|      MAC_COMMON_COPTS_RELEASE="COMMON_COPTS_RELEASE", | ||||
|      MAC_COMMON_COPTS_DEBUG="COMMON_COPTS_DEBUG") | ||||
| load("@rules_cc//cc:defs.bzl", "cc_library", "objc_library") | ||||
|  | ||||
| def declare_cc_library(copts=[], local_defines=[], **kwargs): | ||||
|     """ | ||||
|     cc_library wrapper that applies common copts and local_defines. | ||||
|     """ | ||||
|     # NOTE: objc_library does not support local_defines on MacOS, so on | ||||
|     # that platform we put the defines in copts instead. | ||||
|     cc_library( | ||||
|         copts = select({ | ||||
|             "@platforms//os:windows": WIN_COMMON_COPTS, | ||||
|             "@platforms//os:linux": LINUX_COMMON_COPTS, | ||||
|             "@platforms//os:macos": MAC_COMMON_COPTS, | ||||
|             "//conditions:default": None, | ||||
|         }) + select({ | ||||
|             "@cef//:windows_opt": WIN_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:windows_dbg": WIN_COMMON_COPTS_DEBUG, | ||||
|             "@cef//:windows_fastbuild": WIN_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:linux_opt": LINUX_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:linux_dbg": LINUX_COMMON_COPTS_DEBUG, | ||||
|             "@cef//:linux_fastbuild": LINUX_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:macos_opt": MAC_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:macos_dbg": MAC_COMMON_COPTS_DEBUG, | ||||
|             "@cef//:macos_fastbuild": MAC_COMMON_COPTS_RELEASE, | ||||
|             "//conditions:default": None, | ||||
|         }) + copts, | ||||
|         local_defines = select({ | ||||
|             "@platforms//os:windows": WIN_COMMON_DEFINES, | ||||
|             "@platforms//os:linux": LINUX_COMMON_DEFINES, | ||||
|             "//conditions:default": None, | ||||
|         }) + select({ | ||||
|             "@cef//:windows_opt": WIN_COMMON_DEFINES_RELEASE, | ||||
|             "@cef//:windows_dbg": WIN_COMMON_DEFINES_DEBUG, | ||||
|             "@cef//:windows_fastbuild": WIN_COMMON_DEFINES_RELEASE, | ||||
|             "@cef//:linux_opt": LINUX_COMMON_DEFINES_RELEASE, | ||||
|             "@cef//:linux_dbg": LINUX_COMMON_DEFINES_DEBUG, | ||||
|             "@cef//:linux_fastbuild": LINUX_COMMON_DEFINES_RELEASE, | ||||
|             "//conditions:default": None, | ||||
|         }) + local_defines, | ||||
|         **kwargs | ||||
|     ) | ||||
|  | ||||
| def declare_objc_library(copts=[], **kwargs): | ||||
|     """ | ||||
|     objc_library wrapper that applies common copts. | ||||
|     """ | ||||
|     # NOTE: objc_library does not support local_defines on MacOS, so on | ||||
|     # that platform we put the defines in copts instead. | ||||
|     objc_library( | ||||
|         copts = select({ | ||||
|             "@platforms//os:windows": WIN_COMMON_COPTS, | ||||
|             "@platforms//os:linux": LINUX_COMMON_COPTS, | ||||
|             "@platforms//os:macos": MAC_COMMON_COPTS, | ||||
|             "//conditions:default": None, | ||||
|         }) + select({ | ||||
|             "@cef//:windows_opt": WIN_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:windows_dbg": WIN_COMMON_COPTS_DEBUG, | ||||
|             "@cef//:windows_fastbuild": WIN_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:linux_opt": LINUX_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:linux_dbg": LINUX_COMMON_COPTS_DEBUG, | ||||
|             "@cef//:linux_fastbuild": LINUX_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:macos_opt": MAC_COMMON_COPTS_RELEASE, | ||||
|             "@cef//:macos_dbg": MAC_COMMON_COPTS_DEBUG, | ||||
|             "@cef//:macos_fastbuild": MAC_COMMON_COPTS_RELEASE, | ||||
|             "//conditions:default": None, | ||||
|         }) + copts, | ||||
|         **kwargs | ||||
|     ) | ||||
| @@ -1,8 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| # Allow access from targets in other packages. | ||||
| package(default_visibility = [ | ||||
|     "//visibility:public", | ||||
| ]) | ||||
| @@ -1,63 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("//bazel:copy_filegroups.bzl", "copy_filegroups") | ||||
| load("//bazel/linux:fix_rpath.bzl", "fix_rpath") | ||||
| load("//bazel/linux:variables.bzl", | ||||
|      "COMMON_LINKOPTS", | ||||
|      "COMMON_COPTS", "COMMON_COPTS_RELEASE", "COMMON_COPTS_DEBUG", | ||||
|      "COMMON_DEFINES", "COMMON_DEFINES_RELEASE", "COMMON_DEFINES_DEBUG") | ||||
| load("@rules_cc//cc:defs.bzl", "cc_binary") | ||||
|  | ||||
| def declare_exe(name, srcs=[], deps=[], linkopts=[], copts=[], local_defines=[], data=[], **kwargs): | ||||
|     # Copy SOs and resources into the current project. | ||||
|     copy_target = "{}_sos_and_resources".format(name) | ||||
|     copy_filegroups( | ||||
|         name = copy_target, | ||||
|         filegroups = [ | ||||
|             "@cef//:sos", | ||||
|             "@cef//:resources", | ||||
|         ], | ||||
|         remove_prefixes = [ | ||||
|             "Debug", | ||||
|             "Release", | ||||
|             "Resources", | ||||
|         ], | ||||
|     ) | ||||
|  | ||||
|     # Executable target. | ||||
|     binary_target = "{}_incorrect_rpath".format(name) | ||||
|     cc_binary( | ||||
|         name = binary_target, | ||||
|         srcs = srcs, | ||||
|         deps = [ | ||||
|             "@cef//:cef_wrapper", | ||||
|             "@cef//:cef", | ||||
|             "@cef//:cef_sandbox", | ||||
|         ] + deps, | ||||
|         linkopts = COMMON_LINKOPTS + linkopts, | ||||
|         copts = COMMON_COPTS + select({ | ||||
|             "@cef//:linux_dbg": COMMON_COPTS_DEBUG, | ||||
|             "//conditions:default": COMMON_COPTS_RELEASE, | ||||
|         }) + copts, | ||||
|         local_defines = COMMON_DEFINES + select({ | ||||
|             "@cef//:linux_dbg": COMMON_DEFINES_DEBUG, | ||||
|             "//conditions:default": COMMON_DEFINES_RELEASE, | ||||
|         }) + local_defines, | ||||
|         data = [ | ||||
|             ":{}".format(copy_target), | ||||
|         ] + data, | ||||
|         target_compatible_with = ["@platforms//os:linux"], | ||||
|         **kwargs | ||||
|     ) | ||||
|  | ||||
|     # Set rpath to $ORIGIN so that libraries can be loaded from next to the | ||||
|     # executable. | ||||
|     fix_rpath( | ||||
|         name = "{}_fixed_rpath".format(name), | ||||
|         src = ":{}".format(binary_target), | ||||
|         out = name, | ||||
|         target_compatible_with = ["@platforms//os:linux"], | ||||
|     ) | ||||
|  | ||||
| @@ -1,41 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| def _fix_rpath_impl(ctx): | ||||
|     inputs = ctx.runfiles(files = [ctx.file.src]) | ||||
|     # Bring over 'data' dependencies from the input. | ||||
|     inputs = inputs.merge_all([ctx.attr.src[DefaultInfo].default_runfiles]) | ||||
|  | ||||
|     src = ctx.file.src.path | ||||
|     out = ctx.outputs.out.path | ||||
|  | ||||
|     ctx.actions.run_shell( | ||||
|         outputs = [ctx.outputs.out], | ||||
|         inputs = inputs.files, | ||||
|         arguments = [src, out], | ||||
|         command = "cp $1 $2 && " + | ||||
|                   "chmod +w $2 && " + | ||||
|                   "patchelf --remove-rpath $2 && " + | ||||
|                   "patchelf --set-rpath '$ORIGIN' $2" | ||||
|     ) | ||||
|  | ||||
|     return [DefaultInfo(files = depset([ctx.outputs.out]))] | ||||
|  | ||||
| # Set rpath to $ORIGIN so that libraries can be loaded from next to the | ||||
| # executable. The result can be confirmed with: | ||||
| # $ objdump -x ./bazel-bin/path/to/binary | grep 'R.*PATH' | ||||
| # | ||||
| # Alternatively, define a custom CC toolchain that overrides | ||||
| # 'runtime_library_search_directories'. | ||||
| # | ||||
| # This rule requires preinstallation of the patchelf package: | ||||
| # $ sudo apt install patchelf | ||||
| fix_rpath = rule( | ||||
|     implementation = _fix_rpath_impl, | ||||
|     attrs = { | ||||
|         "src": attr.label(allow_single_file = True), | ||||
|         "out": attr.output(mandatory = True), | ||||
|     }, | ||||
| ) | ||||
|  | ||||
| @@ -1,7 +0,0 @@ | ||||
| package(default_visibility = ["//visibility:public"]) | ||||
|  | ||||
| exports_files([ | ||||
|     "pkg_config.bzl", | ||||
|     "BUILD.tmpl", | ||||
| ]) | ||||
|  | ||||
| @@ -1,32 +0,0 @@ | ||||
| # vi: ft=bzl | ||||
| package(default_visibility = ["//visibility:private"]) | ||||
|  | ||||
| _imports = [p[:len(p)-2] for p in glob(["{}/**/*.a".format(d) for d in [%{deps}]])] | ||||
| [cc_import( | ||||
|     name = i.replace("/", "_"), | ||||
|     hdrs = glob([%{hdrs}]), | ||||
|     # TODO: library extension for platform. | ||||
|     static_library = "{}.a".format(i), | ||||
|     shared_library = "{}.dylib".format(i), | ||||
| ) for i in _imports] | ||||
|  | ||||
| cc_library( | ||||
|     name = "internal_lib", | ||||
|     hdrs = glob([%{hdrs}]), | ||||
|     copts = [%{copts}], | ||||
|     includes = [%{includes}], | ||||
|     linkopts = [%{linkopts}], | ||||
|     deps = [(":" + i.replace("/", "_")) for i in _imports], | ||||
| ) | ||||
|  | ||||
| cc_library( | ||||
|     name = "lib", | ||||
|     hdrs = glob(["%{strip_include}/**/*.h"]), | ||||
|     copts = [%{extra_copts}], | ||||
|     linkopts = [%{extra_linkopts}], | ||||
|     deps = [":internal_lib"] + [%{extra_deps}], | ||||
|     visibility = ["//visibility:public"], | ||||
|     strip_include_prefix = "%{strip_include}", | ||||
|     include_prefix = "%{include_prefix}", | ||||
| ) | ||||
|  | ||||
| @@ -1,11 +0,0 @@ | ||||
| Name: pkg_config | ||||
| URL: https://github.com/cherrry/bazel_pkg_config | ||||
| Version: 284219a | ||||
|  | ||||
| Description: | ||||
| Bazel rules for pkg-config tools. | ||||
|  | ||||
| CEF-specific changes: | ||||
| - Fix failure with duplicate symlinks. | ||||
| - Remove `--static` flag from pkg-config invocation. | ||||
|  | ||||
| @@ -1,2 +0,0 @@ | ||||
| workspace(name = "pkg_config") | ||||
|  | ||||
| @@ -1,194 +0,0 @@ | ||||
| def _success(value): | ||||
|     return struct(error = None, value = value) | ||||
|  | ||||
| def _error(message): | ||||
|     return struct(error = message, value = None) | ||||
|  | ||||
| def _split(result, delimeter = " "): | ||||
|     if result.error != None: | ||||
|         return result | ||||
|     return _success([arg for arg in result.value.strip().split(delimeter) if arg]) | ||||
|  | ||||
| def _find_binary(ctx, binary_name): | ||||
|     binary = ctx.which(binary_name) | ||||
|     if binary == None: | ||||
|         return _error("Unable to find binary: {}".format(binary_name)) | ||||
|     return _success(binary) | ||||
|  | ||||
| def _execute(ctx, binary, args): | ||||
|     result = ctx.execute([binary] + args) | ||||
|     if result.return_code != 0: | ||||
|         return _error("Failed execute {} {}".format(binary, args)) | ||||
|     return _success(result.stdout) | ||||
|  | ||||
| def _pkg_config(ctx, pkg_config, pkg_name, args): | ||||
|     return _execute(ctx, pkg_config, [pkg_name] + args) | ||||
|  | ||||
| def _check(ctx, pkg_config, pkg_name): | ||||
|     exist = _pkg_config(ctx, pkg_config, pkg_name, ["--exists"]) | ||||
|     if exist.error != None: | ||||
|         return _error("Package {} does not exist".format(pkg_name)) | ||||
|  | ||||
|     if ctx.attr.version != "": | ||||
|         version = _pkg_config(ctx, pkg_config, pkg_name, ["--exact-version", ctx.attr.version]) | ||||
|         if version.error != None: | ||||
|             return _error("Require {} version = {}".format(pkg_name, ctx.attr.version)) | ||||
|  | ||||
|     if ctx.attr.min_version != "": | ||||
|         version = _pkg_config(ctx, pkg_config, pkg_name, ["--atleast-version", ctx.attr.min_version]) | ||||
|         if version.error != None: | ||||
|             return _error("Require {} version >= {}".format(pkg_name, ctx.attr.min_version)) | ||||
|  | ||||
|     if ctx.attr.max_version != "": | ||||
|         version = _pkg_config(ctx, pkg_config, pkg_name, ["--max-version", ctx.attr.max_version]) | ||||
|         if version.error != None: | ||||
|             return _error("Require {} version <= {}".format(pkg_name, ctx.attr.max_version)) | ||||
|  | ||||
|     return _success(None) | ||||
|  | ||||
| def _extract_prefix(flags, prefix, strip = True): | ||||
|     stripped, remain = [], [] | ||||
|     for arg in flags: | ||||
|         if arg.startswith(prefix): | ||||
|             if strip: | ||||
|                 stripped += [arg[len(prefix):]] | ||||
|             else: | ||||
|                 stripped += [arg] | ||||
|         else: | ||||
|             remain += [arg] | ||||
|     return stripped, remain | ||||
|  | ||||
| def _includes(ctx, pkg_config, pkg_name): | ||||
|     includes = _split(_pkg_config(ctx, pkg_config, pkg_name, ["--cflags-only-I"])) | ||||
|     if includes.error != None: | ||||
|         return includes | ||||
|     includes, unused = _extract_prefix(includes.value, "-I", strip = True) | ||||
|     return _success(includes) | ||||
|  | ||||
| def _copts(ctx, pkg_config, pkg_name): | ||||
|     return _split(_pkg_config(ctx, pkg_config, pkg_name, [ | ||||
|         "--cflags-only-other", | ||||
|         "--libs-only-L", | ||||
|     ])) | ||||
|  | ||||
| def _linkopts(ctx, pkg_config, pkg_name): | ||||
|     return _split(_pkg_config(ctx, pkg_config, pkg_name, [ | ||||
|         "--libs-only-other", | ||||
|         "--libs-only-l", | ||||
|     ])) | ||||
|  | ||||
| def _ignore_opts(opts, ignore_opts): | ||||
|     remain = [] | ||||
|     for opt in opts: | ||||
|         if opt not in ignore_opts: | ||||
|             remain += [opt] | ||||
|     return remain | ||||
|  | ||||
| def _symlinks(ctx, basename, srcpaths): | ||||
|     result = [] | ||||
|     root = ctx.path("") | ||||
|     base = root.get_child(basename) | ||||
|     rootlen = len(str(base)) - len(basename) | ||||
|     for src in [ctx.path(p) for p in srcpaths]: | ||||
|         dest = base.get_child(src.basename) | ||||
|         if not dest.exists: | ||||
|             ctx.symlink(src, dest) | ||||
|         result += [str(dest)[rootlen:]] | ||||
|     return result | ||||
|  | ||||
| def _deps(ctx, pkg_config, pkg_name): | ||||
|     deps = _split(_pkg_config(ctx, pkg_config, pkg_name, [ | ||||
|         "--libs-only-L", | ||||
|         "--static", | ||||
|     ])) | ||||
|     if deps.error != None: | ||||
|         return deps | ||||
|     deps, unused = _extract_prefix(deps.value, "-L", strip = True) | ||||
|     result = [] | ||||
|     for dep in {dep: True for dep in deps}.keys(): | ||||
|         base = "deps_" + dep.replace("/", "_").replace(".", "_") | ||||
|         result += _symlinks(ctx, base, [dep]) | ||||
|     return _success(result) | ||||
|  | ||||
| def _fmt_array(array): | ||||
|     return ",".join(['"{}"'.format(a) for a in array]) | ||||
|  | ||||
| def _fmt_glob(array): | ||||
|     return _fmt_array(["{}/**/*.h".format(a) for a in array]) | ||||
|  | ||||
| def _pkg_config_impl(ctx): | ||||
|     pkg_name = ctx.attr.pkg_name | ||||
|     if pkg_name == "": | ||||
|         pkg_name = ctx.attr.name | ||||
|  | ||||
|     pkg_config = _find_binary(ctx, "pkg-config") | ||||
|     if pkg_config.error != None: | ||||
|         return pkg_config | ||||
|     pkg_config = pkg_config.value | ||||
|  | ||||
|     check = _check(ctx, pkg_config, pkg_name) | ||||
|     if check.error != None: | ||||
|         return check | ||||
|  | ||||
|     includes = _includes(ctx, pkg_config, pkg_name) | ||||
|     if includes.error != None: | ||||
|         return includes | ||||
|     includes = includes.value | ||||
|     includes = _symlinks(ctx, "includes", includes) | ||||
|     strip_include = "includes" | ||||
|     if len(includes) == 1: | ||||
|         strip_include = includes[0] | ||||
|     if ctx.attr.strip_include != "": | ||||
|         strip_include += "/" + ctx.attr.strip_include | ||||
|  | ||||
|     ignore_opts = ctx.attr.ignore_opts | ||||
|     copts = _copts(ctx, pkg_config, pkg_name) | ||||
|     if copts.error != None: | ||||
|         return copts | ||||
|     copts = _ignore_opts(copts.value, ignore_opts) | ||||
|  | ||||
|     linkopts = _linkopts(ctx, pkg_config, pkg_name) | ||||
|     if linkopts.error != None: | ||||
|         return linkopts | ||||
|     linkopts = _ignore_opts(linkopts.value, ignore_opts) | ||||
|  | ||||
|     deps = _deps(ctx, pkg_config, pkg_name) | ||||
|     if deps.error != None: | ||||
|         return deps | ||||
|     deps = deps.value | ||||
|  | ||||
|     include_prefix = ctx.attr.name | ||||
|     if ctx.attr.include_prefix != "": | ||||
|         include_prefix = ctx.attr.include_prefix + "/" + ctx.attr.name | ||||
|  | ||||
|     build = ctx.template("BUILD", Label("//:BUILD.tmpl"), substitutions = { | ||||
|         "%{name}": ctx.attr.name, | ||||
|         "%{hdrs}": _fmt_glob(includes), | ||||
|         "%{includes}": _fmt_array(includes), | ||||
|         "%{copts}": _fmt_array(copts), | ||||
|         "%{extra_copts}": _fmt_array(ctx.attr.copts), | ||||
|         "%{deps}": _fmt_array(deps), | ||||
|         "%{extra_deps}": _fmt_array(ctx.attr.deps), | ||||
|         "%{linkopts}": _fmt_array(linkopts), | ||||
|         "%{extra_linkopts}": _fmt_array(ctx.attr.linkopts), | ||||
|         "%{strip_include}": strip_include, | ||||
|         "%{include_prefix}": include_prefix, | ||||
|     }, executable = False) | ||||
|  | ||||
| pkg_config = repository_rule( | ||||
|     attrs = { | ||||
|         "pkg_name": attr.string(doc = "Package name for pkg-config query, default to name."), | ||||
|         "include_prefix": attr.string(doc = "Additional prefix when including file, e.g. third_party. Compatible with strip_include option to produce desired include paths."), | ||||
|         "strip_include": attr.string(doc = "Strip prefix when including file, e.g. libs, files not included will be invisible. Compatible with include_prefix option to produce desired include paths."), | ||||
|         "version": attr.string(doc = "Exact package version."), | ||||
|         "min_version": attr.string(doc = "Minimum package version."), | ||||
|         "max_version": attr.string(doc = "Maximum package version."), | ||||
|         "deps": attr.string_list(doc = "Dependency targets."), | ||||
|         "linkopts": attr.string_list(doc = "Extra linkopts value."), | ||||
|         "copts": attr.string_list(doc = "Extra copts value."), | ||||
|         "ignore_opts": attr.string_list(doc = "Ignore listed opts in copts or linkopts."), | ||||
|     }, | ||||
|     local = True, | ||||
|     implementation = _pkg_config_impl, | ||||
| ) | ||||
|  | ||||
| @@ -1,68 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| # | ||||
| # Distribution SOs. | ||||
| # | ||||
|  | ||||
| SOS = [ | ||||
|     "libcef.so", | ||||
|     "libEGL.so", | ||||
|     "libGLESv2.so", | ||||
|     "libvk_swiftshader.so", | ||||
|     "libvulkan.so.1", | ||||
| ] | ||||
|  | ||||
| # | ||||
| # Common 'linkopts' for cc_binary targets. | ||||
| # | ||||
|  | ||||
| # Standard link libraries. | ||||
| STANDARD_LIBS = [ | ||||
|     "X11", | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS_RELEASE = [ | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS = [ | ||||
|     "-l{}".format(lib) for lib in STANDARD_LIBS | ||||
| ]  + select({ | ||||
|     "@cef//:linux_dbg": COMMON_LINKOPTS_DEBUG, | ||||
|     "//conditions:default": COMMON_LINKOPTS_RELEASE, | ||||
| }) | ||||
|  | ||||
| # | ||||
| # Common 'copts' for cc_libary and cc_binary targets. | ||||
| # | ||||
|  | ||||
| COMMON_COPTS = [ | ||||
| ] | ||||
|  | ||||
| COMMON_COPTS_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_COPTS_RELEASE = [ | ||||
| ] | ||||
|  | ||||
| # | ||||
| # Common 'defines' for cc_libary targets. | ||||
| # | ||||
|  | ||||
| COMMON_DEFINES = [ | ||||
|     # Used by apps to test if the sandbox is enabled | ||||
|     "CEF_USE_SANDBOX", | ||||
| ] | ||||
|  | ||||
| COMMON_DEFINES_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_DEFINES_RELEASE = [ | ||||
|     # Not a debug build | ||||
|     "NDEBUG", | ||||
| ] | ||||
|  | ||||
| @@ -1,8 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| # Allow access from targets in other packages. | ||||
| package(default_visibility = [ | ||||
|     "//visibility:public", | ||||
| ]) | ||||
| @@ -1,111 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("@bazel_skylib//rules:expand_template.bzl", "expand_template") | ||||
| load("@build_bazel_rules_apple//apple:macos.bzl", "macos_application") | ||||
| load("//bazel:variables.bzl", "VERSION_PLIST") | ||||
| load("//bazel/mac:variables.bzl", | ||||
|      "MACOS_DEPLOYMENT_TARGET", | ||||
|      "MACOS_BUNDLE_ID_BASE", | ||||
|      "CEF_FRAMEWORK_NAME", | ||||
|      "COMMON_LINKOPTS") | ||||
|  | ||||
| def _declare_helper_app(name, info_plist, deps, helper_base_name, helper_suffix, **kwargs): | ||||
|     """ | ||||
|     Creates a Helper .app target. | ||||
|     """ | ||||
|     helper_name = "{} Helper".format(name) | ||||
|     bundle_id_suffix = "" | ||||
|  | ||||
|     if helper_suffix: | ||||
|         helper_name += " ({})".format(helper_suffix) | ||||
|         bundle_id_suffix += ".{}".format(helper_suffix.lower()) | ||||
|  | ||||
|     # Helper app bundle Info.plist. | ||||
|     expand_template( | ||||
|         name = "{}_InfoPList".format(helper_base_name), | ||||
|         template = info_plist, | ||||
|         out = "{}Info.plist".format(helper_base_name), | ||||
|         substitutions = { | ||||
|             "${EXECUTABLE_NAME}": helper_name, | ||||
|             "${PRODUCT_NAME}": name, | ||||
|             "${BUNDLE_ID_SUFFIX}": bundle_id_suffix, | ||||
|             "${VERSION_SHORT}": VERSION_PLIST, | ||||
|             "${VERSION_LONG}": VERSION_PLIST, | ||||
|         }, | ||||
|     ) | ||||
|  | ||||
|     # Helper app bundle. | ||||
|     macos_application( | ||||
|         name = helper_base_name, | ||||
|         bundle_name = helper_name, | ||||
|         bundle_id = "{}.{}.helper{}".format(MACOS_BUNDLE_ID_BASE, name.lower(), bundle_id_suffix), | ||||
|         infoplists = [":{}_InfoPList".format(helper_base_name)], | ||||
|         minimum_os_version = MACOS_DEPLOYMENT_TARGET, | ||||
|         deps = deps, | ||||
|         **kwargs, | ||||
|     ) | ||||
|  | ||||
| HELPERS = { | ||||
|     "HelperBase": "", | ||||
|     "HelperAlerts": "Alerts", | ||||
|     "HelperGPU": "GPU", | ||||
|     "HelperPlugin": "Plugin", | ||||
|     "HelperRenderer": "Renderer", | ||||
| } | ||||
|  | ||||
| def declare_all_helper_apps(name, info_plist, deps, **kwargs): | ||||
|     """ | ||||
|     Creates all Helper .app targets. | ||||
|     """ | ||||
|     [_declare_helper_app( | ||||
|         name = name, | ||||
|         info_plist = info_plist, | ||||
|         deps = deps, | ||||
|         helper_base_name = h, | ||||
|         helper_suffix = v, | ||||
|         **kwargs, | ||||
|     ) for h, v in HELPERS.items()] | ||||
|  | ||||
| def declare_main_app(name, info_plist, deps, resources, linkopts=[], **kwargs): | ||||
|     """ | ||||
|     Creates the main .app target. | ||||
|     """ | ||||
|  | ||||
|     # Main app bundle Info.plist. | ||||
|     expand_template( | ||||
|         name = "InfoPList", | ||||
|         template = info_plist, | ||||
|         out = "Info.plist", | ||||
|         substitutions = { | ||||
|             "${EXECUTABLE_NAME}": name, | ||||
|             "${PRODUCT_NAME}": name, | ||||
|             "${VERSION_SHORT}": VERSION_PLIST, | ||||
|             "${VERSION_LONG}": VERSION_PLIST, | ||||
|         }, | ||||
|     ) | ||||
|  | ||||
|     # Main app bindle. | ||||
|     macos_application( | ||||
|         name = name, | ||||
|         additional_contents = { | ||||
|             ":HelperBase": "Frameworks", | ||||
|             ":HelperAlerts": "Frameworks", | ||||
|             ":HelperGPU": "Frameworks", | ||||
|             ":HelperPlugin": "Frameworks", | ||||
|             ":HelperRenderer": "Frameworks", | ||||
|             "@cef//:cef_framework": "Frameworks/{}.framework".format(CEF_FRAMEWORK_NAME), | ||||
|         }, | ||||
|         bundle_name = name, | ||||
|         bundle_id = "{}.{}".format(MACOS_BUNDLE_ID_BASE, name.lower()), | ||||
|         infoplists = [":InfoPList"], | ||||
|         linkopts = COMMON_LINKOPTS + linkopts, | ||||
|         minimum_os_version = MACOS_DEPLOYMENT_TARGET, | ||||
|         resources = resources, | ||||
|         target_compatible_with = [ | ||||
|             "@platforms//os:macos", | ||||
|         ], | ||||
|         deps = deps, | ||||
|         **kwargs, | ||||
|     ) | ||||
| @@ -1,52 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| MACOS_DEPLOYMENT_TARGET="11.0" | ||||
| MACOS_BUNDLE_ID_BASE="org.cef" | ||||
| CEF_FRAMEWORK_NAME="Chromium Embedded Framework" | ||||
|  | ||||
| # | ||||
| # Common 'linkopts' for macos_application targets. | ||||
| # | ||||
|  | ||||
| # Standard link frameworks. | ||||
| STANDARD_FRAMEWORKS = [ | ||||
|     "AppKit", | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS_RELEASE = [ | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS = [ | ||||
|     "-framework {}".format(lib) for lib in STANDARD_FRAMEWORKS | ||||
| ]  + select({ | ||||
|     "@cef//:macos_dbg": COMMON_LINKOPTS_DEBUG, | ||||
|     "//conditions:default": COMMON_LINKOPTS_RELEASE, | ||||
| }) | ||||
|  | ||||
| # | ||||
| # Common 'copts' for cc_libary, objc_library and macos_application targets. | ||||
| # We include defines in 'copts' because objc_library does not support | ||||
| # 'local_defines'. See https://github.com/bazelbuild/bazel/issues/17482. | ||||
| # | ||||
|  | ||||
| COMMON_COPTS = [ | ||||
|     "-Wno-undefined-var-template", | ||||
|     "-Wno-missing-field-initializers", | ||||
|     "-Wno-deprecated-copy", | ||||
|  | ||||
|     # Used by apps to test if the sandbox is enabled | ||||
|     "-DCEF_USE_SANDBOX", | ||||
| ] | ||||
|  | ||||
| COMMON_COPTS_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_COPTS_RELEASE = [ | ||||
|     # Not a debug build | ||||
|     "-DNDEBUG", | ||||
| ] | ||||
| @@ -1,8 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| # Allow access from targets in other packages. | ||||
| package(default_visibility = [ | ||||
|     "//visibility:public", | ||||
| ]) | ||||
| @@ -1,33 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain", _use_cpp_toolchain="use_cpp_toolchain") | ||||
| load("@rules_cc//cc:action_names.bzl", "CPP_COMPILE_ACTION_NAME") | ||||
|  | ||||
| # Since we need windows.h and other headers, we should ensure we have the same | ||||
| # development environment as a regular cl.exe call. So use the current toolchain | ||||
| # to grab environment variables to feed into the actual rc.exe call | ||||
| # Much of this is taken from: | ||||
| #   https://github.com/bazelbuild/rules_cc/blob/main/examples/my_c_archive/my_c_archive.bzl | ||||
| def collect_compilation_env(ctx): | ||||
|     cc_toolchain = find_cpp_toolchain(ctx) | ||||
|     feature_configuration = cc_common.configure_features( | ||||
|         ctx = ctx, | ||||
|         cc_toolchain = cc_toolchain, | ||||
|         requested_features = ctx.features, | ||||
|         unsupported_features = ctx.disabled_features, | ||||
|     ) | ||||
|  | ||||
|     compiler_variables = cc_common.create_compile_variables( | ||||
|         feature_configuration = feature_configuration, | ||||
|         cc_toolchain = cc_toolchain, | ||||
|     ) | ||||
|  | ||||
|     return cc_common.get_environment_variables( | ||||
|       feature_configuration = feature_configuration, | ||||
|       action_name = CPP_COMPILE_ACTION_NAME, | ||||
|       variables = compiler_variables, | ||||
|     ) | ||||
|  | ||||
| use_cpp_toolchain=_use_cpp_toolchain | ||||
| @@ -1,82 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("//bazel:copy_filegroups.bzl", "copy_filegroups") | ||||
| load("//bazel/win:mt.bzl", "add_manifest") | ||||
| load("//bazel/win:rc.bzl", "compile_rc") | ||||
| load("//bazel/win:variables.bzl", | ||||
|      "COMMON_LINKOPTS", | ||||
|      "COMMON_COPTS", "COMMON_COPTS_RELEASE", "COMMON_COPTS_DEBUG", | ||||
|      "COMMON_DEFINES", "COMMON_DEFINES_RELEASE", "COMMON_DEFINES_DEBUG") | ||||
| load("@rules_cc//cc:defs.bzl", "cc_binary") | ||||
|  | ||||
| def declare_exe(name, srcs, manifest_srcs, rc_file, resources_srcs, resources_deps=[], | ||||
|                 deps=[], linkopts=[], copts=[], local_defines=[], data=[], | ||||
|                 additional_linker_inputs=[], features=[], **kwargs): | ||||
|     # Resource file. | ||||
|     res_target = "{}_res".format(name) | ||||
|     compile_rc( | ||||
|         name = res_target, | ||||
|         rc_file = rc_file, | ||||
|         srcs = resources_srcs, | ||||
|         deps = resources_deps, | ||||
|         out = "{}.res".format(name), | ||||
|         target_compatible_with = ["@platforms//os:windows"], | ||||
|     ) | ||||
|  | ||||
|     # Copy DLLs and resources into the current project. | ||||
|     copy_target = "{}_dlls_and_resources".format(name) | ||||
|     copy_filegroups( | ||||
|         name = copy_target, | ||||
|         filegroups = [ | ||||
|             "@cef//:dlls", | ||||
|             "@cef//:resources", | ||||
|         ], | ||||
|         remove_prefixes = [ | ||||
|             "Debug", | ||||
|             "Release", | ||||
|             "Resources", | ||||
|         ], | ||||
|     ) | ||||
|  | ||||
|     # Executable target. | ||||
|     binary_target = "{}_no_manifest".format(name) | ||||
|     cc_binary( | ||||
|         name = binary_target, | ||||
|         srcs = srcs, | ||||
|         deps = [ | ||||
|             "@cef//:cef_wrapper", | ||||
|         ] + deps, | ||||
|         linkopts = [ | ||||
|             "$(location @cef//:cef_lib)", | ||||
|             "$(location :{})".format(res_target), | ||||
|         ] + COMMON_LINKOPTS + linkopts, | ||||
|         copts = COMMON_COPTS + select({ | ||||
|             "@cef//:windows_dbg": COMMON_COPTS_DEBUG, | ||||
|             "//conditions:default": COMMON_COPTS_RELEASE, | ||||
|         }) + copts, | ||||
|         local_defines = COMMON_DEFINES + select({ | ||||
|             "@cef//:windows_dbg": COMMON_DEFINES_DEBUG, | ||||
|             "//conditions:default": COMMON_DEFINES_RELEASE, | ||||
|         }) + local_defines, | ||||
|         additional_linker_inputs = [ | ||||
|             "@cef//:cef_lib", | ||||
|             ":{}".format(res_target), | ||||
|         ] + additional_linker_inputs, | ||||
|         data = [ | ||||
|             ":{}".format(copy_target), | ||||
|         ] + data, | ||||
|         features = ["generate_pdb_file"] + features, | ||||
|         target_compatible_with = ["@platforms//os:windows"], | ||||
|         **kwargs | ||||
|     ) | ||||
|  | ||||
|     # Add manifest and rename to final executable. | ||||
|     add_manifest( | ||||
|         name = name, | ||||
|         mt_files = manifest_srcs, | ||||
|         in_binary = ":{}".format(binary_target), | ||||
|         out_binary = "{}.exe".format(name), | ||||
|         target_compatible_with = ["@platforms//os:windows"], | ||||
|     ) | ||||
| @@ -1,72 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("//bazel/win:cc_env.bzl", "collect_compilation_env", "use_cpp_toolchain") | ||||
|  | ||||
| # Copy exe and pdb file without tracking the destination as an output. | ||||
| # Based on https://github.com/bazelbuild/bazel-skylib/blob/main/rules/private/copy_file_private.bzl | ||||
| def _write_copy_cmd(ctx, src, dst): | ||||
|     # Most Windows binaries built with MSVC use a certain argument quoting | ||||
|     # scheme. Bazel uses that scheme too to quote arguments. However, | ||||
|     # cmd.exe uses different semantics, so Bazel's quoting is wrong here. | ||||
|     # To fix that we write the command to a .bat file so no command line | ||||
|     # quoting or escaping is required. | ||||
|     bat = ctx.actions.declare_file(ctx.label.name + "-cmd.bat") | ||||
|     src_path = src.path.replace("/", "\\") | ||||
|     dst_path = dst.path.replace("/", "\\") | ||||
|     ctx.actions.write( | ||||
|         output = bat, | ||||
|         # Do not use lib/shell.bzl's shell.quote() method, because that uses | ||||
|         # Bash quoting syntax, which is different from cmd.exe's syntax. | ||||
|         content = "@copy /Y \"%s\" \"%s\" >NUL\n@copy /Y \"%s\" \"%s\" >NUL" % ( | ||||
|             src_path, | ||||
|             dst_path, | ||||
|             src_path.replace(".exe", ".pdb"), | ||||
|             dst_path.replace(".exe", ".pdb"), | ||||
|         ), | ||||
|         is_executable = True, | ||||
|     ) | ||||
|     return bat | ||||
|  | ||||
| def _add_mt_impl(ctx): | ||||
|     mt_files = ctx.files.mt_files | ||||
|     input = ctx.attr.in_binary[DebugPackageInfo].unstripped_file | ||||
|     output = ctx.outputs.out_binary | ||||
|     bat = _write_copy_cmd(ctx, input, output) | ||||
|  | ||||
|     inputs = mt_files + [input, bat] | ||||
|  | ||||
|     # Bring over 'data' dependencies from the input. | ||||
|     deps_inputs =  ctx.runfiles(files = inputs) | ||||
|     deps_inputs = deps_inputs.merge_all([ctx.attr.in_binary[DefaultInfo].default_runfiles]) | ||||
|  | ||||
|     ctx.actions.run( | ||||
|         executable = ctx.executable._tool, | ||||
|         inputs = deps_inputs.files, | ||||
|         outputs = [output], | ||||
|         env = collect_compilation_env(ctx), | ||||
|         # The bat file will be executed before the tool command. | ||||
|         arguments = [bat.path, "-nologo", "-manifest"] + [f.path for f in mt_files] + | ||||
|                     ["-outputresource:{}".format(output.path)], | ||||
|         mnemonic = "AddMT" | ||||
|     ) | ||||
|  | ||||
|     return DefaultInfo(files = depset([output])) | ||||
|  | ||||
| add_manifest = rule( | ||||
|     implementation = _add_mt_impl, | ||||
|     attrs = { | ||||
|         "mt_files": attr.label_list(allow_files = [".manifest"]), | ||||
|         "in_binary": attr.label(providers = [CcInfo], allow_single_file = True), | ||||
|         "out_binary": attr.output(), | ||||
|         "_cc_toolchain": attr.label(default = Label("@bazel_tools//tools/cpp:current_cc_toolchain")), | ||||
|         "_tool": attr.label( | ||||
|           default = "@winsdk//:mt_pybin", | ||||
|           executable = True, | ||||
|           cfg = "exec" | ||||
|         ) | ||||
|     }, | ||||
|     fragments = ["cpp"], | ||||
|     toolchains = use_cpp_toolchain(), | ||||
| ) | ||||
| @@ -1,50 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("//bazel/win:cc_env.bzl", "collect_compilation_env", "use_cpp_toolchain") | ||||
|  | ||||
| def _compile_rc_impl(ctx): | ||||
|     rc_file = ctx.file.rc_file | ||||
|     output = ctx.outputs.out | ||||
|  | ||||
|     inputs = [rc_file] + ctx.files.srcs | ||||
|     includes = ["/i{}/{}".format(ctx.label.package, i) for i in ctx.attr.includes] | ||||
|  | ||||
|     # Grab all include paths/files required for the run | ||||
|     for dep in ctx.attr.deps: | ||||
|       comp_ctx = dep[CcInfo].compilation_context | ||||
|  | ||||
|       includes += ["/i{}".format(i) for i in comp_ctx.quote_includes.to_list()] | ||||
|       includes += ["/i{}".format(i) for i in comp_ctx.system_includes.to_list()] | ||||
|       inputs += comp_ctx.headers.to_list() | ||||
|  | ||||
|     ctx.actions.run( | ||||
|         executable = ctx.executable._tool, | ||||
|         inputs = inputs, | ||||
|         outputs = [output], | ||||
|         env = collect_compilation_env(ctx), | ||||
|         arguments = includes + ["/fo", output.path, rc_file.path], | ||||
|         mnemonic = "CompileRC" | ||||
|     ) | ||||
|  | ||||
|     return DefaultInfo(files = depset([output])) | ||||
|  | ||||
| compile_rc = rule( | ||||
|     implementation = _compile_rc_impl, | ||||
|     attrs = { | ||||
|         "rc_file": attr.label(allow_single_file = [".rc"]), | ||||
|         "srcs": attr.label_list(allow_files = True), | ||||
|         "deps": attr.label_list(providers = [CcInfo]), | ||||
|         "includes": attr.string_list(), | ||||
|         "out": attr.output(), | ||||
|         "_cc_toolchain": attr.label(default = Label("@bazel_tools//tools/cpp:current_cc_toolchain")), | ||||
|         "_tool": attr.label( | ||||
|           default = "@winsdk//:rc_pybin", | ||||
|           executable = True, | ||||
|           cfg = "exec" | ||||
|         ) | ||||
|     }, | ||||
|     fragments = ["cpp"], | ||||
|     toolchains = use_cpp_toolchain(), | ||||
| ) | ||||
| @@ -1,124 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| load("@bazel_tools//tools/cpp:windows_cc_configure.bzl", "find_vc_path", "setup_vc_env_vars") | ||||
|  | ||||
| def _get_arch(rctx): | ||||
|     if rctx.os.arch == "amd64": | ||||
|         return "x64" | ||||
|  | ||||
| def _is_windows(rctx): | ||||
|     return rctx.os.name.find("windows") != -1 | ||||
|  | ||||
| # Tools in the form <Target>: [<Tool>, <Other files needed for that target>] | ||||
| TOOLS = { | ||||
|     "mt": { | ||||
|         "tool": "mt.exe", | ||||
|         "deps": [], | ||||
|     }, | ||||
|     "rc": { | ||||
|         "tool": "rc.exe", | ||||
|         "deps": ["rcdll.dll"], | ||||
|     }, | ||||
| } | ||||
|  | ||||
| def _setup_tools(rctx, sdk_bin_path, sdk_metadata_path): | ||||
|     contents = "" | ||||
|  | ||||
|     rctx.symlink(sdk_metadata_path, "VerUnionMetadata") | ||||
|     contents += """ | ||||
| exports_files(["VerUnionMetadata"]) | ||||
| """ | ||||
|  | ||||
|     for toolname, toolcfg in TOOLS.items(): | ||||
|         toolexec = toolcfg["tool"] | ||||
|         deps = toolcfg["deps"] | ||||
|         direct_deps = [toolexec] + deps | ||||
|         shared_deps = toolcfg.get("shared_deps", []) | ||||
|  | ||||
|         # Symlink any tools into the right places | ||||
|         for dep in direct_deps: | ||||
|             rctx.symlink( | ||||
|                 "{}/{}".format(sdk_bin_path, dep), | ||||
|                 dep, | ||||
|             ) | ||||
|  | ||||
|         # Setting up a filegroup for those dependents | ||||
|         contents += """ | ||||
| filegroup( | ||||
|   name = "{}_deps", | ||||
|   srcs = {}, | ||||
| ) | ||||
| """.format(toolname, direct_deps + shared_deps) | ||||
|  | ||||
|         # Now create a wrapper for this tool that simply calls it | ||||
|         rctx.template( | ||||
|             "{}_wrapper.py".format(toolname), | ||||
|             Label("//bazel/win:wrapper.py.tpl"), | ||||
|             substitutions = { | ||||
|                 "${binary}": toolexec, | ||||
|             }, | ||||
|             executable = True, | ||||
|         ) | ||||
|  | ||||
|         # And add that newly created wrapper to the BUILD.bazel file | ||||
|         contents += """ | ||||
| py_binary( | ||||
|     name = "{0}_pybin", | ||||
|     srcs = ["{0}_wrapper.py"], | ||||
|     main = "{0}_wrapper.py", | ||||
|     data = [ | ||||
|         "@rules_python//python/runfiles", | ||||
|         ":{0}_deps" | ||||
|     ], | ||||
|     python_version = "PY3", | ||||
| ) | ||||
| """.format(toolname) | ||||
|  | ||||
|     return contents | ||||
|  | ||||
| def _setup_vc_debug_runtime(rctx, sdk_bin_path): | ||||
|     ucrtbased_dll = "ucrtbased.dll" | ||||
|     rctx.symlink("{}/ucrt/{}".format(sdk_bin_path, ucrtbased_dll), ucrtbased_dll) | ||||
|  | ||||
|     contents = """ | ||||
| filegroup( | ||||
|     name = "vc_debug_runtime", | ||||
|     srcs = ["{}"], | ||||
| ) | ||||
| """.format(ucrtbased_dll) | ||||
|  | ||||
|     return contents | ||||
|  | ||||
| def _windows_sdk_impl(rctx): | ||||
|     # We only support Windows | ||||
|     if not _is_windows(rctx): | ||||
|         fail("This rule only supports Windows") | ||||
|  | ||||
|     # Figure out where the SDK is, which is based on a registry key. | ||||
|     vc_path = find_vc_path(rctx) | ||||
|     env = setup_vc_env_vars(rctx, vc_path, envvars = ["WINDOWSSDKVERBINPATH", "WindowsSdkDir", "WindowsSDKVersion"]) | ||||
|     sdk_bin_path = "{}{}".format(env["WINDOWSSDKVERBINPATH"], _get_arch(rctx)) | ||||
|     sdk_metadata_path = "{}UnionMetadata/{}".format(env["WindowsSdkDir"], env["WindowsSDKVersion"]) | ||||
|  | ||||
|     # Start with some pre-amble | ||||
|     contents = """# Autogenerated by //bazel/win:sdk.bzl | ||||
| load("@rules_python//python:defs.bzl", "py_binary") | ||||
|  | ||||
| package(default_visibility = ["//visibility:public"]) | ||||
| """ | ||||
|  | ||||
|     # Handle setting up tools from our list | ||||
|     contents += _setup_tools(rctx, sdk_bin_path, sdk_metadata_path) | ||||
|  | ||||
|     contents += _setup_vc_debug_runtime(rctx, sdk_bin_path) | ||||
|  | ||||
|     rctx.file("BUILD.bazel", contents) | ||||
|  | ||||
| setup_sdk = repository_rule( | ||||
|     attrs = {}, | ||||
|     local = True, | ||||
|     configure = True, | ||||
|     implementation = _windows_sdk_impl, | ||||
| ) | ||||
| @@ -1,192 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| # | ||||
| # Distribution DLLs. | ||||
| # | ||||
|  | ||||
| DLLS = [ | ||||
|     "chrome_elf.dll", | ||||
|     "d3dcompiler_47.dll", | ||||
|     "libcef.dll", | ||||
|     "libEGL.dll", | ||||
|     "libGLESv2.dll", | ||||
|     "vk_swiftshader.dll", | ||||
|     "vulkan-1.dll", | ||||
| ] | ||||
|  | ||||
| DLLS_X64 = [ | ||||
|     "dxil.dll", | ||||
|     "dxcompiler.dll", | ||||
| ] | ||||
|  | ||||
| # | ||||
| # Common 'linkopts' for cc_binary targets. | ||||
| # | ||||
|  | ||||
| # Windows delayload DLLs. | ||||
| # Delayload most libraries as the DLLs are simply not required at startup (or | ||||
| # at all, depending on the process type). Some dlls open handles when they are | ||||
| # loaded, and we may not want them to be loaded in renderers or other sandboxed | ||||
| # processes. Conversely, some DLLs must be loaded before sandbox lockdown. In | ||||
| # unsandboxed processes they will load when first needed. The linker will | ||||
| # automatically ignore anything which is not linked to the binary at all (it is | ||||
| # harmless to have an unmatched /delayload). Lists should be kept in sync with | ||||
| # targets from Chromium's //build/config/win/BUILD.gn file. | ||||
| DELAYLOAD_DLLS = [ | ||||
|     # Required to support CefScopedLibraryLoader. | ||||
|     "libcef.dll" | ||||
|  | ||||
|     # "delayloads" target. | ||||
|     "api-ms-win-core-winrt-error-l1-1-0.dll", | ||||
|     "api-ms-win-core-winrt-l1-1-0.dll", | ||||
|     "api-ms-win-core-winrt-string-l1-1-0.dll", | ||||
|     "advapi32.dll", | ||||
|     "comctl32.dll", | ||||
|     "comdlg32.dll", | ||||
|     "credui.dll", | ||||
|     "cryptui.dll", | ||||
|     "d3d11.dll", | ||||
|     "d3d9.dll", | ||||
|     "dwmapi.dll", | ||||
|     "dxgi.dll", | ||||
|     "dxva2.dll", | ||||
|     "esent.dll", | ||||
|     "gdi32.dll", | ||||
|     "hid.dll", | ||||
|     "imagehlp.dll", | ||||
|     "imm32.dll", | ||||
|     "msi.dll", | ||||
|     "netapi32.dll", | ||||
|     "ncrypt.dll", | ||||
|     "ole32.dll", | ||||
|     "oleacc.dll", | ||||
|     "propsys.dll", | ||||
|     "psapi.dll", | ||||
|     "rpcrt4.dll", | ||||
|     "rstrtmgr.dll", | ||||
|     "setupapi.dll", | ||||
|     "shell32.dll", | ||||
|     "shlwapi.dll", | ||||
|     "uiautomationcore.dll", | ||||
|     "urlmon.dll", | ||||
|     "user32.dll", | ||||
|     "usp10.dll", | ||||
|     "uxtheme.dll", | ||||
|     "wer.dll", | ||||
|     "wevtapi.dll", | ||||
|     "wininet.dll", | ||||
|     "winusb.dll", | ||||
|     "wsock32.dll", | ||||
|     "wtsapi32.dll", | ||||
|  | ||||
|     # "delayloads_not_for_child_dll" target. | ||||
|     "crypt32.dll", | ||||
|     "dbghelp.dll", | ||||
|     "dhcpcsvc.dll", | ||||
|     "dwrite.dll", | ||||
|     "iphlpapi.dll", | ||||
|     "oleaut32.dll", | ||||
|     "secur32.dll", | ||||
|     "userenv.dll", | ||||
|     "winhttp.dll", | ||||
|     "winmm.dll", | ||||
|     "winspool.drv", | ||||
|     "wintrust.dll", | ||||
|     "ws2_32.dll", | ||||
| ] | ||||
|  | ||||
| # Standard link libraries. | ||||
| STANDARD_LIBS = [ | ||||
|     "comctl32.lib", | ||||
|     "crypt32.lib", | ||||
|     "delayimp.lib", | ||||
|     "gdi32.lib", | ||||
|     "rpcrt4.lib", | ||||
|     "shlwapi.lib", | ||||
|     "user32.lib", | ||||
|     "wintrust.lib", | ||||
|     "ws2_32.lib", | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS_RELEASE = [ | ||||
| ] | ||||
|  | ||||
| COMMON_LINKOPTS = [ | ||||
|     # No default manifest (see compile_rc target). | ||||
|     "/MANIFEST:NO", | ||||
|     # Allow 32-bit processes to access 3GB of RAM. | ||||
|     "/LARGEADDRESSAWARE", | ||||
|     # Generate Debug information. | ||||
|     # TODO: Remove after fixing opt builds to work without it. | ||||
|     "/DEBUG", | ||||
| ] + [ | ||||
|     "/DELAYLOAD:{}".format(dll) for dll in DELAYLOAD_DLLS | ||||
| ] + [ | ||||
|     "/DEFAULTLIB:{}".format(lib) for lib in STANDARD_LIBS | ||||
| ] + select({ | ||||
|     # Set the initial stack size to 0.5MiB, instead of the 1.5MiB minimum | ||||
|     # needed by CEF's main thread. This saves significant memory on threads | ||||
|     # (like those in the Windows thread pool, and others) whose stack size we | ||||
|     # can only control through this setting. The main thread (in 32-bit builds | ||||
|     # only) uses fibers to switch to a 4MiB stack at runtime via | ||||
|     # CefRunWinMainWithPreferredStackSize(). | ||||
|     "@cef//:windows_32": ["/STACK:0x80000"], | ||||
|     # Increase the initial stack size to 8MiB from the default 1MiB. | ||||
|     "//conditions:default": ["/STACK:0x800000"], | ||||
| }) + select({ | ||||
|     "@cef//:windows_dbg": COMMON_LINKOPTS_DEBUG, | ||||
|     "//conditions:default": COMMON_LINKOPTS_RELEASE, | ||||
| }) | ||||
|  | ||||
| # | ||||
| # Common 'copts' for cc_libary and cc_binary targets. | ||||
| # | ||||
|  | ||||
| COMMON_COPTS = [ | ||||
| ] | ||||
|  | ||||
| COMMON_COPTS_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_COPTS_RELEASE = [ | ||||
| ] | ||||
|  | ||||
| # | ||||
| # Common 'defines' for cc_libary targets. | ||||
| # | ||||
|  | ||||
| COMMON_DEFINES = [ | ||||
|     # Windows platform | ||||
|     "WIN32", | ||||
|     "_WIN32", | ||||
|     "_WINDOWS", | ||||
|     # Unicode build            | ||||
|     "UNICODE", | ||||
|     "_UNICODE", | ||||
|     # Targeting Windows 10. We can't say `=_WIN32_WINNT_WIN10` here because | ||||
|     # some files do `#if WINVER < 0x0600` without including windows.h before, | ||||
|     # and then _WIN32_WINNT_WIN10 isn't yet known to be 0x0A00. | ||||
|     "WINVER=0x0A00", | ||||
|     "_WIN32_WINNT=0x0A00", | ||||
|     "NTDDI_VERSION=NTDDI_WIN10_FE", | ||||
|     # Use the standard's templated min/max | ||||
|     "NOMINMAX", | ||||
|     # Exclude less common API declarations | ||||
|     "WIN32_LEAN_AND_MEAN", | ||||
|     # Disable exceptions | ||||
|     "_HAS_EXCEPTIONS=0", | ||||
| ] | ||||
|  | ||||
| COMMON_DEFINES_DEBUG = [ | ||||
| ] | ||||
|  | ||||
| COMMON_DEFINES_RELEASE = [ | ||||
|     # Not a debug build | ||||
|     "NDEBUG", | ||||
|     "_NDEBUG", | ||||
| ] | ||||
| @@ -1,69 +0,0 @@ | ||||
| # Copyright (c) 2024 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. | ||||
|  | ||||
| import os | ||||
| import subprocess | ||||
| import sys | ||||
| from rules_python.python.runfiles import runfiles | ||||
|  | ||||
| REPLACEMENTS = { | ||||
|   "XXX_GETCWD_XXX": os.getcwd(), | ||||
| } | ||||
|  | ||||
| def replace_in_str(input): | ||||
|   output = input | ||||
|   for placeholder, replacement in REPLACEMENTS.items(): | ||||
|     if placeholder in output: | ||||
|       output = output.replace(placeholder, replacement) | ||||
|   return output | ||||
|  | ||||
| def print_error(str): | ||||
|   print(str, file=sys.stderr) | ||||
|  | ||||
| r = runfiles.Create() | ||||
| wrapped_binary = r.Rlocation("winsdk/${binary}") | ||||
| args = list(map(replace_in_str, sys.argv[1:])) | ||||
|  | ||||
| # Optionally execute a script before tool execution. | ||||
| if args[0].endswith('.bat') or args[0].endswith('.cmd'): | ||||
|   if sys.platform != 'win32': | ||||
|     raise RuntimeError("Error running bat file; unsupported platform") | ||||
|  | ||||
|   # Execute the .bat file first. | ||||
|   bat_file = args[0].replace('/', '\\') | ||||
|   p = subprocess.run( | ||||
|       bat_file, shell=True, | ||||
|       stdout = subprocess.PIPE, | ||||
|       stderr = subprocess.STDOUT, | ||||
|       text=True) | ||||
|   if p.returncode != 0: | ||||
|     print_error("[Generated python wrapper] Error running bat file:") | ||||
|     print_error(f"CWD: {os.getcwd()}") | ||||
|     print_error(f"EXEC: {bat_file}") | ||||
|     print_error(f"Exec output:") | ||||
|     print_error(p.stdout) | ||||
|     raise RuntimeError(f"Error running bat file; {bat_file}") | ||||
|  | ||||
|   args = args[1:] | ||||
|  | ||||
| try: | ||||
|   p = subprocess.run( | ||||
|       [wrapped_binary] + args, | ||||
|       stdout = subprocess.PIPE, | ||||
|       stderr = subprocess.STDOUT, | ||||
|       text=True) | ||||
|   if p.returncode != 0: | ||||
|     print_error("[Generated python wrapper] Error running command:") | ||||
|     print_error(f"CWD: {os.getcwd()}") | ||||
|     print_error(f"EXEC: {wrapped_binary}") | ||||
|     print_error(f"ARGS: {args}") | ||||
|     print_error(f"Exec output:") | ||||
|     print_error(p.stdout) | ||||
|     raise RuntimeError(f"Error running wrapped command; {wrapped_binary}") | ||||
| except OSError as e: | ||||
|   print_error("[Generated python wrapper] Error running command:") | ||||
|   print_error(f"CWD: {os.getcwd()}") | ||||
|   print_error(f"EXEC: {wrapped_binary}") | ||||
|   print_error(f"ARGS: {args}") | ||||
|   raise | ||||
| @@ -1,78 +0,0 @@ | ||||
| { | ||||
|   "hashes": { | ||||
|     "13300": { | ||||
|       "comment": "Added February 21, 2025.", | ||||
|       "linux": "2508f3f0b0e5dfa191036fa6c04f8dcfa18c94b9", | ||||
|       "mac": "80c0b59ba9dd783aa71fae0aa5f7dad64620e8c9", | ||||
|       "windows": "45d39c3669ba75467e3e609f626c31506c0eae22" | ||||
|     }, | ||||
|     "13301": { | ||||
|       "comment": "Added February 21, 2025.", | ||||
|       "linux": "aa073dd1c586812503ca293c718358460d8c2dd6", | ||||
|       "mac": "fda40a5df44628cac50a589ff979c0746011591e", | ||||
|       "windows": "7109702038d51512d35dd2ed77231f9100e38214" | ||||
|     }, | ||||
|     "13302": { | ||||
|       "comment": "Added February 21, 2025.", | ||||
|       "linux": "d5597ebfa30081953425e897209a8387b9584205", | ||||
|       "mac": "4aa24470ba3a4bd9c06bc0e4a201b896394a86b5", | ||||
|       "windows": "18799961f4461a9cbae2aed89ac04b73ab7c37f3" | ||||
|     }, | ||||
|     "13303": { | ||||
|       "comment": "Added February 21, 2025.", | ||||
|       "linux": "f3a696ee30ce1e00490a58df017393c126c89709", | ||||
|       "mac": "f2cdce2b9a4b635c28b5b92c42c35625a937380c", | ||||
|       "windows": "20016fd6a9b87ef4c539cd1f42bf1ca09b6903ca" | ||||
|     }, | ||||
|     "13304": { | ||||
|       "comment": "Added February 21, 2025.", | ||||
|       "linux": "f1ababb4ff51ecbf77c481cee3721ef0eca9c8ca", | ||||
|       "mac": "98964c37b8917d83da4b173e22905503d38ad08f", | ||||
|       "windows": "19c014af0082aa901398e006381b6980e4f806e9" | ||||
|     }, | ||||
|     "13400": { | ||||
|       "comment": "Added February 21, 2025.", | ||||
|       "linux": "ea2106b5bc012c25d735521e0c7fb719d433ea4a", | ||||
|       "mac": "ba5ab71db4f9447f19eb7b1943024981c88064dd", | ||||
|       "windows": "6ab74b90e88b7397aab9911baac5484f12466eef" | ||||
|     }, | ||||
|     "13401": { | ||||
|       "comment": "Added March 10, 2025.", | ||||
|       "linux": "b14bee2c0fd250da67faea421f620b58e5dea9a2", | ||||
|       "mac": "b54732b528bc2669481ec0cf17c7b97b033720b9", | ||||
|       "windows": "751255204f006b8b883a8baf552a2da792f8aa44" | ||||
|     }, | ||||
|     "13500": { | ||||
|       "comment": "Added March 12, 2025.", | ||||
|       "linux": "5b7c2284ed2542cf6212981d62ca9122fb2a4e88", | ||||
|       "mac": "9862177631e8059a497d6086058168dd47477ab7", | ||||
|       "windows": "3e78b6fe5fd31d69049499450849ada17a720a53" | ||||
|     }, | ||||
|     "13600": { | ||||
|       "comment": "Added April 07, 2025.", | ||||
|       "linux": "eb353ba7b8b9bcbef890217971cd8ec41efeaa75", | ||||
|       "mac": "22c77d1f2305de8a6147f14e52f074b4a4e5222c", | ||||
|       "windows": "a8832519b4eb058567d68b65be1e1c9e80aae566" | ||||
|     }, | ||||
|     "13601": { | ||||
|       "comment": "Added April 22, 2025.", | ||||
|       "linux": "40b224f295a20694241c5db49721bc90a3796f30", | ||||
|       "mac": "ff885fe921f9eae1a5ce6a71b30b0c37b306bf56", | ||||
|       "windows": "116a4153047ee1ee67f17fc938f084ee72b24e54" | ||||
|     }, | ||||
|     "13700": { | ||||
|       "comment": "Added May 07, 2025.", | ||||
|       "linux": "e5ac12b1bd88b9ece6ceaa57848aaba61ab85242", | ||||
|       "mac": "9e84009c92c25aa80935727b5e4526b23439a575", | ||||
|       "windows": "65c7157dd3e8eba9bcc38db2bd7f26508c717f3e" | ||||
|     }, | ||||
|     "13800": { | ||||
|       "comment": "Added June 02, 2025.", | ||||
|       "linux": "72c83a1455706c0f964505a6edcbf00c4a00575d", | ||||
|       "mac": "09110c1f3bbe0e8a8c26ddf6df3388d73a6593d1", | ||||
|       "windows": "1cde3ec27f93747ba42c0f2aa00467a5a16adfd4" | ||||
|     } | ||||
|   }, | ||||
|   "last": "13800", | ||||
|   "min": "13300" | ||||
| } | ||||
							
								
								
									
										887
									
								
								cef_paths.gypi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										887
									
								
								cef_paths.gypi
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,887 @@ | ||||
| # Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights | ||||
| # reserved. Use of this source code is governed by a BSD-style license that | ||||
| # can be found in the LICENSE file. | ||||
| # | ||||
| # --------------------------------------------------------------------------- | ||||
| # | ||||
| # This file was generated by the CEF translator tool and should not edited | ||||
| # by hand. See the translator.README.txt file in the tools directory for | ||||
| # more information. | ||||
| # | ||||
| # $hash=3b28f3236c16d2b776a44674ae3bae0a070e9f27$ | ||||
| # | ||||
|  | ||||
| { | ||||
|   'variables': { | ||||
|     'autogen_cpp_includes': [ | ||||
|       'include/cef_accessibility_handler.h', | ||||
|       'include/cef_app.h', | ||||
|       'include/cef_audio_handler.h', | ||||
|       'include/cef_auth_callback.h', | ||||
|       'include/cef_browser.h', | ||||
|       'include/cef_browser_process_handler.h', | ||||
|       'include/cef_callback.h', | ||||
|       'include/cef_client.h', | ||||
|       'include/cef_command_handler.h', | ||||
|       'include/cef_command_line.h', | ||||
|       'include/cef_context_menu_handler.h', | ||||
|       'include/cef_cookie.h', | ||||
|       'include/cef_crash_util.h', | ||||
|       'include/cef_devtools_message_observer.h', | ||||
|       'include/cef_dialog_handler.h', | ||||
|       'include/cef_display_handler.h', | ||||
|       'include/cef_dom.h', | ||||
|       'include/cef_download_handler.h', | ||||
|       'include/cef_download_item.h', | ||||
|       'include/cef_drag_data.h', | ||||
|       'include/cef_drag_handler.h', | ||||
|       'include/cef_extension.h', | ||||
|       'include/cef_extension_handler.h', | ||||
|       'include/cef_file_util.h', | ||||
|       'include/cef_find_handler.h', | ||||
|       'include/cef_focus_handler.h', | ||||
|       'include/cef_frame.h', | ||||
|       'include/cef_frame_handler.h', | ||||
|       'include/cef_i18n_util.h', | ||||
|       'include/cef_image.h', | ||||
|       'include/cef_jsdialog_handler.h', | ||||
|       'include/cef_keyboard_handler.h', | ||||
|       'include/cef_life_span_handler.h', | ||||
|       'include/cef_load_handler.h', | ||||
|       'include/cef_media_router.h', | ||||
|       'include/cef_menu_model.h', | ||||
|       'include/cef_menu_model_delegate.h', | ||||
|       'include/cef_navigation_entry.h', | ||||
|       'include/cef_origin_whitelist.h', | ||||
|       'include/cef_parser.h', | ||||
|       'include/cef_path_util.h', | ||||
|       'include/cef_permission_handler.h', | ||||
|       'include/cef_preference.h', | ||||
|       'include/cef_print_handler.h', | ||||
|       'include/cef_print_settings.h', | ||||
|       'include/cef_process_message.h', | ||||
|       'include/cef_process_util.h', | ||||
|       'include/cef_registration.h', | ||||
|       'include/cef_render_handler.h', | ||||
|       'include/cef_render_process_handler.h', | ||||
|       'include/cef_request.h', | ||||
|       'include/cef_request_context.h', | ||||
|       'include/cef_request_context_handler.h', | ||||
|       'include/cef_request_handler.h', | ||||
|       'include/cef_resource_bundle.h', | ||||
|       'include/cef_resource_bundle_handler.h', | ||||
|       'include/cef_resource_handler.h', | ||||
|       'include/cef_resource_request_handler.h', | ||||
|       'include/cef_response.h', | ||||
|       'include/cef_response_filter.h', | ||||
|       'include/cef_scheme.h', | ||||
|       'include/cef_server.h', | ||||
|       'include/cef_shared_memory_region.h', | ||||
|       'include/cef_shared_process_message_builder.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_unresponsive_process_callback.h', | ||||
|       'include/cef_urlrequest.h', | ||||
|       'include/cef_v8.h', | ||||
|       'include/cef_values.h', | ||||
|       'include/cef_waitable_event.h', | ||||
|       'include/cef_x509_certificate.h', | ||||
|       'include/cef_xml_reader.h', | ||||
|       'include/cef_zip_reader.h', | ||||
|       'include/test/cef_test_helpers.h', | ||||
|       'include/test/cef_test_server.h', | ||||
|       'include/test/cef_translator_test.h', | ||||
|       'include/views/cef_box_layout.h', | ||||
|       'include/views/cef_browser_view.h', | ||||
|       'include/views/cef_browser_view_delegate.h', | ||||
|       'include/views/cef_button.h', | ||||
|       'include/views/cef_button_delegate.h', | ||||
|       'include/views/cef_display.h', | ||||
|       'include/views/cef_fill_layout.h', | ||||
|       'include/views/cef_label_button.h', | ||||
|       'include/views/cef_layout.h', | ||||
|       'include/views/cef_menu_button.h', | ||||
|       'include/views/cef_menu_button_delegate.h', | ||||
|       'include/views/cef_overlay_controller.h', | ||||
|       'include/views/cef_panel.h', | ||||
|       'include/views/cef_panel_delegate.h', | ||||
|       'include/views/cef_scroll_view.h', | ||||
|       'include/views/cef_textfield.h', | ||||
|       'include/views/cef_textfield_delegate.h', | ||||
|       'include/views/cef_view.h', | ||||
|       'include/views/cef_view_delegate.h', | ||||
|       'include/views/cef_window.h', | ||||
|       'include/views/cef_window_delegate.h', | ||||
|     ], | ||||
|     'autogen_capi_includes': [ | ||||
|       'include/capi/cef_accessibility_handler_capi.h', | ||||
|       'include/capi/cef_app_capi.h', | ||||
|       'include/capi/cef_audio_handler_capi.h', | ||||
|       'include/capi/cef_auth_callback_capi.h', | ||||
|       'include/capi/cef_browser_capi.h', | ||||
|       'include/capi/cef_browser_process_handler_capi.h', | ||||
|       'include/capi/cef_callback_capi.h', | ||||
|       'include/capi/cef_client_capi.h', | ||||
|       'include/capi/cef_command_handler_capi.h', | ||||
|       '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_devtools_message_observer_capi.h', | ||||
|       'include/capi/cef_dialog_handler_capi.h', | ||||
|       'include/capi/cef_display_handler_capi.h', | ||||
|       'include/capi/cef_dom_capi.h', | ||||
|       'include/capi/cef_download_handler_capi.h', | ||||
|       'include/capi/cef_download_item_capi.h', | ||||
|       'include/capi/cef_drag_data_capi.h', | ||||
|       'include/capi/cef_drag_handler_capi.h', | ||||
|       'include/capi/cef_extension_capi.h', | ||||
|       'include/capi/cef_extension_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', | ||||
|       'include/capi/cef_frame_handler_capi.h', | ||||
|       'include/capi/cef_i18n_util_capi.h', | ||||
|       'include/capi/cef_image_capi.h', | ||||
|       'include/capi/cef_jsdialog_handler_capi.h', | ||||
|       'include/capi/cef_keyboard_handler_capi.h', | ||||
|       'include/capi/cef_life_span_handler_capi.h', | ||||
|       'include/capi/cef_load_handler_capi.h', | ||||
|       'include/capi/cef_media_router_capi.h', | ||||
|       'include/capi/cef_menu_model_capi.h', | ||||
|       'include/capi/cef_menu_model_delegate_capi.h', | ||||
|       'include/capi/cef_navigation_entry_capi.h', | ||||
|       'include/capi/cef_origin_whitelist_capi.h', | ||||
|       'include/capi/cef_parser_capi.h', | ||||
|       'include/capi/cef_path_util_capi.h', | ||||
|       'include/capi/cef_permission_handler_capi.h', | ||||
|       'include/capi/cef_preference_capi.h', | ||||
|       'include/capi/cef_print_handler_capi.h', | ||||
|       'include/capi/cef_print_settings_capi.h', | ||||
|       'include/capi/cef_process_message_capi.h', | ||||
|       'include/capi/cef_process_util_capi.h', | ||||
|       'include/capi/cef_registration_capi.h', | ||||
|       'include/capi/cef_render_handler_capi.h', | ||||
|       'include/capi/cef_render_process_handler_capi.h', | ||||
|       'include/capi/cef_request_capi.h', | ||||
|       'include/capi/cef_request_context_capi.h', | ||||
|       'include/capi/cef_request_context_handler_capi.h', | ||||
|       'include/capi/cef_request_handler_capi.h', | ||||
|       'include/capi/cef_resource_bundle_capi.h', | ||||
|       'include/capi/cef_resource_bundle_handler_capi.h', | ||||
|       'include/capi/cef_resource_handler_capi.h', | ||||
|       'include/capi/cef_resource_request_handler_capi.h', | ||||
|       'include/capi/cef_response_capi.h', | ||||
|       'include/capi/cef_response_filter_capi.h', | ||||
|       'include/capi/cef_scheme_capi.h', | ||||
|       'include/capi/cef_server_capi.h', | ||||
|       'include/capi/cef_shared_memory_region_capi.h', | ||||
|       'include/capi/cef_shared_process_message_builder_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_unresponsive_process_callback_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_x509_certificate_capi.h', | ||||
|       'include/capi/cef_xml_reader_capi.h', | ||||
|       'include/capi/cef_zip_reader_capi.h', | ||||
|       'include/capi/test/cef_test_helpers_capi.h', | ||||
|       'include/capi/test/cef_test_server_capi.h', | ||||
|       'include/capi/test/cef_translator_test_capi.h', | ||||
|       'include/capi/views/cef_box_layout_capi.h', | ||||
|       'include/capi/views/cef_browser_view_capi.h', | ||||
|       'include/capi/views/cef_browser_view_delegate_capi.h', | ||||
|       'include/capi/views/cef_button_capi.h', | ||||
|       'include/capi/views/cef_button_delegate_capi.h', | ||||
|       'include/capi/views/cef_display_capi.h', | ||||
|       'include/capi/views/cef_fill_layout_capi.h', | ||||
|       'include/capi/views/cef_label_button_capi.h', | ||||
|       'include/capi/views/cef_layout_capi.h', | ||||
|       'include/capi/views/cef_menu_button_capi.h', | ||||
|       'include/capi/views/cef_menu_button_delegate_capi.h', | ||||
|       'include/capi/views/cef_overlay_controller_capi.h', | ||||
|       'include/capi/views/cef_panel_capi.h', | ||||
|       'include/capi/views/cef_panel_delegate_capi.h', | ||||
|       'include/capi/views/cef_scroll_view_capi.h', | ||||
|       'include/capi/views/cef_textfield_capi.h', | ||||
|       'include/capi/views/cef_textfield_delegate_capi.h', | ||||
|       'include/capi/views/cef_view_capi.h', | ||||
|       'include/capi/views/cef_view_delegate_capi.h', | ||||
|       'include/capi/views/cef_window_capi.h', | ||||
|       'include/capi/views/cef_window_delegate_capi.h', | ||||
|     ], | ||||
|     'autogen_library_side': [ | ||||
|       'libcef_dll/ctocpp/accessibility_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/accessibility_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/app_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/app_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/audio_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/audio_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/auth_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/auth_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/before_download_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/before_download_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/binary_value_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/binary_value_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/box_layout_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/box_layout_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/browser_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/browser_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/browser_host_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/browser_host_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/browser_process_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/browser_process_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/browser_view_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/browser_view_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/browser_view_delegate_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/browser_view_delegate_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/button_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/button_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/button_delegate_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/button_delegate_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/client_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/client_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/command_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/command_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/command_line_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/command_line_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/completion_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/completion_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/context_menu_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/context_menu_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/context_menu_params_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/context_menu_params_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/cookie_access_filter_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/cookie_access_filter_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/cookie_manager_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/cookie_manager_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/cookie_visitor_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/cookie_visitor_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/domdocument_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/domdocument_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/domnode_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/domnode_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/domvisitor_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/domvisitor_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/delete_cookies_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/delete_cookies_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/dev_tools_message_observer_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/dev_tools_message_observer_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/dialog_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/dialog_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/dictionary_value_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/dictionary_value_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/display_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/display_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/display_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/display_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/download_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/download_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/download_image_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/download_image_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/download_item_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/download_item_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/download_item_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/download_item_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/drag_data_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/drag_data_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/drag_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/drag_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/end_tracing_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/end_tracing_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/extension_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/extension_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/extension_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/extension_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/file_dialog_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/file_dialog_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/fill_layout_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/fill_layout_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/find_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/find_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/focus_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/focus_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/frame_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/frame_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/frame_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/frame_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/image_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/image_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/jsdialog_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/jsdialog_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/jsdialog_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/jsdialog_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/keyboard_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/keyboard_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/label_button_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/label_button_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/layout_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/layout_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/life_span_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/life_span_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/list_value_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/list_value_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/load_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/load_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_access_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_access_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_observer_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_observer_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_route_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_route_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_route_create_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_route_create_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_router_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_router_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/media_sink_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_sink_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_sink_device_info_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_sink_device_info_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_source_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_source_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/menu_button_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/menu_button_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/menu_button_pressed_lock_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/menu_button_pressed_lock_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/menu_model_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/menu_model_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/menu_model_delegate_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/menu_model_delegate_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/navigation_entry_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/navigation_entry_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/navigation_entry_visitor_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/navigation_entry_visitor_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/overlay_controller_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/overlay_controller_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/panel_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/panel_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/panel_delegate_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/panel_delegate_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/pdf_print_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/pdf_print_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/permission_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/permission_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/permission_prompt_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/permission_prompt_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/post_data_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/post_data_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/post_data_element_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/post_data_element_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/preference_manager_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/preference_manager_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/preference_registrar_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/preference_registrar_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/print_dialog_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/print_dialog_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/print_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/print_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/print_job_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/print_job_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/print_settings_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/print_settings_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/process_message_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/process_message_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/read_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/read_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/registration_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/registration_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/render_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/render_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/render_process_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/render_process_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/request_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/request_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/request_context_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/request_context_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/request_context_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/request_context_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/request_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/request_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/resolve_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resolve_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/resource_bundle_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resource_bundle_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/resource_bundle_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resource_bundle_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/resource_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resource_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/resource_read_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resource_read_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/resource_request_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resource_request_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/resource_skip_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resource_skip_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/response_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/response_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/response_filter_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/response_filter_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/run_context_menu_callback_cpptoc.cc', | ||||
|       '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/run_quick_menu_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/run_quick_menu_callback_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/cpptoc/server_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/server_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/server_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/server_handler_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/set_cookie_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/set_cookie_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/shared_memory_region_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/shared_memory_region_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/shared_process_message_builder_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/shared_process_message_builder_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/stream_reader_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/stream_reader_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/stream_writer_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/stream_writer_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/string_visitor_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/string_visitor_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/task_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/task_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/task_runner_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/task_runner_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/test/test_server_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/test/test_server_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/test/test_server_connection_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/test/test_server_connection_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/test/test_server_handler_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/test/test_server_handler_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/textfield_cpptoc.cc', | ||||
|       '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_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', | ||||
|       'libcef_dll/ctocpp/urlrequest_client_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/unresponsive_process_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/unresponsive_process_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/v8accessor_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/v8accessor_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/v8array_buffer_release_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/v8array_buffer_release_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/v8context_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/v8context_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/v8exception_cpptoc.cc', | ||||
|       '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', | ||||
|       'libcef_dll/cpptoc/v8stack_trace_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/v8value_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/v8value_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/value_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/value_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/views/view_cpptoc.cc', | ||||
|       '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/views/window_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/window_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/window_delegate_ctocpp.cc', | ||||
|       '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', | ||||
|       'libcef_dll/cpptoc/zip_reader_cpptoc.h', | ||||
|     ], | ||||
|     'autogen_client_side': [ | ||||
|       'libcef_dll/cpptoc/accessibility_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/accessibility_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/app_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/app_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/audio_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/audio_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/auth_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/auth_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/before_download_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/before_download_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/binary_value_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/binary_value_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/box_layout_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/box_layout_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/browser_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/browser_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/browser_host_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/browser_host_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/browser_process_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/browser_process_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/browser_view_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/browser_view_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/browser_view_delegate_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/browser_view_delegate_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/button_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/button_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/button_delegate_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/button_delegate_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/client_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/client_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/command_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/command_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/command_line_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/command_line_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/completion_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/completion_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/context_menu_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/context_menu_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/context_menu_params_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/context_menu_params_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/cookie_access_filter_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/cookie_access_filter_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/cookie_manager_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/cookie_manager_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/cookie_visitor_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/cookie_visitor_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/domdocument_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/domdocument_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/domnode_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/domnode_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/domvisitor_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/domvisitor_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/delete_cookies_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/delete_cookies_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/dev_tools_message_observer_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/dev_tools_message_observer_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/dialog_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/dialog_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/dictionary_value_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/dictionary_value_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/display_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/display_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/display_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/display_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/download_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/download_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/download_image_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/download_image_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/download_item_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/download_item_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/download_item_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/download_item_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/drag_data_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/drag_data_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/drag_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/drag_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/end_tracing_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/end_tracing_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/extension_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/extension_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/extension_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/extension_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/file_dialog_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/file_dialog_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/fill_layout_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/fill_layout_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/find_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/find_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/focus_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/focus_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/frame_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/frame_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/frame_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/frame_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/image_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/image_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/jsdialog_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/jsdialog_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/jsdialog_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/jsdialog_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/keyboard_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/keyboard_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/label_button_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/label_button_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/layout_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/layout_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/life_span_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/life_span_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/list_value_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/list_value_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/load_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/load_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_access_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_access_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_observer_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_observer_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_route_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_route_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_route_create_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_route_create_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_router_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_router_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/media_sink_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_sink_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/media_sink_device_info_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/media_sink_device_info_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/media_source_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/media_source_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/menu_button_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/menu_button_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/menu_model_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/menu_model_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/menu_model_delegate_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/menu_model_delegate_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/navigation_entry_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/navigation_entry_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/navigation_entry_visitor_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/navigation_entry_visitor_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/overlay_controller_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/overlay_controller_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/panel_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/panel_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/panel_delegate_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/views/panel_delegate_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/pdf_print_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/pdf_print_callback_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/permission_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/permission_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/permission_prompt_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/permission_prompt_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/post_data_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/post_data_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/post_data_element_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/post_data_element_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/preference_manager_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/preference_manager_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/preference_registrar_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/preference_registrar_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/print_dialog_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/print_dialog_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/print_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/print_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/print_job_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/print_job_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/print_settings_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/print_settings_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/process_message_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/process_message_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/read_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/read_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/registration_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/registration_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/render_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/render_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/render_process_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/render_process_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/request_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/request_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/request_context_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/request_context_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/request_context_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/request_context_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/request_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/request_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/resolve_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resolve_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/resource_bundle_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resource_bundle_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/resource_bundle_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resource_bundle_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/resource_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resource_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/resource_read_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resource_read_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/resource_request_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/resource_request_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/resource_skip_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/resource_skip_callback_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/response_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/response_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/response_filter_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/response_filter_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/run_context_menu_callback_ctocpp.cc', | ||||
|       '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/run_quick_menu_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/run_quick_menu_callback_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/ctocpp/server_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/server_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/server_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/server_handler_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/set_cookie_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/set_cookie_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/shared_memory_region_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/shared_memory_region_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/shared_process_message_builder_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/shared_process_message_builder_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/stream_reader_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/stream_reader_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/stream_writer_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/stream_writer_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/string_visitor_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/string_visitor_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/task_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/task_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/task_runner_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/task_runner_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/test/test_server_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/test/test_server_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/test/test_server_connection_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/test/test_server_connection_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/test/test_server_handler_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/test/test_server_handler_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/views/textfield_ctocpp.cc', | ||||
|       '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_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', | ||||
|       'libcef_dll/cpptoc/urlrequest_client_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/unresponsive_process_callback_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/unresponsive_process_callback_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/v8accessor_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/v8accessor_cpptoc.h', | ||||
|       'libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.cc', | ||||
|       'libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.h', | ||||
|       'libcef_dll/ctocpp/v8context_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/v8context_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/v8exception_ctocpp.cc', | ||||
|       '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', | ||||
|       'libcef_dll/ctocpp/v8stack_trace_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/v8value_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/v8value_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/value_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/value_ctocpp.h', | ||||
|       'libcef_dll/ctocpp/views/view_ctocpp.cc', | ||||
|       '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/views/window_ctocpp.cc', | ||||
|       'libcef_dll/ctocpp/views/window_ctocpp.h', | ||||
|       'libcef_dll/cpptoc/views/window_delegate_cpptoc.cc', | ||||
|       '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', | ||||
|       'libcef_dll/ctocpp/zip_reader_ctocpp.h', | ||||
|     ], | ||||
|   }, | ||||
| } | ||||
| @@ -16,8 +16,6 @@ | ||||
|       'include/base/cef_callback_list.h', | ||||
|       'include/base/cef_cancelable_callback.h', | ||||
|       'include/base/cef_compiler_specific.h', | ||||
|       'include/base/cef_dump_without_crashing.h', | ||||
|       'include/base/cef_immediate_crash.h', | ||||
|       'include/base/cef_lock.h', | ||||
|       'include/base/cef_logging.h', | ||||
|       'include/base/cef_macros.h', | ||||
| @@ -37,6 +35,7 @@ | ||||
|       'include/base/internal/cef_thread_checker_impl.h', | ||||
|       'include/cef_api_hash.h', | ||||
|       'include/cef_base.h', | ||||
|       'include/cef_version.h', | ||||
|       'include/internal/cef_export.h', | ||||
|       'include/internal/cef_ptr.h', | ||||
|       'include/internal/cef_string_wrappers.h', | ||||
| @@ -44,9 +43,6 @@ | ||||
|       'include/internal/cef_types_wrappers.h', | ||||
|     ], | ||||
|     'includes_common_capi': [ | ||||
|       'include/cef_id_mappers.h', | ||||
|       'include/cef_version_info.h', | ||||
|       'include/internal/cef_dump_without_crashing_internal.h', | ||||
|       'include/internal/cef_logging_internal.h', | ||||
|       'include/internal/cef_string.h', | ||||
|       'include/internal/cef_string_list.h', | ||||
| @@ -57,11 +53,10 @@ | ||||
|       'include/internal/cef_time.h', | ||||
|       'include/internal/cef_trace_event_internal.h', | ||||
|       'include/internal/cef_types.h', | ||||
|       'include/internal/cef_types_color.h', | ||||
|       'include/internal/cef_types_content_settings.h', | ||||
|       'include/internal/cef_types_geometry.h', | ||||
|       'include/internal/cef_types_osr.h', | ||||
|       'include/internal/cef_types_runtime.h', | ||||
|       'include/internal/cef_types_color.h', | ||||
|     ], | ||||
|     'includes_capi': [ | ||||
|       'include/capi/cef_base_capi.h', | ||||
| @@ -80,11 +75,6 @@ | ||||
|     'includes_wrapper_mac': [ | ||||
|       'include/wrapper/cef_library_loader.h', | ||||
|     ], | ||||
|     'includes_wrapper_win': [ | ||||
|       'include/wrapper/cef_certificate_util_win.h', | ||||
|       'include/wrapper/cef_library_loader.h', | ||||
|       'include/wrapper/cef_util_win.h', | ||||
|     ], | ||||
|     'includes_win': [ | ||||
|       'include/cef_sandbox_win.h', | ||||
|       'include/internal/cef_win.h', | ||||
| @@ -133,7 +123,6 @@ | ||||
|       'libcef_dll/base/cef_atomic_flag.cc', | ||||
|       'libcef_dll/base/cef_callback_helpers.cc', | ||||
|       'libcef_dll/base/cef_callback_internal.cc', | ||||
|       'libcef_dll/base/cef_dump_without_crashing.cc', | ||||
|       'libcef_dll/base/cef_lock.cc', | ||||
|       'libcef_dll/base/cef_lock_impl.cc', | ||||
|       'libcef_dll/base/cef_logging.cc', | ||||
| @@ -171,15 +160,9 @@ | ||||
|       'libcef_dll/wrapper/libcef_dll_wrapper2.cc', | ||||
|     ], | ||||
|     'libcef_dll_wrapper_sources_mac': [ | ||||
|       'libcef_dll/wrapper/cef_scoped_library_loader_mac.mm', | ||||
|       'libcef_dll/wrapper/cef_scoped_sandbox_context_mac.mm', | ||||
|       'libcef_dll/wrapper/cef_library_loader_mac.mm', | ||||
|       'libcef_dll/wrapper/libcef_dll_dylib.cc', | ||||
|     ], | ||||
|     'libcef_dll_wrapper_sources_win': [ | ||||
|       'libcef_dll/wrapper/cef_certificate_util_win.cc', | ||||
|       'libcef_dll/wrapper/cef_scoped_library_loader_win.cc', | ||||
|       'libcef_dll/wrapper/cef_util_win.cc', | ||||
|     ], | ||||
|     'shared_sources_browser': [ | ||||
|       'tests/shared/browser/client_app_browser.cc', | ||||
|       'tests/shared/browser/client_app_browser.h', | ||||
| @@ -259,9 +242,6 @@ | ||||
|       'tests/cefclient/browser/client_prefs.cc', | ||||
|       'tests/cefclient/browser/client_prefs.h', | ||||
|       'tests/cefclient/browser/client_types.h', | ||||
|       'tests/cefclient/browser/config_test.cc', | ||||
|       'tests/cefclient/browser/config_test.h', | ||||
|       'tests/cefclient/browser/default_client_handler.cc', | ||||
|       'tests/cefclient/browser/default_client_handler.h', | ||||
|       'tests/cefclient/browser/dialog_test.cc', | ||||
|       'tests/cefclient/browser/dialog_test.h', | ||||
| @@ -295,8 +275,6 @@ | ||||
|       'tests/cefclient/browser/scheme_test.h', | ||||
|       'tests/cefclient/browser/server_test.cc', | ||||
|       'tests/cefclient/browser/server_test.h', | ||||
|       'tests/cefclient/browser/task_manager_test.cc', | ||||
|       'tests/cefclient/browser/task_manager_test.h', | ||||
|       'tests/cefclient/browser/temp_window.h', | ||||
|       'tests/cefclient/browser/test_runner.cc', | ||||
|       'tests/cefclient/browser/test_runner.h', | ||||
| @@ -304,8 +282,6 @@ | ||||
|       'tests/cefclient/browser/urlrequest_test.h', | ||||
|       'tests/cefclient/browser/views_menu_bar.cc', | ||||
|       'tests/cefclient/browser/views_menu_bar.h', | ||||
|       'tests/cefclient/browser/views_overlay_browser.cc', | ||||
|       'tests/cefclient/browser/views_overlay_browser.h', | ||||
|       'tests/cefclient/browser/views_overlay_controls.cc', | ||||
|       'tests/cefclient/browser/views_overlay_controls.h', | ||||
|       'tests/cefclient/browser/views_style.cc', | ||||
| @@ -338,7 +314,6 @@ | ||||
|     'cefclient_sources_resources': [ | ||||
|       'tests/cefclient/resources/binary_transfer.html', | ||||
|       'tests/cefclient/resources/binding.html', | ||||
|       'tests/cefclient/resources/config.html', | ||||
|       'tests/cefclient/resources/dialogs.html', | ||||
|       'tests/cefclient/resources/draggable.html', | ||||
|       'tests/cefclient/resources/hang.html', | ||||
| @@ -354,7 +329,6 @@ | ||||
|       'tests/cefclient/resources/preferences.html', | ||||
|       'tests/cefclient/resources/response_filter.html', | ||||
|       'tests/cefclient/resources/server.html', | ||||
|       'tests/cefclient/resources/task_manager.html', | ||||
|       'tests/cefclient/resources/transparency.html', | ||||
|       'tests/cefclient/resources/urlrequest.html', | ||||
|       'tests/cefclient/resources/websocket.html', | ||||
| @@ -396,14 +370,12 @@ | ||||
|       'tests/cefclient/browser/window_test_runner_win.cc', | ||||
|       'tests/cefclient/browser/window_test_runner_win.h', | ||||
|       'tests/cefclient/cefclient_win.cc', | ||||
|       'tests/cefclient/resources/win/cefclient.rc', | ||||
|     ], | ||||
|     'cefclient_sources_resources_win': [ | ||||
|       'tests/cefclient/win/cefclient.exe.manifest', | ||||
|       'tests/cefclient/win/cefclient.ico', | ||||
|       'tests/cefclient/win/small.ico', | ||||
|     ], | ||||
|     'cefclient_sources_resources_win_rc': [ | ||||
|       'tests/cefclient/win/cefclient.rc', | ||||
|       'tests/cefclient/resources/win/cefclient.exe.manifest', | ||||
|       'tests/cefclient/resources/win/cefclient.ico', | ||||
|       'tests/cefclient/resources/win/small.ico', | ||||
|     ], | ||||
|     'cefclient_sources_mac': [ | ||||
|       'tests/cefclient/browser/browser_window_osr_mac.h', | ||||
| @@ -422,18 +394,16 @@ | ||||
|       '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/util_mac.h', | ||||
|       'tests/cefclient/browser/util_mac.mm', | ||||
|       'tests/cefclient/browser/views_window_mac.mm', | ||||
|       'tests/cefclient/browser/window_test_runner_mac.h', | ||||
|       'tests/cefclient/browser/window_test_runner_mac.mm', | ||||
|       'tests/cefclient/cefclient_mac.mm', | ||||
|    ], | ||||
|     'cefclient_bundle_resources_mac': [ | ||||
|       'tests/cefclient/mac/cefclient.icns', | ||||
|       'tests/cefclient/mac/English.lproj/InfoPlist.strings', | ||||
|       'tests/cefclient/mac/English.lproj/MainMenu.xib', | ||||
|       'tests/cefclient/mac/Info.plist.in', | ||||
|       '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_linux': [ | ||||
|       'tests/cefclient/browser/browser_window_osr_gtk.cc', | ||||
| @@ -465,17 +435,15 @@ | ||||
|       'tests/cefsimple/simple_handler.h', | ||||
|     ], | ||||
|     'cefsimple_sources_win': [ | ||||
|       'tests/cefsimple/cefsimple.rc', | ||||
|       'tests/cefsimple/cefsimple_win.cc', | ||||
|       'tests/cefsimple/resource.h', | ||||
|       'tests/cefsimple/simple_handler_win.cc', | ||||
|       'tests/cefsimple/resource.h', | ||||
|     ], | ||||
|     'cefsimple_sources_resources_win': [ | ||||
|       'tests/cefsimple/win/cefsimple.exe.manifest', | ||||
|       'tests/cefsimple/win/cefsimple.ico', | ||||
|       'tests/cefsimple/win/small.ico', | ||||
|     ], | ||||
|     'cefsimple_sources_resources_win_rc': [ | ||||
|       'tests/cefsimple/win/cefsimple.rc', | ||||
|       'tests/cefsimple/cefsimple.exe.manifest', | ||||
|       'tests/cefsimple/res/cefsimple.ico', | ||||
|       'tests/cefsimple/res/small.ico', | ||||
|     ], | ||||
|     'cefsimple_sources_mac': [ | ||||
|       'tests/cefsimple/cefsimple_mac.mm', | ||||
| @@ -488,7 +456,7 @@ | ||||
|       'tests/cefsimple/mac/cefsimple.icns', | ||||
|       'tests/cefsimple/mac/English.lproj/InfoPlist.strings', | ||||
|       'tests/cefsimple/mac/English.lproj/MainMenu.xib', | ||||
|       'tests/cefsimple/mac/Info.plist.in', | ||||
|       'tests/cefsimple/mac/Info.plist', | ||||
|     ], | ||||
|     'cefsimple_sources_linux': [ | ||||
|       'tests/cefsimple/cefsimple_linux.cc', | ||||
| @@ -501,7 +469,6 @@ | ||||
|       'tests/ceftests/resources/net/data/ssl/certificates/root_ca_cert.pem', | ||||
|     ], | ||||
|     'ceftests_sources_common': [ | ||||
|       'tests/ceftests/api_version_unittest.cc', | ||||
|       'tests/ceftests/audio_output_unittest.cc', | ||||
|       'tests/ceftests/browser_info_map_unittest.cc', | ||||
|       'tests/ceftests/certificate_error_unittest.cc', | ||||
| @@ -540,7 +507,6 @@ | ||||
|       'tests/ceftests/permission_prompt_unittest.cc', | ||||
|       'tests/ceftests/preference_unittest.cc', | ||||
|       'tests/ceftests/print_unittest.cc', | ||||
|       'tests/ceftests/print_to_pdf_unittest.cc', | ||||
|       'tests/ceftests/process_message_unittest.cc', | ||||
|       'tests/ceftests/request_context_unittest.cc', | ||||
|       'tests/ceftests/request_handler_unittest.cc', | ||||
| @@ -608,32 +574,24 @@ | ||||
|     'ceftests_sources_win': [ | ||||
|       'tests/ceftests/resource_util_win_dir.cc', | ||||
|       'tests/ceftests/resource_util_win_idmap.cc', | ||||
|       'tests/ceftests/resources/win/ceftests.rc', | ||||
|     ], | ||||
|     'ceftests_sources_resources_win': [ | ||||
|       'tests/ceftests/win/ceftests.exe.manifest', | ||||
|       'tests/ceftests/win/ceftests.ico', | ||||
|       'tests/ceftests/win/small.ico', | ||||
|     ], | ||||
|     'ceftests_sources_resources_win_rc': [ | ||||
|       'tests/ceftests/win/ceftests.rc', | ||||
|       'tests/ceftests/resources/win/ceftests.exe.manifest', | ||||
|       'tests/ceftests/resources/win/ceftests.ico', | ||||
|       '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_browser_shared': [ | ||||
|       'tests/shared/renderer/client_app_renderer.h', | ||||
|     ], | ||||
|     'ceftests_sources_mac_helper_shared': [ | ||||
|       'tests/shared/browser/client_app_browser.h', | ||||
|     'ceftests_sources_mac_helper': [ | ||||
|       'tests/shared/browser/file_util.cc', | ||||
|       'tests/shared/browser/file_util.h', | ||||
|       'tests/shared/browser/resource_util.h', | ||||
|       'tests/shared/browser/resource_util_mac.mm', | ||||
|       'tests/shared/browser/resource_util_posix.cc', | ||||
|     ], | ||||
|     'ceftests_sources_mac_helper': [ | ||||
|       'tests/ceftests/audio_output_unittest.cc', | ||||
|       'tests/ceftests/client_app_delegates.cc', | ||||
|       'tests/ceftests/cookie_unittest.cc', | ||||
| @@ -689,10 +647,10 @@ | ||||
|       'tests/ceftests/v8_unittest.cc', | ||||
|     ], | ||||
|     'ceftests_bundle_resources_mac': [ | ||||
|       'tests/ceftests/mac/ceftests.icns', | ||||
|       'tests/ceftests/mac/English.lproj/InfoPlist.strings', | ||||
|       'tests/ceftests/mac/English.lproj/MainMenu.xib', | ||||
|       'tests/ceftests/mac/Info.plist.in', | ||||
|       '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', | ||||
|   | ||||
| @@ -36,7 +36,11 @@ macro(PRINT_CEF_CONFIG) | ||||
|  | ||||
|   message(STATUS "CEF sandbox:                  ${USE_SANDBOX}") | ||||
|  | ||||
|   message(STATUS "Standard libraries:           ${CEF_STANDARD_LIBS}") | ||||
|   set(_libraries ${CEF_STANDARD_LIBS}) | ||||
|   if(OS_WINDOWS AND USE_SANDBOX) | ||||
|     list(APPEND _libraries ${CEF_SANDBOX_STANDARD_LIBS}) | ||||
|   endif() | ||||
|   message(STATUS "Standard libraries:           ${_libraries}") | ||||
|  | ||||
|   message(STATUS "Compile defines:              ${CEF_COMPILER_DEFINES}") | ||||
|   message(STATUS "Compile defines (Debug):      ${CEF_COMPILER_DEFINES_DEBUG}") | ||||
| @@ -267,17 +271,6 @@ macro(ADD_WINDOWS_MANIFEST manifest_path target extension) | ||||
|     ) | ||||
| endmacro() | ||||
|  | ||||
| # Set LPAC ACLs required for Windows sandbox support. | ||||
| # See https://github.com/chromiumembedded/cef/issues/3791#issuecomment-2664128961 | ||||
| macro(SET_LPAC_ACLS target) | ||||
|   add_custom_command( | ||||
|     TARGET ${target} | ||||
|     POST_BUILD | ||||
|     COMMAND "icacls" "${CEF_TARGET_OUT_DIR}" "/grant" "*S-1-15-2-2:(OI)(CI)(RX)" | ||||
|     COMMENT "Setting LPAC ACLs..." | ||||
|     ) | ||||
| endmacro() | ||||
|  | ||||
| endif(OS_WINDOWS) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -69,20 +69,6 @@ list(APPEND CEF_COMPILER_DEFINES | ||||
| option(USE_SANDBOX "Enable or disable use of the sandbox." ON) | ||||
|  | ||||
|  | ||||
| # Optionally configure the CEF API version by adding `-D api_version=XXXXX` to the | ||||
| # cmake command-line where XXXXX is the desired version number. For background see | ||||
| # https://bitbucket.org/chromiumembedded/cef/wiki/ApiVersioning.md | ||||
| if(DEFINED api_version) | ||||
|   string(LENGTH "${api_version}" length) | ||||
|   if (NOT length EQUAL 5 OR NOT api_version MATCHES "^[0-9]+$") | ||||
|     message(FATAL_ERROR "Expected a 5 digit number for api_version, got '${api_version}'") | ||||
|   endif() | ||||
|   list(APPEND CEF_COMPILER_DEFINES | ||||
|     CEF_API_VERSION=${api_version} | ||||
|   ) | ||||
| endif() | ||||
|  | ||||
|  | ||||
| # | ||||
| # Linux configuration. | ||||
| # | ||||
| @@ -186,8 +172,6 @@ if(OS_LINUX) | ||||
|   if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|     list(APPEND CEF_CXX_COMPILER_FLAGS | ||||
|       -Wno-attributes             # The cfi-icall attribute is not supported by the GNU C++ compiler | ||||
|       -Wno-array-bounds           # Silence "is partly outside array bounds" errors with runtime size check in wrapper | ||||
|       -Wno-stringop-overflow      # Silence "overflows the destination" errors with runtime size check in wrapper | ||||
|       ) | ||||
|   endif() | ||||
|  | ||||
| @@ -236,6 +220,7 @@ if(OS_LINUX) | ||||
|     libGLESv2.so | ||||
|     libvk_swiftshader.so | ||||
|     libvulkan.so.1 | ||||
|     snapshot_blob.bin | ||||
|     v8_context_snapshot.bin | ||||
|     vk_swiftshader_icd.json | ||||
|     ) | ||||
| @@ -326,7 +311,7 @@ if(OS_MAC) | ||||
|  | ||||
|   # Find the newest available base SDK. | ||||
|   execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) | ||||
|   foreach(OS_VERSION 15.4 14.2 14.0 11.0) | ||||
|   foreach(OS_VERSION 14.2 14.0 10.15) | ||||
|     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}) | ||||
| @@ -334,7 +319,7 @@ if(OS_MAC) | ||||
|   endforeach() | ||||
|  | ||||
|   # Target SDK. | ||||
|   set(CEF_TARGET_SDK               "11.0") | ||||
|   set(CEF_TARGET_SDK               "10.15") | ||||
|   list(APPEND CEF_COMPILER_FLAGS | ||||
|     -mmacosx-version-min=${CEF_TARGET_SDK} | ||||
|   ) | ||||
| @@ -361,6 +346,14 @@ if(OS_MAC) | ||||
|     list(APPEND CEF_COMPILER_DEFINES | ||||
|       CEF_USE_SANDBOX   # Used by apps to test if the sandbox is enabled | ||||
|       ) | ||||
|  | ||||
|     list(APPEND CEF_STANDARD_LIBS | ||||
|       -lsandbox | ||||
|       ) | ||||
|  | ||||
|     # CEF sandbox library paths. | ||||
|     set(CEF_SANDBOX_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/cef_sandbox.a") | ||||
|     set(CEF_SANDBOX_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/cef_sandbox.a") | ||||
|   endif() | ||||
|  | ||||
|   # CEF Helper app suffixes. | ||||
| @@ -388,6 +381,15 @@ if(OS_WINDOWS) | ||||
|     set(CMAKE_CXX_FLAGS_RELEASE "") | ||||
|   endif() | ||||
|  | ||||
|   if(USE_SANDBOX) | ||||
|     # Check if the current MSVC version is compatible with the cef_sandbox.lib | ||||
|     # static library. We require VS2015 or newer. | ||||
|     if(MSVC_VERSION LESS 1900) | ||||
|       message(WARNING "CEF sandbox is not compatible with the current MSVC version (${MSVC_VERSION})") | ||||
|       set(USE_SANDBOX OFF) | ||||
|     endif() | ||||
|   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") | ||||
|  | ||||
| @@ -432,6 +434,9 @@ if(OS_WINDOWS) | ||||
|   list(APPEND CEF_LINKER_FLAGS_DEBUG | ||||
|     /DEBUG        # Generate debug information | ||||
|     ) | ||||
|   list(APPEND CEF_EXE_LINKER_FLAGS | ||||
|     /MANIFEST:NO        # No default manifest (see ADD_WINDOWS_MANIFEST macro usage) | ||||
|     /LARGEADDRESSAWARE  # Allow 32-bit processes to access 3GB of RAM | ||||
|  | ||||
|     # Delayload most libraries as the dlls are simply not required at startup (or | ||||
|     # at all, depending on the process type). Some dlls open handles when they are | ||||
| @@ -439,13 +444,8 @@ if(OS_WINDOWS) | ||||
|     # processes. Conversely, some dlls must be loaded before sandbox lockdown. In | ||||
|     # unsandboxed processes they will load when first needed. The linker will | ||||
|     # automatically ignore anything which is not linked to the binary at all (it is | ||||
|   # harmless to have an unmatched /delayload). Lists should be kept in sync with | ||||
|   # targets from Chromium's //build/config/win/BUILD.gn file. | ||||
|   set(CEF_DELAYLOAD_FLAGS | ||||
|     # Required to support CefScopedLibraryLoader. | ||||
|     /DELAYLOAD:libcef.dll | ||||
|  | ||||
|     # "delayloads" target. | ||||
|     # harmless to have an unmatched /delayload). This list should be kept in sync | ||||
|     # with Chromium's "delayloads" target from the //build/config/win/BUILD.gn file. | ||||
|     /DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll | ||||
|     /DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll | ||||
|     /DELAYLOAD:api-ms-win-core-winrt-string-l1-1-0.dll | ||||
| @@ -487,31 +487,6 @@ if(OS_WINDOWS) | ||||
|     /DELAYLOAD:winusb.dll | ||||
|     /DELAYLOAD:wsock32.dll | ||||
|     /DELAYLOAD:wtsapi32.dll | ||||
|  | ||||
|     # "delayloads_not_for_child_dll" target. | ||||
|     /DELAYLOAD:crypt32.dll | ||||
|     /DELAYLOAD:dbghelp.dll | ||||
|     /DELAYLOAD:dhcpcsvc.dll | ||||
|     /DELAYLOAD:dwrite.dll | ||||
|     /DELAYLOAD:iphlpapi.dll | ||||
|     /DELAYLOAD:oleaut32.dll | ||||
|     /DELAYLOAD:secur32.dll | ||||
|     /DELAYLOAD:userenv.dll | ||||
|     /DELAYLOAD:winhttp.dll | ||||
|     /DELAYLOAD:winmm.dll | ||||
|     /DELAYLOAD:winspool.drv | ||||
|     /DELAYLOAD:wintrust.dll | ||||
|     /DELAYLOAD:ws2_32.dll | ||||
|     ) | ||||
|   list(APPEND CEF_EXE_LINKER_FLAGS | ||||
|     # For executable targets. | ||||
|     /MANIFEST:NO        # No default manifest (see ADD_WINDOWS_MANIFEST macro usage) | ||||
|     /LARGEADDRESSAWARE  # Allow 32-bit processes to access 3GB of RAM | ||||
|     ${CEF_DELAYLOAD_FLAGS} | ||||
|     ) | ||||
|   list(APPEND CEF_SHARED_LINKER_FLAGS | ||||
|     # For shared library targets. | ||||
|     ${CEF_DELAYLOAD_FLAGS} | ||||
|     ) | ||||
|   list(APPEND CEF_COMPILER_DEFINES | ||||
|     WIN32 _WIN32 _WINDOWS             # Windows platform | ||||
| @@ -550,12 +525,9 @@ if(OS_WINDOWS) | ||||
|   # Standard libraries. | ||||
|   set(CEF_STANDARD_LIBS | ||||
|     comctl32.lib | ||||
|     crypt32.lib | ||||
|     delayimp.lib | ||||
|     gdi32.lib | ||||
|     rpcrt4.lib | ||||
|     shlwapi.lib | ||||
|     wintrust.lib | ||||
|     ws2_32.lib | ||||
|     ) | ||||
|  | ||||
| @@ -576,6 +548,7 @@ if(OS_WINDOWS) | ||||
|     libcef.dll | ||||
|     libEGL.dll | ||||
|     libGLESv2.dll | ||||
|     snapshot_blob.bin | ||||
|     v8_context_snapshot.bin | ||||
|     vk_swiftshader.dll | ||||
|     vk_swiftshader_icd.json | ||||
| @@ -600,8 +573,36 @@ if(OS_WINDOWS) | ||||
|  | ||||
|   if(USE_SANDBOX) | ||||
|     list(APPEND CEF_COMPILER_DEFINES | ||||
|       CEF_USE_BOOTSTRAP   # Used by apps to test if the bootstrap is enabled | ||||
|       PSAPI_VERSION=1   # Required by cef_sandbox.lib | ||||
|       CEF_USE_SANDBOX   # Used by apps to test if the sandbox is enabled | ||||
|       ) | ||||
|     list(APPEND CEF_COMPILER_DEFINES_DEBUG | ||||
|       _HAS_ITERATOR_DEBUGGING=0   # Disable iterator debugging | ||||
|       ) | ||||
|  | ||||
|     # Libraries required by cef_sandbox.lib. | ||||
|     set(CEF_SANDBOX_STANDARD_LIBS | ||||
|       Advapi32.lib | ||||
|       dbghelp.lib | ||||
|       Delayimp.lib | ||||
|       ntdll.lib | ||||
|       OleAut32.lib | ||||
|       PowrProf.lib | ||||
|       Propsys.lib | ||||
|       psapi.lib | ||||
|       SetupAPI.lib | ||||
|       Shell32.lib | ||||
|       Shcore.lib | ||||
|       Userenv.lib | ||||
|       version.lib | ||||
|       wbemuuid.lib | ||||
|       WindowsApp.lib | ||||
|       winmm.lib | ||||
|       ) | ||||
|  | ||||
|     # CEF sandbox library paths. | ||||
|     set(CEF_SANDBOX_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/cef_sandbox.lib") | ||||
|     set(CEF_SANDBOX_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/cef_sandbox.lib") | ||||
|   endif() | ||||
|  | ||||
|   # Configure use of ATL. | ||||
|   | ||||
| @@ -84,12 +84,13 @@ | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| #else  // !USING_CHROMIUM_INCLUDES | ||||
|  | ||||
| #if !defined(GENERATING_CEF_API_HASH) | ||||
| #include "include/cef_config.h" | ||||
| #if !BUILDFLAG(ENABLE_ALLOY_BOOTSTRAP) | ||||
| #define DISABLE_ALLOY_BOOTSTRAP 1 | ||||
| #endif | ||||
|  | ||||
| #else  // !USING_CHROMIUM_INCLUDES | ||||
| #include "include/cef_config.h" | ||||
|  | ||||
| // The following is substantially similar to the Chromium implementation. | ||||
| // If the Chromium implementation diverges the below implementation should be | ||||
| // updated to match. | ||||
|   | ||||
| @@ -313,30 +313,6 @@ | ||||
| #define STACK_UNINITIALIZED | ||||
| #endif | ||||
|  | ||||
| // Attribute "no_stack_protector" disables -fstack-protector for the specified | ||||
| // function. | ||||
| // | ||||
| // "stack_protector" is enabled on most POSIX builds. The flag adds a canary | ||||
| // to each stack frame, which on function return is checked against a reference | ||||
| // canary. If the canaries do not match, it's likely that a stack buffer | ||||
| // overflow has occurred, so immediately crashing will prevent exploitation in | ||||
| // many cases. | ||||
| // | ||||
| // In some cases it's desirable to remove this, e.g. on hot functions, or if | ||||
| // we have purposely changed the reference canary. | ||||
| // | ||||
| // On Linux systems the reference canary will be purposely changed when forking | ||||
| // sub-processes (see https://crbug.com/40181003). To avoid sub-process shutdown | ||||
| // crashes the NO_STACK_PROTECTOR annotation must be added to all functions in | ||||
| // the call stack leading to CefExecuteProcess(). Applications that cannot add | ||||
| // this annotation must instead pass the `--change-stack-guard-on-fork=disable` | ||||
| // command-line flag. | ||||
| #if defined(COMPILER_GCC) || defined(__clang__) | ||||
| #define NO_STACK_PROTECTOR __attribute__((no_stack_protector)) | ||||
| #else | ||||
| #define NO_STACK_PROTECTOR | ||||
| #endif | ||||
|  | ||||
| // The ANALYZER_ASSUME_TRUE(bool arg) macro adds compiler-specific hints | ||||
| // to Clang which control what code paths are statically analyzed, | ||||
| // and is meant to be used in conjunction with assert & assert-like functions. | ||||
|   | ||||
| @@ -1,92 +0,0 @@ | ||||
| // Copyright (c) 2024 Marshall A. Greenblatt. Portions copyright (c) 2012 | ||||
| // 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. | ||||
|  | ||||
| /// | ||||
| /// \file | ||||
| /// Provides functions for generating crash dumps. | ||||
| /// | ||||
| /// NOTE: The contents of this file are only available to applications that link | ||||
| /// against the libcef_dll_wrapper target. | ||||
| /// | ||||
| /// NOTE: Ensure crash reporting is configured before use. See | ||||
| /// https://bitbucket.org/chromiumembedded/cef/wiki/CrashReporting.md for more | ||||
| /// information | ||||
| /// | ||||
| /// WARNING: Crash reporting should not be used in the main/browser process | ||||
| /// before calling CefInitialize or in sub-processes before CefExecuteProcess. | ||||
| /// | ||||
|  | ||||
| #ifndef CEF_INCLUDE_BASE_CEF_DUMP_WITHOUT_CRASHING_H_ | ||||
| #define CEF_INCLUDE_BASE_CEF_DUMP_WITHOUT_CRASHING_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/cef_api_hash.h" | ||||
|  | ||||
| constexpr long long kOneDayInMilliseconds = 86400000; | ||||
|  | ||||
| /// | ||||
| /// This function allows for generating of crash dumps with a throttling | ||||
| /// mechanism, preventing frequent dumps from being generated in a short period | ||||
| /// of time from the same location. If should only be called after CefInitialize | ||||
| /// has been successfully called. The |function_name|, |file_name|, and | ||||
| /// |line_number| parameters specify the origin location of the dump. The | ||||
| /// |mseconds_between_dumps| is an interval between consecutive dumps in | ||||
| /// milliseconds from the same location. | ||||
| /// | ||||
| /// Returns true if the dump was successfully generated, false otherwise. | ||||
| /// | ||||
| /// For detailed behavior, usage instructions, and considerations, refer to the | ||||
| /// documentation of DumpWithoutCrashing in base/debug/dump_without_crashing.h. | ||||
| /// | ||||
| bool CefDumpWithoutCrashing( | ||||
|     long long mseconds_between_dumps = kOneDayInMilliseconds, | ||||
|     const char* function_name = __builtin_FUNCTION(), | ||||
|     const char* file_name = __builtin_FILE(), | ||||
|     int line_number = __builtin_LINE()); | ||||
|  | ||||
| #if CEF_API_REMOVED(13500) | ||||
| /// | ||||
| /// This function allows for generating of crash dumps without any throttling | ||||
| /// constraints. If should also only be called after CefInitialize has been | ||||
| /// successfully called. | ||||
| /// | ||||
| /// Returns true if the dump was successfully generated, false otherwise. | ||||
| /// | ||||
| /// For detailed behavior, usage instructions, and considerations, refer to the | ||||
| /// documentation of DumpWithoutCrashingUnthrottled in | ||||
| /// base/debug/dump_without_crashing.h. | ||||
| /// | ||||
| /// This function is removed in API version 13500. Use CefDumpWithoutCrashing() | ||||
| /// instead. | ||||
| /// | ||||
| bool CefDumpWithoutCrashingUnthrottled(); | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_BASE_CEF_DUMP_WITHOUT_CRASHING_H_ | ||||
| @@ -1,197 +0,0 @@ | ||||
| // Copyright (c) 2025 Marshall A. Greenblatt. Portions copyright (c) 2019 | ||||
| // 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. | ||||
|  | ||||
| #ifndef CEF_INCLUDE_BASE_CEF_IMMEDIATE_CRASH_H_ | ||||
| #define CEF_INCLUDE_BASE_CEF_IMMEDIATE_CRASH_H_ | ||||
| #pragma once | ||||
|  | ||||
| #if defined(USING_CHROMIUM_INCLUDES) | ||||
| // When building CEF include the Chromium header directly. | ||||
| #include "base/immediate_crash.h" | ||||
| #else  // !USING_CHROMIUM_INCLUDES | ||||
| // The following is substantially similar to the Chromium implementation. | ||||
| // If the Chromium implementation diverges the below implementation should be | ||||
| // updated to match. | ||||
|  | ||||
| #include "include/base/cef_build.h" | ||||
|  | ||||
| #if defined(OS_WIN) | ||||
| #include <stdlib.h> | ||||
| #endif | ||||
|  | ||||
| // Crashes in the fastest possible way with no attempt at logging. | ||||
| // There are several constraints; see http://crbug.com/664209 for more context. | ||||
| // | ||||
| // - TRAP_SEQUENCE_() must be fatal. It should not be possible to ignore the | ||||
| //   resulting exception or simply hit 'continue' to skip over it in a debugger. | ||||
| // - Different instances of TRAP_SEQUENCE_() must not be folded together, to | ||||
| //   ensure crash reports are debuggable. Unlike __builtin_trap(), asm volatile | ||||
| //   blocks will not be folded together. | ||||
| //   Note: TRAP_SEQUENCE_() previously required an instruction with a unique | ||||
| //   nonce since unlike clang, GCC folds together identical asm volatile | ||||
| //   blocks. | ||||
| // - TRAP_SEQUENCE_() must produce a signal that is distinct from an invalid | ||||
| //   memory access. | ||||
| // - TRAP_SEQUENCE_() must be treated as a set of noreturn instructions. | ||||
| //   __builtin_unreachable() is used to provide that hint here. clang also uses | ||||
| //   this as a heuristic to pack the instructions in the function epilogue to | ||||
| //   improve code density. | ||||
| // - base::ImmediateCrash() is used in allocation hooks. To prevent recursions, | ||||
| //   TRAP_SEQUENCE_() must not allocate. | ||||
| // | ||||
| // Additional properties that are nice to have: | ||||
| // - TRAP_SEQUENCE_() should be as compact as possible. | ||||
| // - The first instruction of TRAP_SEQUENCE_() should not change, to avoid | ||||
| //   shifting crash reporting clusters. As a consequence of this, explicit | ||||
| //   assembly is preferred over intrinsics. | ||||
| //   Note: this last bullet point may no longer be true, and may be removed in | ||||
| //   the future. | ||||
|  | ||||
| // Note: TRAP_SEQUENCE Is currently split into two macro helpers due to the fact | ||||
| // that clang emits an actual instruction for __builtin_unreachable() on certain | ||||
| // platforms (see https://crbug.com/958675). In addition, the int3/bkpt/brk will | ||||
| // be removed in followups, so splitting it up like this now makes it easy to | ||||
| // land the followups. | ||||
|  | ||||
| #if defined(COMPILER_GCC) | ||||
|  | ||||
| #if defined(ARCH_CPU_X86_FAMILY) | ||||
|  | ||||
| // TODO(crbug.com/40625592): In theory, it should be possible to use just | ||||
| // int3. However, there are a number of crashes with SIGILL as the exception | ||||
| // code, so it seems likely that there's a signal handler that allows execution | ||||
| // to continue after SIGTRAP. | ||||
| #define TRAP_SEQUENCE1_() asm volatile("int3") | ||||
|  | ||||
| #if defined(OS_APPLE) | ||||
| // Intentionally empty: __builtin_unreachable() is always part of the sequence | ||||
| // (see IMMEDIATE_CRASH below) and already emits a ud2 on Mac. | ||||
| #define TRAP_SEQUENCE2_() asm volatile("") | ||||
| #else | ||||
| #define TRAP_SEQUENCE2_() asm volatile("ud2") | ||||
| #endif  // defined(OS_APPLE) | ||||
|  | ||||
| #elif defined(ARCH_CPU_ARMEL) | ||||
|  | ||||
| // bkpt will generate a SIGBUS when running on armv7 and a SIGTRAP when running | ||||
| // as a 32 bit userspace app on arm64. There doesn't seem to be any way to | ||||
| // cause a SIGTRAP from userspace without using a syscall (which would be a | ||||
| // problem for sandboxing). | ||||
| // TODO(crbug.com/40625592): Remove bkpt from this sequence. | ||||
| #define TRAP_SEQUENCE1_() asm volatile("bkpt #0") | ||||
| #define TRAP_SEQUENCE2_() asm volatile("udf #0") | ||||
|  | ||||
| #elif defined(ARCH_CPU_ARM64) | ||||
|  | ||||
| // This will always generate a SIGTRAP on arm64. | ||||
| // TODO(crbug.com/40625592): Remove brk from this sequence. | ||||
| #define TRAP_SEQUENCE1_() asm volatile("brk #0") | ||||
| #define TRAP_SEQUENCE2_() asm volatile("hlt #0") | ||||
|  | ||||
| #else | ||||
|  | ||||
| // Crash report accuracy will not be guaranteed on other architectures, but at | ||||
| // least this will crash as expected. | ||||
| #define TRAP_SEQUENCE1_() __builtin_trap() | ||||
| #define TRAP_SEQUENCE2_() asm volatile("") | ||||
|  | ||||
| #endif  // ARCH_CPU_* | ||||
|  | ||||
| #elif defined(COMPILER_MSVC) | ||||
|  | ||||
| #if !defined(__clang__) | ||||
|  | ||||
| // MSVC x64 doesn't support inline asm, so use the MSVC intrinsic. | ||||
| #define TRAP_SEQUENCE1_() __debugbreak() | ||||
| #define TRAP_SEQUENCE2_() | ||||
|  | ||||
| #elif defined(ARCH_CPU_ARM64) | ||||
|  | ||||
| // Windows ARM64 uses "BRK #F000" as its breakpoint instruction, and | ||||
| // __debugbreak() generates that in both VC++ and clang. | ||||
| #define TRAP_SEQUENCE1_() __debugbreak() | ||||
| // Intentionally empty: __builtin_unreachable() is always part of the sequence | ||||
| // (see IMMEDIATE_CRASH below) and already emits a ud2 on Win64, | ||||
| // https://crbug.com/958373 | ||||
| #define TRAP_SEQUENCE2_() __asm volatile("") | ||||
|  | ||||
| #else | ||||
|  | ||||
| #define TRAP_SEQUENCE1_() asm volatile("int3") | ||||
| #define TRAP_SEQUENCE2_() asm volatile("ud2") | ||||
|  | ||||
| #endif  // __clang__ | ||||
|  | ||||
| #else | ||||
|  | ||||
| #error No supported trap sequence! | ||||
|  | ||||
| #endif  // COMPILER_GCC | ||||
|  | ||||
| #define TRAP_SEQUENCE_() \ | ||||
|   do {                   \ | ||||
|     TRAP_SEQUENCE1_();   \ | ||||
|     TRAP_SEQUENCE2_();   \ | ||||
|   } while (false) | ||||
|  | ||||
| // This version of ALWAYS_INLINE inlines even in is_debug=true. | ||||
| // TODO(pbos): See if NDEBUG can be dropped from ALWAYS_INLINE as well, and if | ||||
| // so merge. Otherwise document why it cannot inline in debug in | ||||
| // base/compiler_specific.h. | ||||
| #if defined(COMPILER_GCC) | ||||
| #define IMMEDIATE_CRASH_ALWAYS_INLINE inline __attribute__((__always_inline__)) | ||||
| #elif defined(COMPILER_MSVC) | ||||
| #define IMMEDIATE_CRASH_ALWAYS_INLINE __forceinline | ||||
| #else | ||||
| #define IMMEDIATE_CRASH_ALWAYS_INLINE inline | ||||
| #endif | ||||
|  | ||||
| namespace base { | ||||
|  | ||||
| [[noreturn]] IMMEDIATE_CRASH_ALWAYS_INLINE void ImmediateCrash() { | ||||
| #if defined(OS_WIN) | ||||
|   // We can't use abort() on Windows because it results in the | ||||
|   // abort/retry/ignore dialog which disrupts automated tests. | ||||
|   // TODO(crbug.com/40948553): investigate if such dialogs can | ||||
|   // be suppressed | ||||
|   TRAP_SEQUENCE_(); | ||||
| #if defined(__clang__) || defined(COMPILER_GCC) | ||||
|   __builtin_unreachable(); | ||||
| #endif  // defined(__clang__) || defined(COMPILER_GCC) | ||||
| #else   // !defined(OS_WIN) | ||||
|   abort(); | ||||
| #endif  // !defined(OS_WIN) | ||||
| } | ||||
|  | ||||
| }  // namespace base | ||||
|  | ||||
| #endif  // !USING_CHROMIUM_INCLUDES | ||||
|  | ||||
| #endif  // CEF_INCLUDE_BASE_CEF_LOCK_H_ | ||||
| @@ -189,50 +189,16 @@ | ||||
| namespace cef { | ||||
| namespace logging { | ||||
|  | ||||
| class ScopedEarlySupport; | ||||
|  | ||||
| namespace internal { | ||||
|  | ||||
| // Structure defining the baseline logging implementation used by client | ||||
| // and wrapper code that links libcef_dll_wrapper. | ||||
| struct Implementation { | ||||
|   decltype(&cef_get_min_log_level) get_min_log_level; | ||||
|   decltype(&cef_get_vlog_level) get_vlog_level; | ||||
|   decltype(&cef_log) log; | ||||
| }; | ||||
|  | ||||
| // Returns the currently configured logging implementation. | ||||
| const Implementation* GetImplementation(); | ||||
|  | ||||
| // Change the logging implementation for the lifespan of this scoped object. | ||||
| // See ScopedEarlySupport for usage. | ||||
| class ScopedImplementation { | ||||
|  public: | ||||
|   ScopedImplementation(const ScopedImplementation&) = delete; | ||||
|   ScopedImplementation& operator=(const ScopedImplementation&) = delete; | ||||
|  | ||||
|  private: | ||||
|   friend class logging::ScopedEarlySupport; | ||||
|  | ||||
|   ScopedImplementation(); | ||||
|   ~ScopedImplementation(); | ||||
|   void Init(const Implementation* impl); | ||||
|  | ||||
|   const Implementation* previous_ = nullptr; | ||||
| }; | ||||
|  | ||||
| }  // namespace internal | ||||
|  | ||||
| // Gets the current log level. | ||||
| inline int GetMinLogLevel() { | ||||
|   return internal::GetImplementation()->get_min_log_level(); | ||||
|   return cef_get_min_log_level(); | ||||
| } | ||||
|  | ||||
| // Gets the current vlog level for the given file (usually taken from | ||||
| // __FILE__). Note that |N| is the size *with* the null terminator. | ||||
| template <size_t N> | ||||
| int GetVlogLevel(const char (&file)[N]) { | ||||
|   return internal::GetImplementation()->get_vlog_level(file, N); | ||||
|   return cef_get_vlog_level(file, N); | ||||
| } | ||||
|  | ||||
| typedef int LogSeverity; | ||||
| @@ -252,64 +218,6 @@ const LogSeverity LOG_DFATAL = LOG_ERROR; | ||||
| const LogSeverity LOG_DFATAL = LOG_FATAL; | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Support the use of CEF logging macros during early application startup, | ||||
| /// prior to loading libcef. Not for use during or after CEF initialization. | ||||
| /// Support is scoped to this object's lifespan. This implementation is not | ||||
| /// thread-safe and should not be used for logging from multiple threads. | ||||
| /// | ||||
| class ScopedEarlySupport final : public internal::ScopedImplementation { | ||||
|  public: | ||||
|   /// | ||||
|   /// Logging configuration. | ||||
|   /// | ||||
|   struct Config { | ||||
|     /// | ||||
|     /// Configure logging level. | ||||
|     /// | ||||
|     int min_log_level = LOG_ERROR; | ||||
|     int vlog_level = 0; | ||||
|  | ||||
|     /// | ||||
|     /// Configure log line formatting. | ||||
|     /// | ||||
|     const char* log_prefix = nullptr; | ||||
|     bool log_process_id = true; | ||||
|     bool log_thread_id = true; | ||||
|     bool log_timestamp = true; | ||||
|     bool log_tickcount = true; | ||||
|  | ||||
|     /// | ||||
|     /// Optionally override the default handling of formatted log lines. For | ||||
|     /// example, this callback could be used to write |log_line| to a file. | ||||
|     /// Return false to proceed with the default behavior of writing to stderr | ||||
|     /// or debugger console. FATAL errors will still intentionally crash the | ||||
|     /// application. | ||||
|     /// | ||||
|     bool (*formatted_log_handler)(const char* /*log_line*/) = nullptr; | ||||
|   }; | ||||
|  | ||||
|   explicit ScopedEarlySupport(const Config& config); | ||||
|  | ||||
|   ScopedEarlySupport(const ScopedEarlySupport&) = delete; | ||||
|   ScopedEarlySupport& operator=(const ScopedEarlySupport&) = delete; | ||||
|  | ||||
|  private: | ||||
|   static const Config& GetConfig(); | ||||
|  | ||||
|   static int get_min_log_level(); | ||||
|   static int get_vlog_level(const char* file_start, size_t N); | ||||
|   static void log(const char* file, | ||||
|                   int line, | ||||
|                   int severity, | ||||
|                   const char* message); | ||||
|  | ||||
|   const struct Impl { | ||||
|     internal::Implementation ptrs; | ||||
|     Config config; | ||||
|   } impl_; | ||||
| }; | ||||
|  | ||||
| // A few definitions of macros that don't generate much code. These are used | ||||
| // by LOG() and LOG_IF, etc. Since these are used all over our code, it's | ||||
| // better to have compact code for these operations. | ||||
|   | ||||
							
								
								
									
										81
									
								
								include/capi/cef_accessibility_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								include/capi/cef_accessibility_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=6ea5d772fb4961ae4a658b4b730aa608fa93309f$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to receive accessibility notification when | ||||
| /// accessibility events have been registered. The functions of this structure | ||||
| /// will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_accessibility_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called after renderer process sends accessibility tree changes to the | ||||
|   /// browser process. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_accessibility_tree_change)( | ||||
|       struct _cef_accessibility_handler_t* self, | ||||
|       struct _cef_value_t* value); | ||||
|  | ||||
|   /// | ||||
|   /// Called after renderer process sends accessibility location changes to the | ||||
|   /// browser process. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_accessibility_location_change)( | ||||
|       struct _cef_accessibility_handler_t* self, | ||||
|       struct _cef_value_t* value); | ||||
| } cef_accessibility_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_ | ||||
							
								
								
									
										205
									
								
								include/capi/cef_app_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								include/capi/cef_app_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,205 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=dfa0d4d2da319b2fd5e92324fd14301b500ceb5c$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_process_handler_capi.h" | ||||
| #include "include/capi/cef_command_line_capi.h" | ||||
| #include "include/capi/cef_render_process_handler_capi.h" | ||||
| #include "include/capi/cef_resource_bundle_handler_capi.h" | ||||
| #include "include/capi/cef_scheme_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_app_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to provide handler implementations. Methods will be | ||||
| /// called by the process and/or thread indicated. | ||||
| /// | ||||
| typedef struct _cef_app_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Provides an opportunity to view and/or modify command-line arguments | ||||
|   /// before processing by CEF and Chromium. The |process_type| value will be | ||||
|   /// NULL for the browser process. Do not keep a reference to the | ||||
|   /// cef_command_line_t object passed to this function. The | ||||
|   /// cef_settings_t.command_line_args_disabled value can be used to start with | ||||
|   /// an NULL command-line object. Any values specified in CefSettings that | ||||
|   /// equate to command-line arguments will be set before this function is | ||||
|   /// called. Be cautious when using this function to modify command-line | ||||
|   /// arguments for non-browser processes as this may result in undefined | ||||
|   /// behavior including crashes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_before_command_line_processing)( | ||||
|       struct _cef_app_t* self, | ||||
|       const cef_string_t* process_type, | ||||
|       struct _cef_command_line_t* command_line); | ||||
|  | ||||
|   /// | ||||
|   /// Provides an opportunity to register custom schemes. Do not keep a | ||||
|   /// reference to the |registrar| object. This function is called on the main | ||||
|   /// thread for each process and the registered schemes should be the same | ||||
|   /// across all processes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_register_custom_schemes)( | ||||
|       struct _cef_app_t* self, | ||||
|       struct _cef_scheme_registrar_t* registrar); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for resource bundle events. If | ||||
|   /// cef_settings_t.pack_loading_disabled is true (1) a handler must be | ||||
|   /// returned. If no handler is returned resources will be loaded from pack | ||||
|   /// files. This function is called by the browser and render processes on | ||||
|   /// multiple threads. | ||||
|   /// | ||||
|   struct _cef_resource_bundle_handler_t*( | ||||
|       CEF_CALLBACK* get_resource_bundle_handler)(struct _cef_app_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for functionality specific to the browser process. This | ||||
|   /// function is called on multiple threads in the browser process. | ||||
|   /// | ||||
|   struct _cef_browser_process_handler_t*( | ||||
|       CEF_CALLBACK* get_browser_process_handler)(struct _cef_app_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for functionality specific to the render process. This | ||||
|   /// function is called on the render process main thread. | ||||
|   /// | ||||
|   struct _cef_render_process_handler_t*( | ||||
|       CEF_CALLBACK* get_render_process_handler)(struct _cef_app_t* self); | ||||
| } cef_app_t; | ||||
|  | ||||
| /// | ||||
| /// This function should be called from the application entry point function to | ||||
| /// execute a secondary process. It can be used to run secondary processes from | ||||
| /// the browser client executable (default behavior) or from a separate | ||||
| /// executable specified by the cef_settings_t.browser_subprocess_path value. If | ||||
| /// called for the browser process (identified by no "type" command-line value) | ||||
| /// it will return immediately with a value of -1. If called for a recognized | ||||
| /// secondary process it will block until the process should exit and then | ||||
| /// return the process exit code. The |application| parameter may be NULL. The | ||||
| /// |windows_sandbox_info| parameter is only used on Windows and may be NULL | ||||
| /// (see cef_sandbox_win.h for details). | ||||
| /// | ||||
| CEF_EXPORT int cef_execute_process(const cef_main_args_t* args, | ||||
|                                    cef_app_t* application, | ||||
|                                    void* windows_sandbox_info); | ||||
|  | ||||
| /// | ||||
| /// This function should be called on the main application thread to initialize | ||||
| /// the CEF browser process. The |application| parameter may be NULL. Returns | ||||
| /// true (1) if initialization succeeds. Returns false (0) if initialization | ||||
| /// fails or if early exit is desired (for example, due to process singleton | ||||
| /// relaunch behavior). If this function returns false (0) then the application | ||||
| /// should exit immediately without calling any other CEF functions except, | ||||
| /// optionally, CefGetErrorCode. The |windows_sandbox_info| parameter is only | ||||
| /// used on Windows and may be NULL (see cef_sandbox_win.h for details). | ||||
| /// | ||||
| CEF_EXPORT int cef_initialize(const cef_main_args_t* args, | ||||
|                               const struct _cef_settings_t* settings, | ||||
|                               cef_app_t* application, | ||||
|                               void* windows_sandbox_info); | ||||
|  | ||||
| /// | ||||
| /// This function can optionally be called on the main application thread after | ||||
| /// CefInitialize to retrieve the initialization exit code. When CefInitialize | ||||
| /// returns true (1) the exit code will be 0 (CEF_RESULT_CODE_NORMAL_EXIT). | ||||
| /// Otherwise, see cef_resultcode_t for possible exit code values including | ||||
| /// browser process initialization errors and normal early exit conditions (such | ||||
| /// as CEF_RESULT_CODE_NORMAL_EXIT_PROCESS_NOTIFIED for process singleton | ||||
| /// relaunch behavior). | ||||
| /// | ||||
| CEF_EXPORT int cef_get_exit_code(void); | ||||
|  | ||||
| /// | ||||
| /// This function should be called on the main application thread to shut down | ||||
| /// the CEF browser process before the application exits. Do not call any other | ||||
| /// CEF functions after calling this function. | ||||
| /// | ||||
| CEF_EXPORT void cef_shutdown(void); | ||||
|  | ||||
| /// | ||||
| /// Perform a single iteration of CEF message loop processing. This function is | ||||
| /// provided for cases where the CEF message loop must be integrated into an | ||||
| /// existing application message loop. Use of this function is not recommended | ||||
| /// for most users; use either the cef_run_message_loop() function or | ||||
| /// cef_settings_t.multi_threaded_message_loop if possible. When using this | ||||
| /// function care must be taken to balance performance against excessive CPU | ||||
| /// usage. It is recommended to enable the cef_settings_t.external_message_pump | ||||
| /// option when using this function so that | ||||
| /// cef_browser_process_handler_t::on_schedule_message_pump_work() callbacks can | ||||
| /// facilitate the scheduling process. This function should only be called on | ||||
| /// the main application thread and only if cef_initialize() is called with a | ||||
| /// cef_settings_t.multi_threaded_message_loop value of false (0). This function | ||||
| /// will not block. | ||||
| /// | ||||
| CEF_EXPORT void cef_do_message_loop_work(void); | ||||
|  | ||||
| /// | ||||
| /// Run the CEF message loop. Use this function instead of an application- | ||||
| /// provided message loop to get the best balance between performance and CPU | ||||
| /// usage. This function should only be called on the main application thread | ||||
| /// and only if cef_initialize() is called with a | ||||
| /// cef_settings_t.multi_threaded_message_loop value of false (0). This function | ||||
| /// will block until a quit message is received by the system. | ||||
| /// | ||||
| CEF_EXPORT void cef_run_message_loop(void); | ||||
|  | ||||
| /// | ||||
| /// Quit the CEF message loop that was started by calling | ||||
| /// cef_run_message_loop(). This function should only be called on the main | ||||
| /// application thread and only if cef_run_message_loop() was used. | ||||
| /// | ||||
| CEF_EXPORT void cef_quit_message_loop(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_ | ||||
							
								
								
									
										121
									
								
								include/capi/cef_audio_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								include/capi/cef_audio_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,121 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=d98482eba93dcd8b6a6f69b2732162733c73203d$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle audio events. | ||||
| /// | ||||
| typedef struct _cef_audio_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread to allow configuration of audio stream parameters. | ||||
|   /// Return true (1) to proceed with audio stream capture, or false (0) to | ||||
|   /// cancel it. All members of |params| can optionally be configured here, but | ||||
|   /// they are also pre-filled with some sensible defaults. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_audio_parameters)(struct _cef_audio_handler_t* self, | ||||
|                                           struct _cef_browser_t* browser, | ||||
|                                           cef_audio_parameters_t* params); | ||||
|  | ||||
|   /// | ||||
|   /// Called on a browser audio capture thread when the browser starts streaming | ||||
|   /// audio. OnAudioStreamStopped will always be called after | ||||
|   /// OnAudioStreamStarted; both functions may be called multiple times for the | ||||
|   /// same browser. |params| contains the audio parameters like sample rate and | ||||
|   /// channel layout. |channels| is the number of channels. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_audio_stream_started)( | ||||
|       struct _cef_audio_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_audio_parameters_t* params, | ||||
|       int channels); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the audio stream thread when a PCM packet is received for the | ||||
|   /// stream. |data| is an array representing the raw PCM data as a floating | ||||
|   /// point type, i.e. 4-byte value(s). |frames| is the number of frames in the | ||||
|   /// PCM packet. |pts| is the presentation timestamp (in milliseconds since the | ||||
|   /// Unix Epoch) and represents the time at which the decompressed packet | ||||
|   /// should be presented to the user. Based on |frames| and the | ||||
|   /// |channel_layout| value passed to OnAudioStreamStarted you can calculate | ||||
|   /// the size of the |data| array in bytes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_audio_stream_packet)(struct _cef_audio_handler_t* self, | ||||
|                                              struct _cef_browser_t* browser, | ||||
|                                              const float** data, | ||||
|                                              int frames, | ||||
|                                              int64_t pts); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread when the stream has stopped. OnAudioSteamStopped | ||||
|   /// will always be called after OnAudioStreamStarted; both functions may be | ||||
|   /// called multiple times for the same stream. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_audio_stream_stopped)(struct _cef_audio_handler_t* self, | ||||
|                                               struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI or audio stream thread when an error occurred. During the | ||||
|   /// stream creation phase this callback will be called on the UI thread while | ||||
|   /// in the capturing phase it will be called on the audio stream thread. The | ||||
|   /// stream will be stopped immediately. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_audio_stream_error)(struct _cef_audio_handler_t* self, | ||||
|                                             struct _cef_browser_t* browser, | ||||
|                                             const cef_string_t* message); | ||||
| } cef_audio_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_ | ||||
							
								
								
									
										76
									
								
								include/capi/cef_auth_callback_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								include/capi/cef_auth_callback_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=b63947918eca8c31790cae16b2e8a0be7e9464dd$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for asynchronous continuation of authentication | ||||
| /// requests. | ||||
| /// | ||||
| typedef struct _cef_auth_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Continue the authentication request. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_auth_callback_t* self, | ||||
|                            const cef_string_t* username, | ||||
|                            const cef_string_t* password); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel the authentication request. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_auth_callback_t* self); | ||||
| } cef_auth_callback_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_ | ||||
| @@ -44,54 +44,62 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// All ref-counted framework structures must include this structure first. | ||||
| // All ref-counted framework structures must include this structure first. | ||||
| /// | ||||
| typedef struct _cef_base_ref_counted_t { | ||||
|   /// | ||||
|   /// Size of the data structure. | ||||
|   // Size of the data structure. | ||||
|   /// | ||||
|   size_t size; | ||||
|  | ||||
|   /// | ||||
|   /// Called to increment the reference count for the object. Should be called | ||||
|   /// for every new copy of a pointer to a given object. | ||||
|   // 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_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. | ||||
|   // 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_ref_counted_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the current reference count is 1. | ||||
|   // Returns true (1) if the current reference count is 1. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_one_ref)(struct _cef_base_ref_counted_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the current reference count is at least 1. | ||||
|   // Returns true (1) if the current reference count is at least 1. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_at_least_one_ref)(struct _cef_base_ref_counted_t* self); | ||||
| } cef_base_ref_counted_t; | ||||
|  | ||||
| /// | ||||
| /// All scoped framework structures must include this structure first. | ||||
| // All scoped framework structures must include this structure first. | ||||
| /// | ||||
| typedef struct _cef_base_scoped_t { | ||||
|   /// | ||||
|   /// Size of the data structure. | ||||
|   // Size of the data structure. | ||||
|   /// | ||||
|   size_t size; | ||||
|  | ||||
|   /// | ||||
|   /// Called to delete this object. May be NULL if the object is not owned. | ||||
|   // 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<size_t*>(s)) | ||||
|  | ||||
| #define CEF_MEMBER_MISSING(s, f) (!CEF_MEMBER_EXISTS(s, f) || !((s)->f)) | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|   | ||||
							
								
								
									
										1039
									
								
								include/capi/cef_browser_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1039
									
								
								include/capi/cef_browser_capi.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										177
									
								
								include/capi/cef_browser_process_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								include/capi/cef_browser_process_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,177 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=d958d5bed7f909f6313facef3440fb8ba07a5c01$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_client_capi.h" | ||||
| #include "include/capi/cef_command_line_capi.h" | ||||
| #include "include/capi/cef_preference_capi.h" | ||||
| #include "include/capi/cef_request_context_handler_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to implement browser process callbacks. The functions of this | ||||
| /// structure will be called on the browser process main thread unless otherwise | ||||
| /// indicated. | ||||
| /// | ||||
| typedef struct _cef_browser_process_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Provides an opportunity to register custom preferences prior to global and | ||||
|   /// request context initialization. | ||||
|   /// | ||||
|   /// If |type| is CEF_PREFERENCES_TYPE_GLOBAL the registered preferences can be | ||||
|   /// accessed via cef_preference_manager_t::GetGlobalPreferences after | ||||
|   /// OnContextInitialized is called. Global preferences are registered a single | ||||
|   /// time at application startup. See related cef_settings_t.cache_path and | ||||
|   /// cef_settings_t.persist_user_preferences configuration. | ||||
|   /// | ||||
|   /// If |type| is CEF_PREFERENCES_TYPE_REQUEST_CONTEXT the preferences can be | ||||
|   /// accessed via the cef_request_context_t after | ||||
|   /// cef_request_context_handler_t::OnRequestContextInitialized is called. | ||||
|   /// Request context preferences are registered each time a new | ||||
|   /// cef_request_context_t is created. It is intended but not required that all | ||||
|   /// request contexts have the same registered preferences. See related | ||||
|   /// cef_request_context_settings_t.cache_path and | ||||
|   /// cef_request_context_settings_t.persist_user_preferences configuration. | ||||
|   /// | ||||
|   /// Do not keep a reference to the |registrar| object. This function is called | ||||
|   /// on the browser process UI thread. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_register_custom_preferences)( | ||||
|       struct _cef_browser_process_handler_t* self, | ||||
|       cef_preferences_type_t type, | ||||
|       struct _cef_preference_registrar_t* registrar); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process UI thread immediately after the CEF context | ||||
|   /// has been initialized. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_context_initialized)( | ||||
|       struct _cef_browser_process_handler_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Called before a child process is launched. Will be called on the browser | ||||
|   /// process UI thread when launching a render process and on the browser | ||||
|   /// process IO thread when launching a GPU process. Provides an opportunity to | ||||
|   /// modify the child process command line. Do not keep a reference to | ||||
|   /// |command_line| outside of this function. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_before_child_process_launch)( | ||||
|       struct _cef_browser_process_handler_t* self, | ||||
|       struct _cef_command_line_t* command_line); | ||||
|  | ||||
|   /// | ||||
|   /// Implement this function to provide app-specific behavior when an already | ||||
|   /// running app is relaunched with the same CefSettings.root_cache_path value. | ||||
|   /// For example, activate an existing app window or create a new app window. | ||||
|   /// |command_line| will be read-only. Do not keep a reference to | ||||
|   /// |command_line| outside of this function. Return true (1) if the relaunch | ||||
|   /// is handled or false (0) for default relaunch behavior. Default behavior | ||||
|   /// will create a new default styled Chrome window. | ||||
|   /// | ||||
|   /// To avoid cache corruption only a single app instance is allowed to run for | ||||
|   /// a given CefSettings.root_cache_path value. On relaunch the app checks a | ||||
|   /// process singleton lock and then forwards the new launch arguments to the | ||||
|   /// already running app process before exiting early. Client apps should | ||||
|   /// therefore check the cef_initialize() return value for early exit before | ||||
|   /// proceeding. | ||||
|   /// | ||||
|   /// This function will be called on the browser process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_already_running_app_relaunch)( | ||||
|       struct _cef_browser_process_handler_t* self, | ||||
|       struct _cef_command_line_t* command_line, | ||||
|       const cef_string_t* current_directory); | ||||
|  | ||||
|   /// | ||||
|   /// Called from any thread when work has been scheduled for the browser | ||||
|   /// process main (UI) thread. This callback is used in combination with | ||||
|   /// cef_settings_t.external_message_pump and cef_do_message_loop_work() in | ||||
|   /// cases where the CEF message loop must be integrated into an existing | ||||
|   /// application message loop (see additional comments and warnings on | ||||
|   /// CefDoMessageLoopWork). This callback should schedule a | ||||
|   /// cef_do_message_loop_work() call to happen on the main (UI) thread. | ||||
|   /// |delay_ms| is the requested delay in milliseconds. If |delay_ms| is <= 0 | ||||
|   /// then the call should happen reasonably soon. If |delay_ms| is > 0 then the | ||||
|   /// call should be scheduled to happen after the specified delay and any | ||||
|   /// currently pending scheduled call should be cancelled. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_schedule_message_pump_work)( | ||||
|       struct _cef_browser_process_handler_t* self, | ||||
|       int64_t delay_ms); | ||||
|  | ||||
|   /// | ||||
|   /// Return the default client for use with a newly created browser window | ||||
|   /// (cef_browser_t object). If null is returned the cef_browser_t will be | ||||
|   /// unmanaged (no callbacks will be executed for that cef_browser_t) and | ||||
|   /// application shutdown will be blocked until the browser window is closed | ||||
|   /// manually. This function is currently only used with the Chrome runtime | ||||
|   /// when creating new browser windows via Chrome UI. | ||||
|   /// | ||||
|   struct _cef_client_t*(CEF_CALLBACK* get_default_client)( | ||||
|       struct _cef_browser_process_handler_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the default handler for use with a new user or incognito profile | ||||
|   /// (cef_request_context_t object). If null is returned the | ||||
|   /// cef_request_context_t will be unmanaged (no callbacks will be executed for | ||||
|   /// that cef_request_context_t). This function is currently only used with the | ||||
|   /// Chrome runtime when creating new browser windows via Chrome UI. | ||||
|   /// | ||||
|   struct _cef_request_context_handler_t*( | ||||
|       CEF_CALLBACK* get_default_request_context_handler)( | ||||
|       struct _cef_browser_process_handler_t* self); | ||||
| } cef_browser_process_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_ | ||||
							
								
								
									
										88
									
								
								include/capi/cef_callback_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								include/capi/cef_callback_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,88 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=46bc048bec64590735298a95633167d66e445844$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Generic callback structure used for asynchronous continuation. | ||||
| /// | ||||
| typedef struct _cef_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Continue processing. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_callback_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel processing. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_callback_t* self); | ||||
| } cef_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Generic callback structure used for asynchronous completion. | ||||
| /// | ||||
| typedef struct _cef_completion_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called once the task is complete. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_complete)(struct _cef_completion_callback_t* self); | ||||
| } cef_completion_callback_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_ | ||||
							
								
								
									
										210
									
								
								include/capi/cef_client_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										210
									
								
								include/capi/cef_client_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,210 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=09bd4140605645c9dfbd81e7e22d029d0bb50129$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_audio_handler_capi.h" | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_command_handler_capi.h" | ||||
| #include "include/capi/cef_context_menu_handler_capi.h" | ||||
| #include "include/capi/cef_dialog_handler_capi.h" | ||||
| #include "include/capi/cef_display_handler_capi.h" | ||||
| #include "include/capi/cef_download_handler_capi.h" | ||||
| #include "include/capi/cef_drag_handler_capi.h" | ||||
| #include "include/capi/cef_find_handler_capi.h" | ||||
| #include "include/capi/cef_focus_handler_capi.h" | ||||
| #include "include/capi/cef_frame_handler_capi.h" | ||||
| #include "include/capi/cef_jsdialog_handler_capi.h" | ||||
| #include "include/capi/cef_keyboard_handler_capi.h" | ||||
| #include "include/capi/cef_life_span_handler_capi.h" | ||||
| #include "include/capi/cef_load_handler_capi.h" | ||||
| #include "include/capi/cef_permission_handler_capi.h" | ||||
| #include "include/capi/cef_print_handler_capi.h" | ||||
| #include "include/capi/cef_process_message_capi.h" | ||||
| #include "include/capi/cef_render_handler_capi.h" | ||||
| #include "include/capi/cef_request_handler_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to provide handler implementations. | ||||
| /// | ||||
| typedef struct _cef_client_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for audio rendering events. | ||||
|   /// | ||||
|   struct _cef_audio_handler_t*(CEF_CALLBACK* get_audio_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for commands. If no handler is provided the default | ||||
|   /// implementation will be used. | ||||
|   /// | ||||
|   struct _cef_command_handler_t*(CEF_CALLBACK* get_command_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for context menus. If no handler is provided the | ||||
|   /// default implementation will be used. | ||||
|   /// | ||||
|   struct _cef_context_menu_handler_t*(CEF_CALLBACK* get_context_menu_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for dialogs. If no handler is provided the default | ||||
|   /// implementation will be used. | ||||
|   /// | ||||
|   struct _cef_dialog_handler_t*(CEF_CALLBACK* get_dialog_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for browser display state events. | ||||
|   /// | ||||
|   struct _cef_display_handler_t*(CEF_CALLBACK* get_display_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for download events. If no handler is returned | ||||
|   /// downloads will not be allowed. | ||||
|   /// | ||||
|   struct _cef_download_handler_t*(CEF_CALLBACK* get_download_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for drag events. | ||||
|   /// | ||||
|   struct _cef_drag_handler_t*(CEF_CALLBACK* get_drag_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for find result events. | ||||
|   /// | ||||
|   struct _cef_find_handler_t*(CEF_CALLBACK* get_find_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for focus events. | ||||
|   /// | ||||
|   struct _cef_focus_handler_t*(CEF_CALLBACK* get_focus_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for events related to cef_frame_t lifespan. This | ||||
|   /// function will be called once during cef_browser_t creation and the result | ||||
|   /// will be cached for performance reasons. | ||||
|   /// | ||||
|   struct _cef_frame_handler_t*(CEF_CALLBACK* get_frame_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for permission requests. | ||||
|   /// | ||||
|   struct _cef_permission_handler_t*(CEF_CALLBACK* get_permission_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for JavaScript dialogs. If no handler is provided the | ||||
|   /// default implementation will be used. | ||||
|   /// | ||||
|   struct _cef_jsdialog_handler_t*(CEF_CALLBACK* get_jsdialog_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for keyboard events. | ||||
|   /// | ||||
|   struct _cef_keyboard_handler_t*(CEF_CALLBACK* get_keyboard_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for browser life span events. | ||||
|   /// | ||||
|   struct _cef_life_span_handler_t*(CEF_CALLBACK* get_life_span_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for browser load status events. | ||||
|   /// | ||||
|   struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for printing on Linux. If a print handler is not | ||||
|   /// provided then printing will not be supported on the Linux platform. | ||||
|   /// | ||||
|   struct _cef_print_handler_t*(CEF_CALLBACK* get_print_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for off-screen rendering events. | ||||
|   /// | ||||
|   struct _cef_render_handler_t*(CEF_CALLBACK* get_render_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for browser request events. | ||||
|   /// | ||||
|   struct _cef_request_handler_t*(CEF_CALLBACK* get_request_handler)( | ||||
|       struct _cef_client_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a new message is received from a different process. Return | ||||
|   /// true (1) if the message was handled or false (0) otherwise.  It is safe to | ||||
|   /// keep a reference to |message| outside of this callback. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_process_message_received)( | ||||
|       struct _cef_client_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       cef_process_id_t source_process, | ||||
|       struct _cef_process_message_t* message); | ||||
| } cef_client_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | ||||
							
								
								
									
										120
									
								
								include/capi/cef_command_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								include/capi/cef_command_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=dd183a473b1e8c5ee8bdcf99949fc5274c4cc892$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to commands. The functions | ||||
| /// of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_command_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called to execute a Chrome command triggered via menu selection or | ||||
|   /// keyboard shortcut. Values for |command_id| can be found in the | ||||
|   /// cef_command_ids.h file. |disposition| provides information about the | ||||
|   /// intended command target. Return true (1) if the command was handled or | ||||
|   /// false (0) for the default implementation. For context menu commands this | ||||
|   /// will be called after cef_context_menu_handler_t::OnContextMenuCommand. | ||||
|   /// Only used with the Chrome runtime. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_chrome_command)( | ||||
|       struct _cef_command_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int command_id, | ||||
|       cef_window_open_disposition_t disposition); | ||||
|  | ||||
|   /// | ||||
|   /// Called to check if a Chrome app menu item should be visible. Values for | ||||
|   /// |command_id| can be found in the cef_command_ids.h file. Only called for | ||||
|   /// menu items that would be visible by default. Only used with the Chrome | ||||
|   /// runtime. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_chrome_app_menu_item_visible)( | ||||
|       struct _cef_command_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Called to check if a Chrome app menu item should be enabled. Values for | ||||
|   /// |command_id| can be found in the cef_command_ids.h file. Only called for | ||||
|   /// menu items that would be enabled by default. Only used with the Chrome | ||||
|   /// runtime. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_chrome_app_menu_item_enabled)( | ||||
|       struct _cef_command_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Called during browser creation to check if a Chrome page action icon | ||||
|   /// should be visible. Only called for icons that would be visible by default. | ||||
|   /// Only used with the Chrome runtime. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_chrome_page_action_icon_visible)( | ||||
|       struct _cef_command_handler_t* self, | ||||
|       cef_chrome_page_action_icon_type_t icon_type); | ||||
|  | ||||
|   /// | ||||
|   /// Called during browser creation to check if a Chrome toolbar button should | ||||
|   /// be visible. Only called for buttons that would be visible by default. Only | ||||
|   /// used with the Chrome runtime. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_chrome_toolbar_button_visible)( | ||||
|       struct _cef_command_handler_t* self, | ||||
|       cef_chrome_toolbar_button_type_t button_type); | ||||
| } cef_command_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_ | ||||
							
								
								
									
										215
									
								
								include/capi/cef_command_line_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										215
									
								
								include/capi/cef_command_line_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,215 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=fce786b3f054d6581438e2906b77e573c797372a$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to create and/or parse command line arguments. Arguments with | ||||
| /// "--", "-" and, on Windows, "/" prefixes are considered switches. Switches | ||||
| /// will always precede any arguments without switch prefixes. Switches can | ||||
| /// optionally have a value specified using the "=" delimiter (e.g. | ||||
| /// "-switch=value"). An argument of "--" will terminate switch parsing with all | ||||
| /// subsequent tokens, regardless of prefix, being interpreted as non-switch | ||||
| /// arguments. Switch names should be lowercase ASCII and will be converted to | ||||
| /// such if necessary. Switch values will retain the original case and UTF8 | ||||
| /// encoding. This structure can be used before cef_initialize() is called. | ||||
| /// | ||||
| typedef struct _cef_command_line_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is valid. Do not call any other functions | ||||
|   /// if this function returns false (0). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_valid)(struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the values of this object are read-only. Some APIs may | ||||
|   /// expose read-only objects. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a writable copy of this object. | ||||
|   /// | ||||
|   struct _cef_command_line_t*(CEF_CALLBACK* copy)( | ||||
|       struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Initialize the command line with the specified |argc| and |argv| values. | ||||
|   /// The first argument must be the name of the program. This function is only | ||||
|   /// supported on non-Windows platforms. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* init_from_argv)(struct _cef_command_line_t* self, | ||||
|                                      int argc, | ||||
|                                      const char* const* argv); | ||||
|  | ||||
|   /// | ||||
|   /// Initialize the command line with the string returned by calling | ||||
|   /// GetCommandLineW(). This function is only supported on Windows. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* init_from_string)(struct _cef_command_line_t* self, | ||||
|                                        const cef_string_t* command_line); | ||||
|  | ||||
|   /// | ||||
|   /// Reset the command-line switches and arguments but leave the program | ||||
|   /// component unchanged. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* reset)(struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve the original command line string as a vector of strings. The argv | ||||
|   /// array: `{ program, [(--|-|/)switch[=value]]*, [--], [argument]* }` | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_argv)(struct _cef_command_line_t* self, | ||||
|                                cef_string_list_t argv); | ||||
|  | ||||
|   /// | ||||
|   /// Constructs and returns the represented command line string. Use this | ||||
|   /// function cautiously because quoting behavior is unclear. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_command_line_string)( | ||||
|       struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the program part of the command line string (the first item). | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_program)( | ||||
|       struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the program part of the command line string (the first item). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_program)(struct _cef_command_line_t* self, | ||||
|                                   const cef_string_t* program); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the command line has switches. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_switches)(struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the command line contains the given switch. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_switch)(struct _cef_command_line_t* self, | ||||
|                                 const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the value associated with the given switch. If the switch has no | ||||
|   /// value or isn't present this function returns the NULL string. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_switch_value)( | ||||
|       struct _cef_command_line_t* self, | ||||
|       const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the map of switch names and values. If a switch has no value an | ||||
|   /// NULL string is returned. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_switches)(struct _cef_command_line_t* self, | ||||
|                                    cef_string_map_t switches); | ||||
|  | ||||
|   /// | ||||
|   /// Add a switch to the end of the command line. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* append_switch)(struct _cef_command_line_t* self, | ||||
|                                     const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Add a switch with the specified value to the end of the command line. If | ||||
|   /// the switch has no value pass an NULL value string. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* append_switch_with_value)(struct _cef_command_line_t* self, | ||||
|                                                const cef_string_t* name, | ||||
|                                                const cef_string_t* value); | ||||
|  | ||||
|   /// | ||||
|   /// True if there are remaining command line arguments. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_arguments)(struct _cef_command_line_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the remaining command line arguments. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_arguments)(struct _cef_command_line_t* self, | ||||
|                                     cef_string_list_t arguments); | ||||
|  | ||||
|   /// | ||||
|   /// Add an argument to the end of the command line. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* append_argument)(struct _cef_command_line_t* self, | ||||
|                                       const cef_string_t* argument); | ||||
|  | ||||
|   /// | ||||
|   /// Insert a command before the current command. Common for debuggers, like | ||||
|   /// "valgrind" or "gdb --args". | ||||
|   /// | ||||
|   void(CEF_CALLBACK* prepend_wrapper)(struct _cef_command_line_t* self, | ||||
|                                       const cef_string_t* wrapper); | ||||
| } cef_command_line_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_command_line_t instance. | ||||
| /// | ||||
| CEF_EXPORT cef_command_line_t* cef_command_line_create(void); | ||||
|  | ||||
| /// | ||||
| /// Returns the singleton global cef_command_line_t object. The returned object | ||||
| /// will be read-only. | ||||
| /// | ||||
| CEF_EXPORT cef_command_line_t* cef_command_line_get_global(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_ | ||||
							
								
								
									
										367
									
								
								include/capi/cef_context_menu_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										367
									
								
								include/capi/cef_context_menu_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,367 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=3ae7dbb24ec7a95a2f4d4e390c9b6622221c2f42$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
| #include "include/capi/cef_menu_model_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_context_menu_params_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for continuation of custom context menu display. | ||||
| /// | ||||
| typedef struct _cef_run_context_menu_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Complete context menu display by selecting the specified |command_id| and | ||||
|   /// |event_flags|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_run_context_menu_callback_t* self, | ||||
|                            int command_id, | ||||
|                            cef_event_flags_t event_flags); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel context menu display. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_run_context_menu_callback_t* self); | ||||
| } cef_run_context_menu_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for continuation of custom quick menu display. | ||||
| /// | ||||
| typedef struct _cef_run_quick_menu_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Complete quick menu display by selecting the specified |command_id| and | ||||
|   /// |event_flags|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_run_quick_menu_callback_t* self, | ||||
|                            int command_id, | ||||
|                            cef_event_flags_t event_flags); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel quick menu display. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_run_quick_menu_callback_t* self); | ||||
| } cef_run_quick_menu_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle context menu events. The functions of | ||||
| /// this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_context_menu_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called before a context menu is displayed. |params| provides information | ||||
|   /// about the context menu state. |model| initially contains the default | ||||
|   /// context menu. The |model| can be cleared to show no context menu or | ||||
|   /// modified to show a custom menu. Do not keep references to |params| or | ||||
|   /// |model| outside of this callback. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_before_context_menu)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_context_menu_params_t* params, | ||||
|       struct _cef_menu_model_t* model); | ||||
|  | ||||
|   /// | ||||
|   /// Called to allow custom display of the context menu. |params| provides | ||||
|   /// information about the context menu state. |model| contains the context | ||||
|   /// menu model resulting from OnBeforeContextMenu. For custom display return | ||||
|   /// true (1) and execute |callback| either synchronously or asynchronously | ||||
|   /// with the selected command ID. For default display return false (0). Do not | ||||
|   /// keep references to |params| or |model| outside of this callback. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* run_context_menu)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_context_menu_params_t* params, | ||||
|       struct _cef_menu_model_t* model, | ||||
|       struct _cef_run_context_menu_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called to execute a command selected from the context menu. Return true | ||||
|   /// (1) if the command was handled or false (0) for the default | ||||
|   /// implementation. See cef_menu_id_t for the command ids that have default | ||||
|   /// implementations. All user-defined command ids should be between | ||||
|   /// MENU_ID_USER_FIRST and MENU_ID_USER_LAST. |params| will have the same | ||||
|   /// values as what was passed to on_before_context_menu(). Do not keep a | ||||
|   /// reference to |params| outside of this callback. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_context_menu_command)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_context_menu_params_t* params, | ||||
|       int command_id, | ||||
|       cef_event_flags_t event_flags); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the context menu is dismissed irregardless of whether the menu | ||||
|   /// was canceled or a command was selected. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_context_menu_dismissed)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame); | ||||
|  | ||||
|   /// | ||||
|   /// Called to allow custom display of the quick menu for a windowless browser. | ||||
|   /// |location| is the top left corner of the selected region. |size| is the | ||||
|   /// size of the selected region. |edit_state_flags| is a combination of flags | ||||
|   /// that represent the state of the quick menu. Return true (1) if the menu | ||||
|   /// will be handled and execute |callback| either synchronously or | ||||
|   /// asynchronously with the selected command ID. Return false (0) to cancel | ||||
|   /// the menu. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* run_quick_menu)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       const cef_point_t* location, | ||||
|       const cef_size_t* size, | ||||
|       cef_quick_menu_edit_state_flags_t edit_state_flags, | ||||
|       struct _cef_run_quick_menu_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called to execute a command selected from the quick menu for a windowless | ||||
|   /// browser. Return true (1) if the command was handled or false (0) for the | ||||
|   /// default implementation. See cef_menu_id_t for command IDs that have | ||||
|   /// default implementations. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_quick_menu_command)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       int command_id, | ||||
|       cef_event_flags_t event_flags); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the quick menu for a windowless browser is dismissed | ||||
|   /// irregardless of whether the menu was canceled or a command was selected. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_quick_menu_dismissed)( | ||||
|       struct _cef_context_menu_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame); | ||||
| } cef_context_menu_handler_t; | ||||
|  | ||||
| /// | ||||
| /// Provides information about the context menu state. The functions of this | ||||
| /// structure can only be accessed on browser process the UI thread. | ||||
| /// | ||||
| typedef struct _cef_context_menu_params_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the X coordinate of the mouse where the context menu was invoked. | ||||
|   /// Coords are relative to the associated RenderView's origin. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_xcoord)(struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the Y coordinate of the mouse where the context menu was invoked. | ||||
|   /// Coords are relative to the associated RenderView's origin. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_ycoord)(struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns flags representing the type of node that the context menu was | ||||
|   /// invoked on. | ||||
|   /// | ||||
|   cef_context_menu_type_flags_t(CEF_CALLBACK* get_type_flags)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the URL of the link, if any, that encloses the node that the | ||||
|   /// context menu was invoked on. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_link_url)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the link URL, if any, to be used ONLY for "copy link address". We | ||||
|   /// don't validate this field in the frontend process. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_unfiltered_link_url)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the source URL, if any, for the element that the context menu was | ||||
|   /// invoked on. Example of elements with source URLs are img, audio, and | ||||
|   /// video. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_source_url)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the context menu was invoked on an image which has | ||||
|   /// non-NULL contents. | ||||
|   /// | ||||
|   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. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_page_url)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the URL of the subframe that the context menu was invoked on. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_frame_url)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the character encoding of the subframe that the context menu was | ||||
|   /// invoked on. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_frame_charset)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the type of context node that the context menu was invoked on. | ||||
|   /// | ||||
|   cef_context_menu_media_type_t(CEF_CALLBACK* get_media_type)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns flags representing the actions supported by the media element, if | ||||
|   /// any, that the context menu was invoked on. | ||||
|   /// | ||||
|   cef_context_menu_media_state_flags_t(CEF_CALLBACK* get_media_state_flags)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the text of the selection, if any, that the context menu was | ||||
|   /// invoked on. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_selection_text)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the text of the misspelled word, if any, that the context menu was | ||||
|   /// invoked on. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_misspelled_word)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if suggestions exist, false (0) otherwise. Fills in | ||||
|   /// |suggestions| from the spell check service for the misspelled word if | ||||
|   /// there is one. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_dictionary_suggestions)( | ||||
|       struct _cef_context_menu_params_t* self, | ||||
|       cef_string_list_t suggestions); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the context menu was invoked on an editable node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_editable)(struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the context menu was invoked on an editable node where | ||||
|   /// spell-check is enabled. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_spell_check_enabled)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns flags representing the actions supported by the editable node, if | ||||
|   /// any, that the context menu was invoked on. | ||||
|   /// | ||||
|   cef_context_menu_edit_state_flags_t(CEF_CALLBACK* get_edit_state_flags)( | ||||
|       struct _cef_context_menu_params_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the context menu contains items specified by the | ||||
|   /// renderer process. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_custom_menu)(struct _cef_context_menu_params_t* self); | ||||
| } cef_context_menu_params_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_ | ||||
							
								
								
									
										199
									
								
								include/capi/cef_cookie_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								include/capi/cef_cookie_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=76ba2e59636aa71c8c6286093198a1e64d012c62$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_callback_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_cookie_visitor_t; | ||||
| struct _cef_delete_cookies_callback_t; | ||||
| struct _cef_set_cookie_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used for managing cookies. The functions of this structure may be | ||||
| /// called on any thread unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_cookie_manager_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Visit all cookies on the UI thread. The returned cookies are ordered by | ||||
|   /// longest path, then by earliest creation date. Returns false (0) if cookies | ||||
|   /// cannot be accessed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* visit_all_cookies)(struct _cef_cookie_manager_t* self, | ||||
|                                        struct _cef_cookie_visitor_t* visitor); | ||||
|  | ||||
|   /// | ||||
|   /// Visit a subset of cookies on the UI thread. The results are filtered by | ||||
|   /// the given url scheme, host, domain and path. If |includeHttpOnly| is true | ||||
|   /// (1) HTTP-only cookies will also be included in the results. The returned | ||||
|   /// cookies are ordered by longest path, then by earliest creation date. | ||||
|   /// Returns false (0) if cookies cannot be accessed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* visit_url_cookies)(struct _cef_cookie_manager_t* self, | ||||
|                                        const cef_string_t* url, | ||||
|                                        int includeHttpOnly, | ||||
|                                        struct _cef_cookie_visitor_t* visitor); | ||||
|  | ||||
|   /// | ||||
|   /// Sets a cookie given a valid URL and explicit user-provided cookie | ||||
|   /// attributes. This function expects each attribute to be well-formed. It | ||||
|   /// will check for disallowed characters (e.g. the ';' character is disallowed | ||||
|   /// within the cookie value attribute) and fail without setting the cookie if | ||||
|   /// such characters are found. If |callback| is non-NULL it will be executed | ||||
|   /// asnychronously on the UI thread after the cookie has been set. Returns | ||||
|   /// false (0) if an invalid URL is specified or if cookies cannot be accessed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_cookie)(struct _cef_cookie_manager_t* self, | ||||
|                                 const cef_string_t* url, | ||||
|                                 const struct _cef_cookie_t* cookie, | ||||
|                                 struct _cef_set_cookie_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Delete all cookies that match the specified parameters. If both |url| and | ||||
|   /// |cookie_name| values are specified all host and domain cookies matching | ||||
|   /// both will be deleted. If only |url| is specified all host cookies (but not | ||||
|   /// domain cookies) irrespective of path will be deleted. If |url| is NULL all | ||||
|   /// cookies for all hosts and domains will be deleted. If |callback| is non- | ||||
|   /// NULL it will be executed asnychronously on the UI thread after the cookies | ||||
|   /// have been deleted. Returns false (0) if a non-NULL invalid URL is | ||||
|   /// specified or if cookies cannot be accessed. Cookies can alternately be | ||||
|   /// deleted using the Visit*Cookies() functions. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* delete_cookies)( | ||||
|       struct _cef_cookie_manager_t* self, | ||||
|       const cef_string_t* url, | ||||
|       const cef_string_t* cookie_name, | ||||
|       struct _cef_delete_cookies_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Flush the backing store (if any) to disk. If |callback| is non-NULL it | ||||
|   /// will be executed asnychronously on the UI thread after the flush is | ||||
|   /// complete. Returns false (0) if cookies cannot be accessed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* flush_store)(struct _cef_cookie_manager_t* self, | ||||
|                                  struct _cef_completion_callback_t* callback); | ||||
| } cef_cookie_manager_t; | ||||
|  | ||||
| /// | ||||
| /// Returns the global cookie manager. By default data will be stored at | ||||
| /// cef_settings_t.cache_path if specified or in memory otherwise. If |callback| | ||||
| /// is non-NULL it will be executed asnychronously on the UI thread after the | ||||
| /// manager's storage has been initialized. Using this function is equivalent to | ||||
| /// calling cef_request_context_t::cef_request_context_get_global_context()- | ||||
| /// >GetDefaultCookieManager(). | ||||
| /// | ||||
| CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_global_manager( | ||||
|     struct _cef_completion_callback_t* callback); | ||||
|  | ||||
| /// | ||||
| /// Structure to implement for visiting cookie values. The functions of this | ||||
| /// structure will always be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_cookie_visitor_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called once for each cookie. |count| is the 0-based | ||||
|   /// index for the current cookie. |total| is the total number of cookies. Set | ||||
|   /// |deleteCookie| to true (1) to delete the cookie currently being visited. | ||||
|   /// Return false (0) to stop visiting cookies. This function may never be | ||||
|   /// called if no cookies are found. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* visit)(struct _cef_cookie_visitor_t* self, | ||||
|                            const struct _cef_cookie_t* cookie, | ||||
|                            int count, | ||||
|                            int total, | ||||
|                            int* deleteCookie); | ||||
| } cef_cookie_visitor_t; | ||||
|  | ||||
| /// | ||||
| /// Structure to implement to be notified of asynchronous completion via | ||||
| /// cef_cookie_manager_t::set_cookie(). | ||||
| /// | ||||
| typedef struct _cef_set_cookie_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called upon completion. |success| will be true (1) if | ||||
|   /// the cookie was set successfully. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_complete)(struct _cef_set_cookie_callback_t* self, | ||||
|                                   int success); | ||||
| } cef_set_cookie_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Structure to implement to be notified of asynchronous completion via | ||||
| /// cef_cookie_manager_t::delete_cookies(). | ||||
| /// | ||||
| typedef struct _cef_delete_cookies_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called upon completion. |num_deleted| will be the | ||||
|   /// number of cookies that were deleted. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_complete)(struct _cef_delete_cookies_callback_t* self, | ||||
|                                   int num_deleted); | ||||
| } cef_delete_cookies_callback_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_ | ||||
							
								
								
									
										154
									
								
								include/capi/cef_crash_util_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								include/capi/cef_crash_util_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,154 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=46a6432f66cce88d8597c3d070681b09a712dc54$ | ||||
| // | ||||
|  | ||||
| #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: | ||||
| /// | ||||
| /// <pre> | ||||
| ///  # 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> | ||||
| /// </pre> | ||||
| /// | ||||
| /// <b>Config section:</b> | ||||
| /// | ||||
| /// 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 cef_settings_t.root_cache_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 cef_settings_t.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. | ||||
| /// | ||||
| /// <b>CrashKeys section:</b> | ||||
| /// | ||||
| /// A maximum of 26 crash keys of each size can be specified for use by the | ||||
| /// application. Crash key values will be truncated based on the specified size | ||||
| /// (small = 64 bytes, medium = 256 bytes, large = 1024 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. | ||||
| /// | ||||
| CEF_EXPORT int cef_crash_reporting_enabled(void); | ||||
|  | ||||
| /// | ||||
| /// 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_ | ||||
							
								
								
									
										148
									
								
								include/capi/cef_devtools_message_observer_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								include/capi/cef_devtools_message_observer_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,148 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=dd94c50619e92bf5bed4fe61479813ee559f779d$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_browser_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The | ||||
| /// functions of this structure will be called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_dev_tools_message_observer_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called on receipt of a DevTools protocol message. | ||||
|   /// |browser| is the originating browser instance. |message| is a UTF8-encoded | ||||
|   /// JSON dictionary representing either a function result or an event. | ||||
|   /// |message| is only valid for the scope of this callback and should be | ||||
|   /// copied if necessary. Return true (1) if the message was handled or false | ||||
|   /// (0) if the message should be further processed and passed to the | ||||
|   /// OnDevToolsMethodResult or OnDevToolsEvent functions as appropriate. | ||||
|   /// | ||||
|   /// Method result dictionaries include an "id" (int) value that identifies the | ||||
|   /// orginating function call sent from | ||||
|   /// cef_browser_host_t::SendDevToolsMessage, and optionally either a "result" | ||||
|   /// (dictionary) or "error" (dictionary) value. The "error" dictionary will | ||||
|   /// contain "code" (int) and "message" (string) values. Event dictionaries | ||||
|   /// include a "function" (string) value and optionally a "params" (dictionary) | ||||
|   /// value. See the DevTools protocol documentation at | ||||
|   /// https://chromedevtools.github.io/devtools-protocol/ for details of | ||||
|   /// supported function calls and the expected "result" or "params" dictionary | ||||
|   /// contents. JSON dictionaries can be parsed using the CefParseJSON function | ||||
|   /// if desired, however be aware of performance considerations when parsing | ||||
|   /// large messages (some of which may exceed 1MB in size). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_dev_tools_message)( | ||||
|       struct _cef_dev_tools_message_observer_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const void* message, | ||||
|       size_t message_size); | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called after attempted execution of a DevTools | ||||
|   /// protocol function. |browser| is the originating browser instance. | ||||
|   /// |message_id| is the "id" value that identifies the originating function | ||||
|   /// call message. If the function succeeded |success| will be true (1) and | ||||
|   /// |result| will be the UTF8-encoded JSON "result" dictionary value (which | ||||
|   /// may be NULL). If the function failed |success| will be false (0) and | ||||
|   /// |result| will be the UTF8-encoded JSON "error" dictionary value. |result| | ||||
|   /// is only valid for the scope of this callback and should be copied if | ||||
|   /// necessary. See the OnDevToolsMessage documentation for additional details | ||||
|   /// on |result| contents. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_dev_tools_method_result)( | ||||
|       struct _cef_dev_tools_message_observer_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int message_id, | ||||
|       int success, | ||||
|       const void* result, | ||||
|       size_t result_size); | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called on receipt of a DevTools protocol event. | ||||
|   /// |browser| is the originating browser instance. |function| is the | ||||
|   /// "function" value. |params| is the UTF8-encoded JSON "params" dictionary | ||||
|   /// value (which may be NULL). |params| is only valid for the scope of this | ||||
|   /// callback and should be copied if necessary. See the OnDevToolsMessage | ||||
|   /// documentation for additional details on |params| contents. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_dev_tools_event)( | ||||
|       struct _cef_dev_tools_message_observer_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_string_t* method, | ||||
|       const void* params, | ||||
|       size_t params_size); | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called when the DevTools agent has attached. |browser| | ||||
|   /// is the originating browser instance. This will generally occur in response | ||||
|   /// to the first message sent while the agent is detached. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_dev_tools_agent_attached)( | ||||
|       struct _cef_dev_tools_message_observer_t* self, | ||||
|       struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be called when the DevTools agent has detached. |browser| | ||||
|   /// is the originating browser instance. Any function results that were | ||||
|   /// pending before the agent became detached will not be delivered, and any | ||||
|   /// active event subscriptions will be canceled. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_dev_tools_agent_detached)( | ||||
|       struct _cef_dev_tools_message_observer_t* self, | ||||
|       struct _cef_browser_t* browser); | ||||
| } cef_dev_tools_message_observer_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_ | ||||
							
								
								
									
										120
									
								
								include/capi/cef_dialog_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								include/capi/cef_dialog_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=bf7208a86ee17f63fd7163cef8c3a13373a1f1c8$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback structure for asynchronous continuation of file dialog requests. | ||||
| /// | ||||
| typedef struct _cef_file_dialog_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Continue the file selection. |file_paths| should be a single value or a | ||||
|   /// list of values depending on the dialog mode. An NULL |file_paths| value is | ||||
|   /// treated the same as calling cancel(). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_file_dialog_callback_t* self, | ||||
|                            cef_string_list_t file_paths); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel the file selection. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_file_dialog_callback_t* self); | ||||
| } cef_file_dialog_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle dialog events. The functions of this | ||||
| /// structure will be called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_dialog_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called to run a file chooser dialog. |mode| represents the type of dialog | ||||
|   /// to display. |title| to the title to be used for the dialog and may be NULL | ||||
|   /// to show the default title ("Open" or "Save" depending on the mode). | ||||
|   /// |default_file_path| is the path with optional directory and/or file name | ||||
|   /// component that should be initially selected in the dialog. | ||||
|   /// |accept_filters| are used to restrict the selectable file types and may be | ||||
|   /// any combination of valid lower-cased MIME types (e.g. "text/*" or | ||||
|   /// "image/*") and individual file extensions (e.g. ".txt" or ".png"). | ||||
|   /// |accept_extensions| provides the semicolon-delimited expansion of MIME | ||||
|   /// types to file extensions (if known, or NULL string otherwise). | ||||
|   /// |accept_descriptions| provides the descriptions for MIME types (if known, | ||||
|   /// or NULL string otherwise). For example, the "image/*" mime type might have | ||||
|   /// extensions ".png;.jpg;.bmp;..." and description "Image Files". | ||||
|   /// |accept_filters|, |accept_extensions| and |accept_descriptions| will all | ||||
|   /// be the same size. To display a custom dialog return true (1) and execute | ||||
|   /// |callback| either inline or at a later time. To display the default dialog | ||||
|   /// return false (0). If this function returns false (0) it may be called an | ||||
|   /// additional time for the same dialog (both before and after MIME type | ||||
|   /// expansion). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_file_dialog)( | ||||
|       struct _cef_dialog_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       cef_file_dialog_mode_t mode, | ||||
|       const cef_string_t* title, | ||||
|       const cef_string_t* default_file_path, | ||||
|       cef_string_list_t accept_filters, | ||||
|       cef_string_list_t accept_extensions, | ||||
|       cef_string_list_t accept_descriptions, | ||||
|       struct _cef_file_dialog_callback_t* callback); | ||||
| } cef_dialog_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_ | ||||
							
								
								
									
										178
									
								
								include/capi/cef_display_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										178
									
								
								include/capi/cef_display_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,178 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=5a99c5e88ea0e123087234b2795fa625fed183f2$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to browser display state. | ||||
| /// The functions of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_display_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when a frame's address has changed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_address_change)(struct _cef_display_handler_t* self, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         struct _cef_frame_t* frame, | ||||
|                                         const cef_string_t* url); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the page title changes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_title_change)(struct _cef_display_handler_t* self, | ||||
|                                       struct _cef_browser_t* browser, | ||||
|                                       const cef_string_t* title); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the page icon changes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_favicon_urlchange)(struct _cef_display_handler_t* self, | ||||
|                                            struct _cef_browser_t* browser, | ||||
|                                            cef_string_list_t icon_urls); | ||||
|  | ||||
|   /// | ||||
|   /// Called when web content in the page has toggled fullscreen mode. If | ||||
|   /// |fullscreen| is true (1) the content will automatically be sized to fill | ||||
|   /// the browser content area. If |fullscreen| is false (0) the content will | ||||
|   /// automatically return to its original size and position. With the Alloy | ||||
|   /// runtime the client is responsible for triggering the fullscreen transition | ||||
|   /// (for example, by calling cef_window_t::SetFullscreen when using Views). | ||||
|   /// With the Chrome runtime the fullscreen transition will be triggered | ||||
|   /// automatically. The cef_window_delegate_t::OnWindowFullscreenTransition | ||||
|   /// function will be called during the fullscreen transition for notification | ||||
|   /// purposes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_fullscreen_mode_change)( | ||||
|       struct _cef_display_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int fullscreen); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser is about to display a tooltip. |text| contains the | ||||
|   /// text that will be displayed in the tooltip. To handle the display of the | ||||
|   /// tooltip yourself return true (1). Otherwise, you can optionally modify | ||||
|   /// |text| and then return false (0) to allow the browser to display the | ||||
|   /// tooltip. When window rendering is disabled the application is responsible | ||||
|   /// for drawing tooltips and the return value is ignored. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_tooltip)(struct _cef_display_handler_t* self, | ||||
|                                 struct _cef_browser_t* browser, | ||||
|                                 cef_string_t* text); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser receives a status message. |value| contains the | ||||
|   /// text that will be displayed in the status message. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_status_message)(struct _cef_display_handler_t* self, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         const cef_string_t* value); | ||||
|  | ||||
|   /// | ||||
|   /// Called to display a console message. Return true (1) to stop the message | ||||
|   /// from being output to the console. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_console_message)(struct _cef_display_handler_t* self, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         cef_log_severity_t level, | ||||
|                                         const cef_string_t* message, | ||||
|                                         const cef_string_t* source, | ||||
|                                         int line); | ||||
|  | ||||
|   /// | ||||
|   /// Called when auto-resize is enabled via | ||||
|   /// cef_browser_host_t::SetAutoResizeEnabled and the contents have auto- | ||||
|   /// resized. |new_size| will be the desired size in view coordinates. Return | ||||
|   /// true (1) if the resize was handled or false (0) for default handling. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_auto_resize)(struct _cef_display_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     const cef_size_t* new_size); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the overall page loading progress has changed. |progress| | ||||
|   /// ranges from 0.0 to 1.0. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_loading_progress_change)( | ||||
|       struct _cef_display_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       double progress); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser's cursor has changed. If |type| is CT_CUSTOM then | ||||
|   /// |custom_cursor_info| will be populated with the custom cursor information. | ||||
|   /// Return true (1) if the cursor change was handled or false (0) for default | ||||
|   /// handling. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_cursor_change)( | ||||
|       struct _cef_display_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       cef_cursor_handle_t cursor, | ||||
|       cef_cursor_type_t type, | ||||
|       const cef_cursor_info_t* custom_cursor_info); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser's access to an audio and/or video source has | ||||
|   /// changed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_media_access_change)( | ||||
|       struct _cef_display_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int has_video_access, | ||||
|       int has_audio_access); | ||||
| } cef_display_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_ | ||||
							
								
								
									
										345
									
								
								include/capi/cef_dom_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										345
									
								
								include/capi/cef_dom_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,345 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=a4d2f79163205ed4367916546240a6aedc2165f9$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_domdocument_t; | ||||
| struct _cef_domnode_t; | ||||
|  | ||||
| /// | ||||
| /// Structure to implement for visiting the DOM. The functions of this structure | ||||
| /// will be called on the render process main thread. | ||||
| /// | ||||
| typedef struct _cef_domvisitor_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method executed for visiting the DOM. The document object passed to this | ||||
|   /// function represents a snapshot of the DOM at the time this function is | ||||
|   /// executed. DOM objects are only valid for the scope of this function. Do | ||||
|   /// not keep references to or attempt to access any DOM objects outside the | ||||
|   /// scope of this function. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* visit)(struct _cef_domvisitor_t* self, | ||||
|                             struct _cef_domdocument_t* document); | ||||
| } cef_domvisitor_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent a DOM document. The functions of this structure | ||||
| /// should only be called on the render process main thread thread. | ||||
| /// | ||||
| typedef struct _cef_domdocument_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the document type. | ||||
|   /// | ||||
|   cef_dom_document_type_t(CEF_CALLBACK* get_type)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the root document node. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_document)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the BODY node of an HTML document. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_body)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the HEAD node of an HTML document. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_head)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the title of an HTML document. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_title)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the document element with the specified ID value. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_element_by_id)( | ||||
|       struct _cef_domdocument_t* self, | ||||
|       const cef_string_t* id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the node that currently has keyboard focus. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_focused_node)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if a portion of the document is selected. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_selection)(struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the selection offset within the start node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_selection_start_offset)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the selection offset within the end node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_selection_end_offset)(struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the contents of this selection as markup. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_selection_as_markup)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the contents of this selection as text. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_selection_as_text)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the base URL for the document. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_base_url)( | ||||
|       struct _cef_domdocument_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a complete URL based on the document base URL and the specified | ||||
|   /// partial URL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_complete_url)( | ||||
|       struct _cef_domdocument_t* self, | ||||
|       const cef_string_t* partialURL); | ||||
| } cef_domdocument_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent a DOM node. The functions of this structure | ||||
| /// should only be called on the render process main thread. | ||||
| /// | ||||
| typedef struct _cef_domnode_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the type for this node. | ||||
|   /// | ||||
|   cef_dom_node_type_t(CEF_CALLBACK* get_type)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this is a text node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_text)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this is an element node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_element)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this is an editable node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_editable)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this is a form control element node. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_form_control_element)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the type of this form control element node. | ||||
|   /// | ||||
|   cef_dom_form_control_type_t(CEF_CALLBACK* get_form_control_element_type)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is pointing to the same handle as |that| | ||||
|   /// object. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_same)(struct _cef_domnode_t* self, | ||||
|                              struct _cef_domnode_t* that); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the name of this node. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_name)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the value of this node. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_value)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the value of this node. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_value)(struct _cef_domnode_t* self, | ||||
|                                const cef_string_t* value); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the contents of this node as markup. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_as_markup)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the document associated with this node. | ||||
|   /// | ||||
|   struct _cef_domdocument_t*(CEF_CALLBACK* get_document)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the parent node. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_parent)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the previous sibling node. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_previous_sibling)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the next sibling node. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_next_sibling)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this node has child nodes. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_children)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the first child node. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_first_child)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the last child node. | ||||
|   /// | ||||
|   struct _cef_domnode_t*(CEF_CALLBACK* get_last_child)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the tag name of this element. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_element_tag_name)( | ||||
|       struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this element has attributes. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_element_attributes)(struct _cef_domnode_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this element has an attribute named |attrName|. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_element_attribute)(struct _cef_domnode_t* self, | ||||
|                                            const cef_string_t* attrName); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the element attribute named |attrName|. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_element_attribute)( | ||||
|       struct _cef_domnode_t* self, | ||||
|       const cef_string_t* attrName); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a map of all element attributes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_element_attributes)(struct _cef_domnode_t* self, | ||||
|                                              cef_string_map_t attrMap); | ||||
|  | ||||
|   /// | ||||
|   /// Set the value for the element attribute named |attrName|. Returns true (1) | ||||
|   /// on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_element_attribute)(struct _cef_domnode_t* self, | ||||
|                                            const cef_string_t* attrName, | ||||
|                                            const cef_string_t* value); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the inner text of the element. | ||||
|   /// | ||||
|   // 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 in device pixels. Use | ||||
|   /// "window.devicePixelRatio" to convert to/from CSS pixels. | ||||
|   /// | ||||
|   cef_rect_t(CEF_CALLBACK* get_element_bounds)(struct _cef_domnode_t* self); | ||||
| } cef_domnode_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_ | ||||
							
								
								
									
										151
									
								
								include/capi/cef_download_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								include/capi/cef_download_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,151 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=7ecfb07a95315ff81937e9f68d419122fc88f1b7$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_download_item_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback structure used to asynchronously continue a download. | ||||
| /// | ||||
| typedef struct _cef_before_download_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Call to continue the download. Set |download_path| to the full file path | ||||
|   /// for the download including the file name or leave blank to use the | ||||
|   /// suggested name and the default temp directory. Set |show_dialog| to true | ||||
|   /// (1) if you do wish to show the default "Save As" dialog. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_before_download_callback_t* self, | ||||
|                            const cef_string_t* download_path, | ||||
|                            int show_dialog); | ||||
| } cef_before_download_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure used to asynchronously cancel a download. | ||||
| /// | ||||
| typedef struct _cef_download_item_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Call to cancel the download. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_download_item_callback_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Call to pause the download. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* pause)(struct _cef_download_item_callback_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Call to resume the download. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* resume)(struct _cef_download_item_callback_t* self); | ||||
| } cef_download_item_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used to handle file downloads. The functions of this structure | ||||
| /// will called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_download_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called before a download begins in response to a user-initiated action | ||||
|   /// (e.g. alt + link click or link click that returns a `Content-Disposition: | ||||
|   /// attachment` response from the server). |url| is the target download URL | ||||
|   /// and |request_function| is the target function (GET, POST, etc). Return | ||||
|   /// true (1) to proceed with the download or false (0) to cancel the download. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* can_download)(struct _cef_download_handler_t* self, | ||||
|                                   struct _cef_browser_t* browser, | ||||
|                                   const cef_string_t* url, | ||||
|                                   const cef_string_t* request_method); | ||||
|  | ||||
|   /// | ||||
|   /// Called before a download begins. |suggested_name| is the suggested name | ||||
|   /// for the download file. Return true (1) and execute |callback| either | ||||
|   /// asynchronously or in this function to continue or cancel the download. | ||||
|   /// Return false (0) to proceed with default handling (cancel with Alloy | ||||
|   /// style, download shelf with Chrome style). Do not keep a reference to | ||||
|   /// |download_item| outside of this function. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_before_download)( | ||||
|       struct _cef_download_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_download_item_t* download_item, | ||||
|       const cef_string_t* suggested_name, | ||||
|       struct _cef_before_download_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a download's status or progress information has been updated. | ||||
|   /// This may be called multiple times before and after on_before_download(). | ||||
|   /// Execute |callback| either asynchronously or in this function to cancel the | ||||
|   /// download if desired. Do not keep a reference to |download_item| outside of | ||||
|   /// this function. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_download_updated)( | ||||
|       struct _cef_download_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_download_item_t* download_item, | ||||
|       struct _cef_download_item_callback_t* callback); | ||||
| } cef_download_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_ | ||||
							
								
								
									
										174
									
								
								include/capi/cef_download_item_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								include/capi/cef_download_item_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=9af8ade3addfd112db41792c4e80682a8143e8c4$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent a download item. | ||||
| /// | ||||
| typedef struct _cef_download_item_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is valid. Do not call any other functions | ||||
|   /// if this function returns false (0). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_valid)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the download is in progress. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_in_progress)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the download is complete. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_complete)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the download has been canceled. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_canceled)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the download has been interrupted. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_interrupted)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the most recent interrupt reason. | ||||
|   /// | ||||
|   cef_download_interrupt_reason_t(CEF_CALLBACK* get_interrupt_reason)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a simple speed estimate in bytes/s. | ||||
|   /// | ||||
|   int64_t(CEF_CALLBACK* get_current_speed)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the rough percent complete or -1 if the receive total size is | ||||
|   /// unknown. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_percent_complete)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the total number of bytes. | ||||
|   /// | ||||
|   int64_t(CEF_CALLBACK* get_total_bytes)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the number of received bytes. | ||||
|   /// | ||||
|   int64_t(CEF_CALLBACK* get_received_bytes)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the time that the download started. | ||||
|   /// | ||||
|   cef_basetime_t(CEF_CALLBACK* get_start_time)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the time that the download ended. | ||||
|   /// | ||||
|   cef_basetime_t(CEF_CALLBACK* get_end_time)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the full path to the downloaded or downloading file. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_full_path)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the unique identifier for this download. | ||||
|   /// | ||||
|   uint32_t(CEF_CALLBACK* get_id)(struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the URL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_url)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the original URL before any redirections. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_original_url)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the suggested file name. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_suggested_file_name)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the content disposition. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_content_disposition)( | ||||
|       struct _cef_download_item_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the mime type. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_mime_type)( | ||||
|       struct _cef_download_item_t* self); | ||||
| } cef_download_item_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_ | ||||
							
								
								
									
										240
									
								
								include/capi/cef_drag_data_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										240
									
								
								include/capi/cef_drag_data_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,240 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=a096775255ddc4d7616095e48e7370bd87bf4bb5$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_image_capi.h" | ||||
| #include "include/capi/cef_stream_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent drag data. The functions of this structure may | ||||
| /// be called on any thread. | ||||
| /// | ||||
| typedef struct _cef_drag_data_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns a copy of the current object. | ||||
|   /// | ||||
|   struct _cef_drag_data_t*(CEF_CALLBACK* clone)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is read-only. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the drag data is a link. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_link)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the drag data is a text or html fragment. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_fragment)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the drag data is a file. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_file)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the link URL that is being dragged. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_link_url)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the title associated with the link being dragged. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_link_title)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the metadata, if any, associated with the link being dragged. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_link_metadata)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the plain text fragment that is being dragged. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_fragment_text)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the text/html fragment that is being dragged. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_fragment_html)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the base URL that the fragment came from. This value is used for | ||||
|   /// resolving relative URLs and may be NULL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_fragment_base_url)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the name of the file being dragged out of the browser window. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_file_name)( | ||||
|       struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Write the contents of the file being dragged out of the web view into | ||||
|   /// |writer|. Returns the number of bytes sent to |writer|. If |writer| is | ||||
|   /// NULL this function will return the size of the file contents in bytes. | ||||
|   /// Call get_file_name() to get a suggested name for the file. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_file_contents)(struct _cef_drag_data_t* self, | ||||
|                                           struct _cef_stream_writer_t* writer); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve the list of file names that are being dragged into the browser | ||||
|   /// window. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_file_names)(struct _cef_drag_data_t* self, | ||||
|                                     cef_string_list_t names); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve the list of file paths that are being dragged into the browser | ||||
|   /// window. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_file_paths)(struct _cef_drag_data_t* self, | ||||
|                                     cef_string_list_t paths); | ||||
|  | ||||
|   /// | ||||
|   /// Set the link URL that is being dragged. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_link_url)(struct _cef_drag_data_t* self, | ||||
|                                    const cef_string_t* url); | ||||
|  | ||||
|   /// | ||||
|   /// Set the title associated with the link being dragged. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_link_title)(struct _cef_drag_data_t* self, | ||||
|                                      const cef_string_t* title); | ||||
|  | ||||
|   /// | ||||
|   /// Set the metadata associated with the link being dragged. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_link_metadata)(struct _cef_drag_data_t* self, | ||||
|                                         const cef_string_t* data); | ||||
|  | ||||
|   /// | ||||
|   /// Set the plain text fragment that is being dragged. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_fragment_text)(struct _cef_drag_data_t* self, | ||||
|                                         const cef_string_t* text); | ||||
|  | ||||
|   /// | ||||
|   /// Set the text/html fragment that is being dragged. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_fragment_html)(struct _cef_drag_data_t* self, | ||||
|                                         const cef_string_t* html); | ||||
|  | ||||
|   /// | ||||
|   /// Set the base URL that the fragment came from. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_fragment_base_url)(struct _cef_drag_data_t* self, | ||||
|                                             const cef_string_t* base_url); | ||||
|  | ||||
|   /// | ||||
|   /// Reset the file contents. You should do this before calling | ||||
|   /// cef_browser_host_t::DragTargetDragEnter as the web view does not allow us | ||||
|   /// to drag in this kind of data. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* reset_file_contents)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Add a file that is being dragged into the webview. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* add_file)(struct _cef_drag_data_t* self, | ||||
|                                const cef_string_t* path, | ||||
|                                const cef_string_t* display_name); | ||||
|  | ||||
|   /// | ||||
|   /// Clear list of filenames. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* clear_filenames)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the image representation of drag data. May return NULL if no image | ||||
|   /// representation is available. | ||||
|   /// | ||||
|   struct _cef_image_t*(CEF_CALLBACK* get_image)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the image hotspot (drag start location relative to image dimensions). | ||||
|   /// | ||||
|   cef_point_t(CEF_CALLBACK* get_image_hotspot)(struct _cef_drag_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if an image representation of drag data is available. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_image)(struct _cef_drag_data_t* self); | ||||
| } cef_drag_data_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_drag_data_t object. | ||||
| /// | ||||
| CEF_EXPORT cef_drag_data_t* cef_drag_data_create(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_ | ||||
							
								
								
									
										92
									
								
								include/capi/cef_drag_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								include/capi/cef_drag_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=0723a2a59d46e465ac94f198351dc871f0b35b96$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_drag_data_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to dragging. The functions | ||||
| /// of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_drag_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when an external drag event enters the browser window. |dragData| | ||||
|   /// contains the drag event data and |mask| represents the type of drag | ||||
|   /// operation. Return false (0) for default drag handling behavior or true (1) | ||||
|   /// to cancel the drag event. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_drag_enter)(struct _cef_drag_handler_t* self, | ||||
|                                    struct _cef_browser_t* browser, | ||||
|                                    struct _cef_drag_data_t* dragData, | ||||
|                                    cef_drag_operations_mask_t mask); | ||||
|  | ||||
|   /// | ||||
|   /// Called whenever draggable regions for the browser window change. These can | ||||
|   /// be specified using the '-webkit-app-region: drag/no-drag' CSS-property. If | ||||
|   /// draggable regions are never defined in a document this function will also | ||||
|   /// never be called. If the last draggable region is removed from a document | ||||
|   /// this function will be called with an NULL vector. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_draggable_regions_changed)( | ||||
|       struct _cef_drag_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       size_t regionsCount, | ||||
|       cef_draggable_region_t const* regions); | ||||
| } cef_drag_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_ | ||||
							
								
								
									
										132
									
								
								include/capi/cef_extension_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								include/capi/cef_extension_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,132 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=634054ad25154c30fb4ec630fe7fb79b0cf1f9b3$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_extension_handler_t; | ||||
| struct _cef_request_context_t; | ||||
|  | ||||
| /// | ||||
| /// Object representing an extension. Methods may be called on any thread unless | ||||
| /// otherwise indicated. | ||||
| /// | ||||
| /// WARNING: This API is deprecated and will be removed in ~M127. | ||||
| /// | ||||
| typedef struct _cef_extension_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the unique extension identifier. This is calculated based on the | ||||
|   /// extension public key, if available, or on the extension path. See | ||||
|   /// https://developer.chrome.com/extensions/manifest/key for details. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_identifier)( | ||||
|       struct _cef_extension_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the absolute path to the extension directory on disk. This value | ||||
|   /// will be prefixed with PK_DIR_RESOURCES if a relative path was passed to | ||||
|   /// cef_request_context_t::LoadExtension. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_path)(struct _cef_extension_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the extension manifest contents as a cef_dictionary_value_t | ||||
|   /// object. See https://developer.chrome.com/extensions/manifest for details. | ||||
|   /// | ||||
|   struct _cef_dictionary_value_t*(CEF_CALLBACK* get_manifest)( | ||||
|       struct _cef_extension_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is the same extension as |that| object. | ||||
|   /// Extensions are considered the same if identifier, path and loader context | ||||
|   /// match. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_same)(struct _cef_extension_t* self, | ||||
|                              struct _cef_extension_t* that); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the handler for this extension. Will return NULL for internal | ||||
|   /// extensions or if no handler was passed to | ||||
|   /// cef_request_context_t::LoadExtension. | ||||
|   /// | ||||
|   struct _cef_extension_handler_t*(CEF_CALLBACK* get_handler)( | ||||
|       struct _cef_extension_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the request context that loaded this extension. Will return NULL | ||||
|   /// for internal extensions or if the extension has been unloaded. See the | ||||
|   /// cef_request_context_t::LoadExtension documentation for more information | ||||
|   /// about loader contexts. Must be called on the browser process UI thread. | ||||
|   /// | ||||
|   struct _cef_request_context_t*(CEF_CALLBACK* get_loader_context)( | ||||
|       struct _cef_extension_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this extension is currently loaded. Must be called on | ||||
|   /// the browser process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_loaded)(struct _cef_extension_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Unload this extension if it is not an internal extension and is currently | ||||
|   /// loaded. Will result in a call to | ||||
|   /// cef_extension_handler_t::OnExtensionUnloaded on success. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* unload)(struct _cef_extension_t* self); | ||||
| } cef_extension_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_ | ||||
							
								
								
									
										214
									
								
								include/capi/cef_extension_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										214
									
								
								include/capi/cef_extension_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,214 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=ebac34c9b85de780ce7524211c5dd61a80d4576c$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_extension_capi.h" | ||||
| #include "include/capi/cef_stream_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_client_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for asynchronous continuation of | ||||
| /// cef_extension_handler_t::GetExtensionResource. | ||||
| /// | ||||
| typedef struct _cef_get_extension_resource_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Continue the request. Read the resource contents from |stream|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_get_extension_resource_callback_t* self, | ||||
|                            struct _cef_stream_reader_t* stream); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel the request. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)( | ||||
|       struct _cef_get_extension_resource_callback_t* self); | ||||
| } cef_get_extension_resource_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to browser extensions. The | ||||
| /// functions of this structure will be called on the UI thread. See | ||||
| /// cef_request_context_t::LoadExtension for information about extension | ||||
| /// loading. | ||||
| /// | ||||
| /// WARNING: This API is deprecated and will be removed in ~M127. | ||||
| /// | ||||
| typedef struct _cef_extension_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called if the cef_request_context_t::LoadExtension request fails. |result| | ||||
|   /// will be the error code. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_extension_load_failed)( | ||||
|       struct _cef_extension_handler_t* self, | ||||
|       cef_errorcode_t result); | ||||
|  | ||||
|   /// | ||||
|   /// Called if the cef_request_context_t::LoadExtension request succeeds. | ||||
|   /// |extension| is the loaded extension. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_extension_loaded)(struct _cef_extension_handler_t* self, | ||||
|                                           struct _cef_extension_t* extension); | ||||
|  | ||||
|   /// | ||||
|   /// Called after the cef_extension_t::Unload request has completed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_extension_unloaded)( | ||||
|       struct _cef_extension_handler_t* self, | ||||
|       struct _cef_extension_t* extension); | ||||
|  | ||||
|   /// | ||||
|   /// Called when an extension needs a browser to host a background script | ||||
|   /// specified via the "background" manifest key. The browser will have no | ||||
|   /// visible window and cannot be displayed. |extension| is the extension that | ||||
|   /// is loading the background script. |url| is an internally generated | ||||
|   /// reference to an HTML page that will be used to load the background script | ||||
|   /// via a "<script>" src attribute. To allow creation of the browser | ||||
|   /// optionally modify |client| and |settings| and return false (0). To cancel | ||||
|   /// creation of the browser (and consequently cancel load of the background | ||||
|   /// script) return true (1). Successful creation will be indicated by a call | ||||
|   /// to cef_life_span_handler_t::OnAfterCreated, and | ||||
|   /// cef_browser_host_t::IsBackgroundHost will return true (1) for the | ||||
|   /// resulting browser. See https://developer.chrome.com/extensions/event_pages | ||||
|   /// for more information about extension background script usage. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_before_background_browser)( | ||||
|       struct _cef_extension_handler_t* self, | ||||
|       struct _cef_extension_t* extension, | ||||
|       const cef_string_t* url, | ||||
|       struct _cef_client_t** client, | ||||
|       struct _cef_browser_settings_t* settings); | ||||
|  | ||||
|   /// | ||||
|   /// Called when an extension API (e.g. chrome.tabs.create) requests creation | ||||
|   /// of a new browser. |extension| and |browser| are the source of the API | ||||
|   /// call. |active_browser| may optionally be specified via the windowId | ||||
|   /// property or returned via the get_active_browser() callback and provides | ||||
|   /// the default |client| and |settings| values for the new browser. |index| is | ||||
|   /// the position value optionally specified via the index property. |url| is | ||||
|   /// the URL that will be loaded in the browser. |active| is true (1) if the | ||||
|   /// new browser should be active when opened.  To allow creation of the | ||||
|   /// browser optionally modify |windowInfo|, |client| and |settings| and return | ||||
|   /// false (0). To cancel creation of the browser return true (1). Successful | ||||
|   /// creation will be indicated by a call to | ||||
|   /// cef_life_span_handler_t::OnAfterCreated. Any modifications to |windowInfo| | ||||
|   /// will be ignored if |active_browser| is wrapped in a cef_browser_view_t. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_before_browser)( | ||||
|       struct _cef_extension_handler_t* self, | ||||
|       struct _cef_extension_t* extension, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_browser_t* active_browser, | ||||
|       int index, | ||||
|       const cef_string_t* url, | ||||
|       int active, | ||||
|       struct _cef_window_info_t* windowInfo, | ||||
|       struct _cef_client_t** client, | ||||
|       struct _cef_browser_settings_t* settings); | ||||
|  | ||||
|   /// | ||||
|   /// Called when no tabId is specified to an extension API call that accepts a | ||||
|   /// tabId parameter (e.g. chrome.tabs.*). |extension| and |browser| are the | ||||
|   /// source of the API call. Return the browser that will be acted on by the | ||||
|   /// API call or return NULL to act on |browser|. The returned browser must | ||||
|   /// share the same cef_request_context_t as |browser|. Incognito browsers | ||||
|   /// should not be considered unless the source extension has incognito access | ||||
|   /// enabled, in which case |include_incognito| will be true (1). | ||||
|   /// | ||||
|   struct _cef_browser_t*(CEF_CALLBACK* get_active_browser)( | ||||
|       struct _cef_extension_handler_t* self, | ||||
|       struct _cef_extension_t* extension, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int include_incognito); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the tabId associated with |target_browser| is specified to an | ||||
|   /// extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). | ||||
|   /// |extension| and |browser| are the source of the API call. Return true (1) | ||||
|   /// to allow access of false (0) to deny access. Access to incognito browsers | ||||
|   /// should not be allowed unless the source extension has incognito access | ||||
|   /// enabled, in which case |include_incognito| will be true (1). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* can_access_browser)(struct _cef_extension_handler_t* self, | ||||
|                                         struct _cef_extension_t* extension, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         int include_incognito, | ||||
|                                         struct _cef_browser_t* target_browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve an extension resource that would normally be loaded | ||||
|   /// from disk (e.g. if a file parameter is specified to | ||||
|   /// chrome.tabs.executeScript). |extension| and |browser| are the source of | ||||
|   /// the resource request. |file| is the requested relative file path. To | ||||
|   /// handle the resource request return true (1) and execute |callback| either | ||||
|   /// synchronously or asynchronously. For the default behavior which reads the | ||||
|   /// resource from the extension directory on disk return false (0). | ||||
|   /// Localization substitutions will not be applied to resources handled via | ||||
|   /// this function. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_extension_resource)( | ||||
|       struct _cef_extension_handler_t* self, | ||||
|       struct _cef_extension_t* extension, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_string_t* file, | ||||
|       struct _cef_get_extension_resource_callback_t* callback); | ||||
| } cef_extension_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_ | ||||
							
								
								
									
										132
									
								
								include/capi/cef_file_util_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								include/capi/cef_file_util_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,132 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=e10581d1f6aeb104646ae106aaa5fb36016643dd$ | ||||
| // | ||||
|  | ||||
| #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); | ||||
|  | ||||
| /// | ||||
| /// Loads the existing "Certificate Revocation Lists" file that is managed by | ||||
| /// Google Chrome. This file can generally be found in Chrome's User Data | ||||
| /// directory (e.g. "C:\Users\[User]\AppData\Local\Google\Chrome\User Data\" on | ||||
| /// Windows) and is updated periodically by Chrome's component updater service. | ||||
| /// Must be called in the browser process after the context has been | ||||
| /// initialized. See https://dev.chromium.org/Home/chromium-security/crlsets for | ||||
| /// background. | ||||
| /// | ||||
| CEF_EXPORT void cef_load_crlsets_file(const cef_string_t* path); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_ | ||||
							
								
								
									
										82
									
								
								include/capi/cef_find_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								include/capi/cef_find_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,82 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=da0a9242b309fbd70d19949fb1c5b4ec4475ef94$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to find results. The | ||||
| /// functions of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_find_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called to report find results returned by cef_browser_host_t::find(). | ||||
|   /// |identifer| is a unique incremental identifier for the currently active | ||||
|   /// search, |count| is the number of matches currently identified, | ||||
|   /// |selectionRect| is the location of where the match was found (in window | ||||
|   /// coordinates), |activeMatchOrdinal| is the current position in the search | ||||
|   /// results, and |finalUpdate| is true (1) if this is the last find | ||||
|   /// notification. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_find_result)(struct _cef_find_handler_t* self, | ||||
|                                      struct _cef_browser_t* browser, | ||||
|                                      int identifier, | ||||
|                                      int count, | ||||
|                                      const cef_rect_t* selectionRect, | ||||
|                                      int activeMatchOrdinal, | ||||
|                                      int finalUpdate); | ||||
| } cef_find_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_ | ||||
							
								
								
									
										93
									
								
								include/capi/cef_focus_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								include/capi/cef_focus_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=6eefc2c650908461fb7536dd3314c77a3f89dceb$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_dom_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to focus. The functions of | ||||
| /// this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_focus_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser component is about to loose focus. For instance, | ||||
|   /// if focus was on the last HTML element and the user pressed the TAB key. | ||||
|   /// |next| will be true (1) if the browser is giving focus to the next | ||||
|   /// component and false (0) if the browser is giving focus to the previous | ||||
|   /// component. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_take_focus)(struct _cef_focus_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     int next); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser component is requesting focus. |source| indicates | ||||
|   /// where the focus request is originating from. Return false (0) to allow the | ||||
|   /// focus to be set or true (1) to cancel setting the focus. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_set_focus)(struct _cef_focus_handler_t* self, | ||||
|                                   struct _cef_browser_t* browser, | ||||
|                                   cef_focus_source_t source); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser component has received focus. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_got_focus)(struct _cef_focus_handler_t* self, | ||||
|                                    struct _cef_browser_t* browser); | ||||
| } cef_focus_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_ | ||||
							
								
								
									
										257
									
								
								include/capi/cef_frame_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										257
									
								
								include/capi/cef_frame_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,257 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=8f347a95168778ec0e686cdef93be3bc517e2f68$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_dom_capi.h" | ||||
| #include "include/capi/cef_process_message_capi.h" | ||||
| #include "include/capi/cef_request_capi.h" | ||||
| #include "include/capi/cef_stream_capi.h" | ||||
| #include "include/capi/cef_string_visitor_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_browser_t; | ||||
| struct _cef_urlrequest_client_t; | ||||
| struct _cef_urlrequest_t; | ||||
| struct _cef_v8context_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent a frame in the browser window. When used in the | ||||
| /// browser process the functions of this structure may be called on any thread | ||||
| /// unless otherwise indicated in the comments. When used in the render process | ||||
| /// the functions of this structure may only be called on the main thread. | ||||
| /// | ||||
| typedef struct _cef_frame_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// True if this object is currently attached to a valid frame. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_valid)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute undo in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* undo)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute redo in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* redo)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute cut in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cut)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute copy in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* copy)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute paste in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* paste)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute delete in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* del)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Execute select all in this frame. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* select_all)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Save this frame's HTML source to a temporary file and open it in the | ||||
|   /// default text viewing application. This function can only be called from | ||||
|   /// the browser process. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* view_source)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve this frame's HTML source as a string sent to the specified | ||||
|   /// visitor. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_source)(struct _cef_frame_t* self, | ||||
|                                  struct _cef_string_visitor_t* visitor); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve this frame's display text as a string sent to the specified | ||||
|   /// visitor. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_text)(struct _cef_frame_t* self, | ||||
|                                struct _cef_string_visitor_t* visitor); | ||||
|  | ||||
|   /// | ||||
|   /// Load the request represented by the |request| object. | ||||
|   /// | ||||
|   /// WARNING: This function will fail with "bad IPC message" reason | ||||
|   /// INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request | ||||
|   /// origin using some other mechanism (LoadURL, link click, etc). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* load_request)(struct _cef_frame_t* self, | ||||
|                                    struct _cef_request_t* request); | ||||
|  | ||||
|   /// | ||||
|   /// Load the specified |url|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* load_url)(struct _cef_frame_t* self, | ||||
|                                const cef_string_t* url); | ||||
|  | ||||
|   /// | ||||
|   /// Execute a string of JavaScript code in this frame. The |script_url| | ||||
|   /// parameter is the URL where the script in question can be found, if any. | ||||
|   /// The renderer may request this URL to show the developer the source of the | ||||
|   /// error.  The |start_line| parameter is the base line number to use for | ||||
|   /// error reporting. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* execute_java_script)(struct _cef_frame_t* self, | ||||
|                                           const cef_string_t* code, | ||||
|                                           const cef_string_t* script_url, | ||||
|                                           int start_line); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this is the main (top-level) frame. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_main)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this is the focused frame. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_focused)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the name for this frame. If the frame has an assigned name (for | ||||
|   /// example, set via the iframe "name" attribute) then that value will be | ||||
|   /// returned. Otherwise a unique name will be constructed based on the frame | ||||
|   /// parent hierarchy. The main (top-level) frame will always have an NULL name | ||||
|   /// value. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_name)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the globally unique identifier for this frame or NULL if the | ||||
|   /// underlying frame does not yet exist. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_identifier)( | ||||
|       struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the parent of this frame or NULL if this is the main (top-level) | ||||
|   /// frame. | ||||
|   /// | ||||
|   struct _cef_frame_t*(CEF_CALLBACK* get_parent)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the URL currently loaded in this frame. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_url)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the browser that this frame belongs to. | ||||
|   /// | ||||
|   struct _cef_browser_t*(CEF_CALLBACK* get_browser)(struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the V8 context associated with the frame. This function can only be | ||||
|   /// called from the render process. | ||||
|   /// | ||||
|   struct _cef_v8context_t*(CEF_CALLBACK* get_v8context)( | ||||
|       struct _cef_frame_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Visit the DOM document. This function can only be called from the render | ||||
|   /// process. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* visit_dom)(struct _cef_frame_t* self, | ||||
|                                 struct _cef_domvisitor_t* visitor); | ||||
|  | ||||
|   /// | ||||
|   /// Create a new URL request that will be treated as originating from this | ||||
|   /// frame and the associated browser. Use cef_urlrequest_t::Create instead if | ||||
|   /// you do not want the request to have this association, in which case it may | ||||
|   /// be handled differently (see documentation on that function). A request | ||||
|   /// created with this function may only originate from the browser process, | ||||
|   /// and will behave as follows: | ||||
|   ///   - It may be intercepted by the client via CefResourceRequestHandler or | ||||
|   ///     CefSchemeHandlerFactory. | ||||
|   ///   - POST data may only contain a single element of type PDE_TYPE_FILE or | ||||
|   ///     PDE_TYPE_BYTES. | ||||
|   /// | ||||
|   /// The |request| object will be marked as read-only after calling this | ||||
|   /// function. | ||||
|   /// | ||||
|   struct _cef_urlrequest_t*(CEF_CALLBACK* create_urlrequest)( | ||||
|       struct _cef_frame_t* self, | ||||
|       struct _cef_request_t* request, | ||||
|       struct _cef_urlrequest_client_t* client); | ||||
|  | ||||
|   /// | ||||
|   /// Send a message to the specified |target_process|. Ownership of the message | ||||
|   /// contents will be transferred and the |message| reference will be | ||||
|   /// invalidated. Message delivery is not guaranteed in all cases (for example, | ||||
|   /// if the browser is closing, navigating, or if the target process crashes). | ||||
|   /// Send an ACK message back from the target process if confirmation is | ||||
|   /// required. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* send_process_message)( | ||||
|       struct _cef_frame_t* self, | ||||
|       cef_process_id_t target_process, | ||||
|       struct _cef_process_message_t* message); | ||||
| } cef_frame_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_ | ||||
							
								
								
									
										195
									
								
								include/capi/cef_frame_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								include/capi/cef_frame_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,195 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=fc6fbee765ce2b649f5293c8c4b076d36014e4aa$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to cef_frame_t life span. | ||||
| /// The order of callbacks is: | ||||
| /// | ||||
| /// (1) During initial cef_browser_host_t creation and navigation of the main | ||||
| /// frame: | ||||
| /// - cef_frame_handler_t::OnFrameCreated => The initial main frame object has | ||||
| ///   been created. Any commands will be queued until the frame is attached. | ||||
| /// - cef_frame_handler_t::OnMainFrameChanged => The initial main frame object | ||||
| ///   has been assigned to the browser. | ||||
| /// - cef_life_span_handler_t::OnAfterCreated => The browser is now valid and | ||||
| ///   can be used. | ||||
| /// - cef_frame_handler_t::OnFrameAttached => The initial main frame object is | ||||
| ///   now connected to its peer in the renderer process. Commands can be routed. | ||||
| /// | ||||
| /// (2) During further cef_browser_host_t navigation/loading of the main frame | ||||
| ///     and/or sub-frames: | ||||
| /// - cef_frame_handler_t::OnFrameCreated => A new main frame or sub-frame | ||||
| ///   object has been created. Any commands will be queued until the frame is | ||||
| ///   attached. | ||||
| /// - cef_frame_handler_t::OnFrameAttached => A new main frame or sub-frame | ||||
| ///   object is now connected to its peer in the renderer process. Commands can | ||||
| ///   be routed. | ||||
| /// - cef_frame_handler_t::OnFrameDetached => An existing main frame or sub- | ||||
| ///   frame object has lost its connection to the renderer process. If multiple | ||||
| ///   objects are detached at the same time then notifications will be sent for | ||||
| ///   any sub-frame objects before the main frame object. Commands can no longer | ||||
| ///   be routed and will be discarded. | ||||
| /// - cef_frame_handler_t::OnMainFrameChanged => A new main frame object has | ||||
| ///   been assigned to the browser. This will only occur with cross-origin | ||||
| ///   navigation or re-navigation after renderer process termination (due to | ||||
| ///   crashes, etc). | ||||
| /// | ||||
| /// (3) During final cef_browser_host_t destruction of the main frame: | ||||
| /// - cef_frame_handler_t::OnFrameDetached => Any sub-frame objects have lost | ||||
| ///   their connection to the renderer process. Commands can no longer be routed | ||||
| ///   and will be discarded. | ||||
| /// - cef_life_span_handler_t::OnBeforeClose => The browser has been destroyed. | ||||
| /// - cef_frame_handler_t::OnFrameDetached => The main frame object have lost | ||||
| ///   its connection to the renderer process. Notifications will be sent for any | ||||
| ///   sub-frame objects before the main frame object. Commands can no longer be | ||||
| ///   routed and will be discarded. | ||||
| /// - cef_frame_handler_t::OnMainFrameChanged => The final main frame object has | ||||
| ///   been removed from the browser. | ||||
| /// | ||||
| /// Cross-origin navigation and/or loading receives special handling. | ||||
| /// | ||||
| /// When the main frame navigates to a different origin the OnMainFrameChanged | ||||
| /// callback (2) will be executed with the old and new main frame objects. | ||||
| /// | ||||
| /// When a new sub-frame is loaded in, or an existing sub-frame is navigated to, | ||||
| /// a different origin from the parent frame, a temporary sub-frame object will | ||||
| /// first be created in the parent's renderer process. That temporary sub-frame | ||||
| /// will then be discarded after the real cross-origin sub-frame is created in | ||||
| /// the new/target renderer process. The client will receive cross-origin | ||||
| /// navigation callbacks (2) for the transition from the temporary sub-frame to | ||||
| /// the real sub-frame. The temporary sub-frame will not receive or execute | ||||
| /// commands during this transitional period (any sent commands will be | ||||
| /// discarded). | ||||
| /// | ||||
| /// When a new popup browser is created in a different origin from the parent | ||||
| /// browser, a temporary main frame object for the popup will first be created | ||||
| /// in the parent's renderer process. That temporary main frame will then be | ||||
| /// discarded after the real cross-origin main frame is created in the | ||||
| /// new/target renderer process. The client will receive creation and initial | ||||
| /// navigation callbacks (1) for the temporary main frame, followed by cross- | ||||
| /// origin navigation callbacks (2) for the transition from the temporary main | ||||
| /// frame to the real main frame. The temporary main frame may receive and | ||||
| /// execute commands during this transitional period (any sent commands may be | ||||
| /// executed, but the behavior is potentially undesirable since they execute in | ||||
| /// the parent browser's renderer process and not the new/target renderer | ||||
| /// process). | ||||
| /// | ||||
| /// Callbacks will not be executed for placeholders that may be created during | ||||
| /// pre-commit navigation for sub-frames that do not yet exist in the renderer | ||||
| /// process. Placeholders will have cef_frame_t::get_identifier() == -4. | ||||
| /// | ||||
| /// The functions of this structure will be called on the UI thread unless | ||||
| /// otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_frame_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when a new frame is created. This will be the first notification | ||||
|   /// that references |frame|. Any commands that require transport to the | ||||
|   /// associated renderer process (LoadRequest, SendProcessMessage, GetSource, | ||||
|   /// etc.) will be queued until OnFrameAttached is called for |frame|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_frame_created)(struct _cef_frame_handler_t* self, | ||||
|                                        struct _cef_browser_t* browser, | ||||
|                                        struct _cef_frame_t* frame); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a frame can begin routing commands to/from the associated | ||||
|   /// renderer process. |reattached| will be true (1) if the frame was re- | ||||
|   /// attached after exiting the BackForwardCache. Any commands that were queued | ||||
|   /// have now been dispatched. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_frame_attached)(struct _cef_frame_handler_t* self, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         struct _cef_frame_t* frame, | ||||
|                                         int reattached); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a frame loses its connection to the renderer process and will | ||||
|   /// be destroyed. Any pending or future commands will be discarded and | ||||
|   /// cef_frame_t::is_valid() will now return false (0) for |frame|. If called | ||||
|   /// after cef_life_span_handler_t::on_before_close() during browser | ||||
|   /// destruction then cef_browser_t::is_valid() will return false (0) for | ||||
|   /// |browser|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_frame_detached)(struct _cef_frame_handler_t* self, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         struct _cef_frame_t* frame); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the main frame changes due to (a) initial browser creation, | ||||
|   /// (b) final browser destruction, (c) cross-origin navigation or (d) re- | ||||
|   /// navigation after renderer process termination (due to crashes, etc). | ||||
|   /// |old_frame| will be NULL and |new_frame| will be non-NULL when a main | ||||
|   /// frame is assigned to |browser| for the first time. |old_frame| will be | ||||
|   /// non-NULL and |new_frame| will be NULL and  when a main frame is removed | ||||
|   /// from |browser| for the last time. Both |old_frame| and |new_frame| will be | ||||
|   /// non-NULL for cross-origin navigations or re-navigation after renderer | ||||
|   /// process termination. This function will be called after on_frame_created() | ||||
|   /// for |new_frame| and/or after on_frame_detached() for |old_frame|. If | ||||
|   /// called after cef_life_span_handler_t::on_before_close() during browser | ||||
|   /// destruction then cef_browser_t::is_valid() will return false (0) for | ||||
|   /// |browser|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_main_frame_changed)(struct _cef_frame_handler_t* self, | ||||
|                                             struct _cef_browser_t* browser, | ||||
|                                             struct _cef_frame_t* old_frame, | ||||
|                                             struct _cef_frame_t* new_frame); | ||||
| } cef_frame_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_ | ||||
							
								
								
									
										58
									
								
								include/capi/cef_i18n_util_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								include/capi/cef_i18n_util_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=990e80ab5ae04298e6b70cbc0a67115825563251$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_I18N_UTIL_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_I18N_UTIL_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Returns true (1) if the application text direction is right-to-left. | ||||
| /// | ||||
| CEF_EXPORT int cef_is_rtl(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_I18N_UTIL_CAPI_H_ | ||||
							
								
								
									
										206
									
								
								include/capi/cef_image_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								include/capi/cef_image_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,206 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=7512ccf755017d5b1866b753890b498e8163006d$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Container for a single image represented at different scale factors. All | ||||
| /// image representations should be the same size in density independent pixel | ||||
| /// (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels | ||||
| /// then the image at scale factor 2.0 should be 200x200 pixels -- both images | ||||
| /// will display with a DIP size of 100x100 units. The functions of this | ||||
| /// structure can be called on any browser process thread. | ||||
| /// | ||||
| typedef struct _cef_image_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this Image is NULL. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_empty)(struct _cef_image_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this Image and |that| Image share the same underlying | ||||
|   /// storage. Will also return true (1) if both images are NULL. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_same)(struct _cef_image_t* self, | ||||
|                              struct _cef_image_t* that); | ||||
|  | ||||
|   /// | ||||
|   /// Add a bitmap image representation for |scale_factor|. Only 32-bit | ||||
|   /// RGBA/BGRA formats are supported. |pixel_width| and |pixel_height| are the | ||||
|   /// bitmap representation size in pixel coordinates. |pixel_data| is the array | ||||
|   /// of pixel data and should be |pixel_width| x |pixel_height| x 4 bytes in | ||||
|   /// size. |color_type| and |alpha_type| values specify the pixel format. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_bitmap)(struct _cef_image_t* self, | ||||
|                                 float scale_factor, | ||||
|                                 int pixel_width, | ||||
|                                 int pixel_height, | ||||
|                                 cef_color_type_t color_type, | ||||
|                                 cef_alpha_type_t alpha_type, | ||||
|                                 const void* pixel_data, | ||||
|                                 size_t pixel_data_size); | ||||
|  | ||||
|   /// | ||||
|   /// Add a PNG image representation for |scale_factor|. |png_data| is the image | ||||
|   /// data of size |png_data_size|. Any alpha transparency in the PNG data will | ||||
|   /// be maintained. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_png)(struct _cef_image_t* self, | ||||
|                              float scale_factor, | ||||
|                              const void* png_data, | ||||
|                              size_t png_data_size); | ||||
|  | ||||
|   /// | ||||
|   /// Create a JPEG image representation for |scale_factor|. |jpeg_data| is the | ||||
|   /// image data of size |jpeg_data_size|. The JPEG format does not support | ||||
|   /// transparency so the alpha byte will be set to 0xFF for all pixels. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_jpeg)(struct _cef_image_t* self, | ||||
|                               float scale_factor, | ||||
|                               const void* jpeg_data, | ||||
|                               size_t jpeg_data_size); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the image width in density independent pixel (DIP) units. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_width)(struct _cef_image_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the image height in density independent pixel (DIP) units. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_height)(struct _cef_image_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this image contains a representation for | ||||
|   /// |scale_factor|. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_representation)(struct _cef_image_t* self, | ||||
|                                         float scale_factor); | ||||
|  | ||||
|   /// | ||||
|   /// Removes the representation for |scale_factor|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* remove_representation)(struct _cef_image_t* self, | ||||
|                                            float scale_factor); | ||||
|  | ||||
|   /// | ||||
|   /// Returns information for the representation that most closely matches | ||||
|   /// |scale_factor|. |actual_scale_factor| is the actual scale factor for the | ||||
|   /// representation. |pixel_width| and |pixel_height| are the representation | ||||
|   /// size in pixel coordinates. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_representation_info)(struct _cef_image_t* self, | ||||
|                                              float scale_factor, | ||||
|                                              float* actual_scale_factor, | ||||
|                                              int* pixel_width, | ||||
|                                              int* pixel_height); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the bitmap representation that most closely matches | ||||
|   /// |scale_factor|. Only 32-bit RGBA/BGRA formats are supported. |color_type| | ||||
|   /// and |alpha_type| values specify the desired output pixel format. | ||||
|   /// |pixel_width| and |pixel_height| are the output representation size in | ||||
|   /// pixel coordinates. Returns a cef_binary_value_t containing the pixel data | ||||
|   /// on success or NULL on failure. | ||||
|   /// | ||||
|   struct _cef_binary_value_t*(CEF_CALLBACK* get_as_bitmap)( | ||||
|       struct _cef_image_t* self, | ||||
|       float scale_factor, | ||||
|       cef_color_type_t color_type, | ||||
|       cef_alpha_type_t alpha_type, | ||||
|       int* pixel_width, | ||||
|       int* pixel_height); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the PNG representation that most closely matches |scale_factor|. | ||||
|   /// If |with_transparency| is true (1) any alpha transparency in the image | ||||
|   /// will be represented in the resulting PNG data. |pixel_width| and | ||||
|   /// |pixel_height| are the output representation size in pixel coordinates. | ||||
|   /// Returns a cef_binary_value_t containing the PNG image data on success or | ||||
|   /// NULL on failure. | ||||
|   /// | ||||
|   struct _cef_binary_value_t*(CEF_CALLBACK* get_as_png)( | ||||
|       struct _cef_image_t* self, | ||||
|       float scale_factor, | ||||
|       int with_transparency, | ||||
|       int* pixel_width, | ||||
|       int* pixel_height); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the JPEG representation that most closely matches |scale_factor|. | ||||
|   /// |quality| determines the compression level with 0 == lowest and 100 == | ||||
|   /// highest. The JPEG format does not support alpha transparency and the alpha | ||||
|   /// channel, if any, will be discarded. |pixel_width| and |pixel_height| are | ||||
|   /// the output representation size in pixel coordinates. Returns a | ||||
|   /// cef_binary_value_t containing the JPEG image data on success or NULL on | ||||
|   /// failure. | ||||
|   /// | ||||
|   struct _cef_binary_value_t*(CEF_CALLBACK* get_as_jpeg)( | ||||
|       struct _cef_image_t* self, | ||||
|       float scale_factor, | ||||
|       int quality, | ||||
|       int* pixel_width, | ||||
|       int* pixel_height); | ||||
| } cef_image_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_image_t. It will initially be NULL. Use the Add*() | ||||
| /// functions to add representations at different scale factors. | ||||
| /// | ||||
| CEF_EXPORT cef_image_t* cef_image_create(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_ | ||||
							
								
								
									
										141
									
								
								include/capi/cef_jsdialog_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								include/capi/cef_jsdialog_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,141 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=c6810367ba3a17824247dcb17f87040cd021c295$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for asynchronous continuation of JavaScript dialog | ||||
| /// requests. | ||||
| /// | ||||
| typedef struct _cef_jsdialog_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Continue the JS dialog request. Set |success| to true (1) if the OK button | ||||
|   /// was pressed. The |user_input| value should be specified for prompt | ||||
|   /// dialogs. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_jsdialog_callback_t* self, | ||||
|                            int success, | ||||
|                            const cef_string_t* user_input); | ||||
| } cef_jsdialog_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to JavaScript dialogs. The | ||||
| /// functions of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_jsdialog_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called to run a JavaScript dialog. If |origin_url| is non-NULL it can be | ||||
|   /// passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure | ||||
|   /// and user-friendly display string. The |default_prompt_text| value will be | ||||
|   /// specified for prompt dialogs only. Set |suppress_message| to true (1) and | ||||
|   /// return false (0) to suppress the message (suppressing messages is | ||||
|   /// preferable to immediately executing the callback as this is used to detect | ||||
|   /// presumably malicious behavior like spamming alert messages in | ||||
|   /// onbeforeunload). Set |suppress_message| to false (0) and return false (0) | ||||
|   /// to use the default implementation (the default implementation will show | ||||
|   /// one modal dialog at a time and suppress any additional dialog requests | ||||
|   /// until the displayed dialog is dismissed). Return true (1) if the | ||||
|   /// application will use a custom dialog or if the callback has been executed | ||||
|   /// immediately. Custom dialogs may be either modal or modeless. If a custom | ||||
|   /// dialog is used the application must execute |callback| once the custom | ||||
|   /// dialog is dismissed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_jsdialog)(struct _cef_jsdialog_handler_t* self, | ||||
|                                  struct _cef_browser_t* browser, | ||||
|                                  const cef_string_t* origin_url, | ||||
|                                  cef_jsdialog_type_t dialog_type, | ||||
|                                  const cef_string_t* message_text, | ||||
|                                  const cef_string_t* default_prompt_text, | ||||
|                                  struct _cef_jsdialog_callback_t* callback, | ||||
|                                  int* suppress_message); | ||||
|  | ||||
|   /// | ||||
|   /// Called to run a dialog asking the user if they want to leave a page. | ||||
|   /// Return false (0) to use the default dialog implementation. Return true (1) | ||||
|   /// if the application will use a custom dialog or if the callback has been | ||||
|   /// executed immediately. Custom dialogs may be either modal or modeless. If a | ||||
|   /// custom dialog is used the application must execute |callback| once the | ||||
|   /// custom dialog is dismissed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_before_unload_dialog)( | ||||
|       struct _cef_jsdialog_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_string_t* message_text, | ||||
|       int is_reload, | ||||
|       struct _cef_jsdialog_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called to cancel any pending dialogs and reset any saved dialog state. | ||||
|   /// Will be called due to events like page navigation irregardless of whether | ||||
|   /// any dialogs are currently pending. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_reset_dialog_state)( | ||||
|       struct _cef_jsdialog_handler_t* self, | ||||
|       struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the dialog is closed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_dialog_closed)(struct _cef_jsdialog_handler_t* self, | ||||
|                                        struct _cef_browser_t* browser); | ||||
| } cef_jsdialog_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_ | ||||
							
								
								
									
										90
									
								
								include/capi/cef_keyboard_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								include/capi/cef_keyboard_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=0bfe161c51cc6378b2e8e2e2b2c017b750b46864$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to keyboard input. The | ||||
| /// functions of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_keyboard_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called before a keyboard event is sent to the renderer. |event| contains | ||||
|   /// information about the keyboard event. |os_event| is the operating system | ||||
|   /// event message, if any. Return true (1) if the event was handled or false | ||||
|   /// (0) otherwise. If the event will be handled in on_key_event() as a | ||||
|   /// keyboard shortcut set |is_keyboard_shortcut| to true (1) and return false | ||||
|   /// (0). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_pre_key_event)(struct _cef_keyboard_handler_t* self, | ||||
|                                       struct _cef_browser_t* browser, | ||||
|                                       const cef_key_event_t* event, | ||||
|                                       cef_event_handle_t os_event, | ||||
|                                       int* is_keyboard_shortcut); | ||||
|  | ||||
|   /// | ||||
|   /// Called after the renderer and JavaScript in the page has had a chance to | ||||
|   /// handle the event. |event| contains information about the keyboard event. | ||||
|   /// |os_event| is the operating system event message, if any. Return true (1) | ||||
|   /// if the keyboard event was handled or false (0) otherwise. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_key_event)(struct _cef_keyboard_handler_t* self, | ||||
|                                   struct _cef_browser_t* browser, | ||||
|                                   const cef_key_event_t* event, | ||||
|                                   cef_event_handle_t os_event); | ||||
| } cef_keyboard_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_ | ||||
							
								
								
									
										253
									
								
								include/capi/cef_life_span_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										253
									
								
								include/capi/cef_life_span_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,253 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=54edf9e9c2a12acdc4cab55079a4a5cb8e2a1e43$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_client_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to browser life span. The | ||||
| /// functions of this structure will be called on the UI thread unless otherwise | ||||
| /// indicated. | ||||
| /// | ||||
| typedef struct _cef_life_span_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread before a new popup browser is created. The | ||||
|   /// |browser| and |frame| values represent the source of the popup request. | ||||
|   /// The |target_url| and |target_frame_name| values indicate where the popup | ||||
|   /// browser should navigate and may be NULL if not specified with the request. | ||||
|   /// The |target_disposition| value indicates where the user intended to open | ||||
|   /// the popup (e.g. current tab, new tab, etc). The |user_gesture| value will | ||||
|   /// be true (1) if the popup was opened via explicit user gesture (e.g. | ||||
|   /// clicking a link) or false (0) if the popup opened automatically (e.g. via | ||||
|   /// the DomContentLoaded event). The |popupFeatures| structure contains | ||||
|   /// additional information about the requested popup window. To allow creation | ||||
|   /// of the popup browser optionally modify |windowInfo|, |client|, |settings| | ||||
|   /// and |no_javascript_access| and return false (0). To cancel creation of the | ||||
|   /// popup browser return true (1). The |client| and |settings| values will | ||||
|   /// default to the source browser's values. If the |no_javascript_access| | ||||
|   /// value is set to false (0) the new browser will not be scriptable and may | ||||
|   /// not be hosted in the same renderer process as the source browser. Any | ||||
|   /// modifications to |windowInfo| will be ignored if the parent browser is | ||||
|   /// wrapped in a cef_browser_view_t. Popup browser creation will be canceled | ||||
|   /// if the parent browser is destroyed before the popup browser creation | ||||
|   /// completes (indicated by a call to OnAfterCreated for the popup browser). | ||||
|   /// The |extra_info| parameter provides an opportunity to specify extra | ||||
|   /// information specific to the created popup browser that will be passed to | ||||
|   /// cef_render_process_handler_t::on_browser_created() in the render process. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_before_popup)( | ||||
|       struct _cef_life_span_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       const cef_string_t* target_url, | ||||
|       const cef_string_t* target_frame_name, | ||||
|       cef_window_open_disposition_t target_disposition, | ||||
|       int user_gesture, | ||||
|       const cef_popup_features_t* popupFeatures, | ||||
|       struct _cef_window_info_t* windowInfo, | ||||
|       struct _cef_client_t** client, | ||||
|       struct _cef_browser_settings_t* settings, | ||||
|       struct _cef_dictionary_value_t** extra_info, | ||||
|       int* no_javascript_access); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread before a new DevTools popup browser is created. | ||||
|   /// The |browser| value represents the source of the popup request. Optionally | ||||
|   /// modify |windowInfo|, |client|, |settings| and |extra_info| values. The | ||||
|   /// |client|, |settings| and |extra_info| values will default to the source | ||||
|   /// browser's values. Any modifications to |windowInfo| will be ignored if the | ||||
|   /// parent browser is Views-hosted (wrapped in a cef_browser_view_t). | ||||
|   /// | ||||
|   /// The |extra_info| parameter provides an opportunity to specify extra | ||||
|   /// information specific to the created popup browser that will be passed to | ||||
|   /// cef_render_process_handler_t::on_browser_created() in the render process. | ||||
|   /// The existing |extra_info| object, if any, will be read-only but may be | ||||
|   /// replaced with a new object. | ||||
|   /// | ||||
|   /// Views-hosted source browsers will create Views-hosted DevTools popups | ||||
|   /// unless |use_default_window| is set to to true (1). DevTools popups can be | ||||
|   /// blocked by returning true (1) from cef_command_handler_t::OnChromeCommand | ||||
|   /// for IDC_DEV_TOOLS. Only used with the Chrome runtime. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_before_dev_tools_popup)( | ||||
|       struct _cef_life_span_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_window_info_t* windowInfo, | ||||
|       struct _cef_client_t** client, | ||||
|       struct _cef_browser_settings_t* settings, | ||||
|       struct _cef_dictionary_value_t** extra_info, | ||||
|       int* use_default_window); | ||||
|  | ||||
|   /// | ||||
|   /// Called after a new browser is created. It is now safe to begin performing | ||||
|   /// actions with |browser|. cef_frame_handler_t callbacks related to initial | ||||
|   /// main frame creation will arrive before this callback. See | ||||
|   /// cef_frame_handler_t documentation for additional usage information. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_after_created)(struct _cef_life_span_handler_t* self, | ||||
|                                        struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a browser has received a request to close. This may result | ||||
|   /// directly from a call to cef_browser_host_t::*close_browser() or indirectly | ||||
|   /// if the browser is parented to a top-level window created by CEF and the | ||||
|   /// user attempts to close that window (by clicking the 'X', for example). The | ||||
|   /// do_close() function will be called after the JavaScript 'onunload' event | ||||
|   /// has been fired. | ||||
|   /// | ||||
|   /// An application should handle top-level owner window close notifications by | ||||
|   /// 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 close before do_close() is called. | ||||
|   /// | ||||
|   /// When windowed rendering is enabled CEF will internally create a window or | ||||
|   /// view to host the browser. In that case returning false (0) from do_close() | ||||
|   /// will send the standard close notification to the browser's top-level owner | ||||
|   /// window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on | ||||
|   /// Linux or cef_window_delegate_t::can_close() callback from Views). If the | ||||
|   /// browser's host window/view has already been destroyed (via view hierarchy | ||||
|   /// tear-down, for example) then do_close() will not be called for that | ||||
|   /// browser since is no longer possible to cancel the close. | ||||
|   /// | ||||
|   /// When windowed rendering is disabled returning false (0) from do_close() | ||||
|   /// will cause the browser object to be destroyed immediately. | ||||
|   /// | ||||
|   /// If the browser's top-level owner window requires a non-standard close | ||||
|   /// notification then send that notification from do_close() and return true | ||||
|   /// (1). | ||||
|   /// | ||||
|   /// The cef_life_span_handler_t::on_before_close() function will be called | ||||
|   /// after do_close() (if do_close() is called) and immediately before the | ||||
|   /// browser object is destroyed. The application should only exit after | ||||
|   /// on_before_close() has been called for all existing browsers. | ||||
|   /// | ||||
|   /// 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::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 the application's top-level window. | ||||
|   /// 2.  Application's top-level window receives the close notification and | ||||
|   ///     calls TryCloseBrowser() (which internally calls CloseBrowser(false)). | ||||
|   ///     TryCloseBrowser() returns false so the client cancels the window | ||||
|   ///     close. | ||||
|   /// 3.  JavaScript 'onbeforeunload' handler executes and shows the close | ||||
|   ///     confirmation dialog (which can be overridden via | ||||
|   ///     CefJSDialogHandler::OnBeforeUnloadDialog()). | ||||
|   /// 4.  User approves the close. 5.  JavaScript 'onunload' handler executes. | ||||
|   /// 6.  CEF sends a close notification to the application's top-level window | ||||
|   ///     (because DoClose() returned false by default). | ||||
|   /// 7.  Application's top-level window receives the close notification and | ||||
|   ///     calls TryCloseBrowser(). TryCloseBrowser() returns true so the client | ||||
|   ///     allows the window close. | ||||
|   /// 8.  Application's top-level window is destroyed. 9.  Application's | ||||
|   /// on_before_close() handler is called and the browser object | ||||
|   ///     is destroyed. | ||||
|   /// 10. Application exits by calling cef_quit_message_loop() if no other | ||||
|   /// browsers | ||||
|   ///     exist. | ||||
|   /// | ||||
|   /// Example 2: Using cef_browser_host_t::CloseBrowser(false (0)) and | ||||
|   /// implementing the do_close() callback. This is recommended for clients | ||||
|   /// using non-standard close handling or windows that were not created on the | ||||
|   /// browser process UI thread. 1.  User clicks the window close button which | ||||
|   /// sends a close notification | ||||
|   ///     to the application's top-level window. | ||||
|   /// 2.  Application's top-level window receives the close notification and: | ||||
|   ///     A. Calls CefBrowserHost::CloseBrowser(false). | ||||
|   ///     B. Cancels the window close. | ||||
|   /// 3.  JavaScript 'onbeforeunload' handler executes and shows the close | ||||
|   ///     confirmation dialog (which can be overridden via | ||||
|   ///     CefJSDialogHandler::OnBeforeUnloadDialog()). | ||||
|   /// 4.  User approves the close. 5.  JavaScript 'onunload' handler executes. | ||||
|   /// 6.  Application's do_close() handler is called. Application will: | ||||
|   ///     A. Set a flag to indicate that the next close attempt will be allowed. | ||||
|   ///     B. Return false. | ||||
|   /// 7.  CEF sends an close notification to the application's top-level window. | ||||
|   /// 8.  Application's top-level window receives the close notification and | ||||
|   ///     allows the window to close based on the flag from #6B. | ||||
|   /// 9.  Application's top-level window is destroyed. 10. Application's | ||||
|   /// on_before_close() handler is called and the browser object | ||||
|   ///     is destroyed. | ||||
|   /// 11. Application exits by calling cef_quit_message_loop() if no other | ||||
|   /// browsers | ||||
|   ///     exist. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* do_close)(struct _cef_life_span_handler_t* self, | ||||
|                               struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called just before a browser is destroyed. Release all references to the | ||||
|   /// browser object and do not attempt to execute any functions on the browser | ||||
|   /// object (other than IsValid, GetIdentifier or IsSame) after this callback | ||||
|   /// returns. cef_frame_handler_t callbacks related to final main frame | ||||
|   /// destruction will arrive after this callback and cef_browser_t::IsValid | ||||
|   /// will return false (0) at that time. Any in-progress network requests | ||||
|   /// associated with |browser| will be aborted when the browser is destroyed, | ||||
|   /// and cef_resource_request_handler_t callbacks related to those requests may | ||||
|   /// still arrive on the IO thread after this callback. See cef_frame_handler_t | ||||
|   /// and do_close() documentation for additional usage information. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_before_close)(struct _cef_life_span_handler_t* self, | ||||
|                                       struct _cef_browser_t* browser); | ||||
| } cef_life_span_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_ | ||||
							
								
								
									
										126
									
								
								include/capi/cef_load_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								include/capi/cef_load_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,126 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=eb842e65cd2e7c4a8a6baa2813b57ac0d3977261$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to browser load status. | ||||
| /// The functions of this structure will be called on the browser process UI | ||||
| /// thread or render process main thread (TID_RENDERER). | ||||
| /// | ||||
| typedef struct _cef_load_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when the loading state has changed. This callback will be executed | ||||
|   /// twice -- once when loading is initiated either programmatically or by user | ||||
|   /// action, and once when loading is terminated due to completion, | ||||
|   /// cancellation of failure. It will be called before any calls to OnLoadStart | ||||
|   /// and after all calls to OnLoadError and/or OnLoadEnd. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_loading_state_change)(struct _cef_load_handler_t* self, | ||||
|                                               struct _cef_browser_t* browser, | ||||
|                                               int isLoading, | ||||
|                                               int canGoBack, | ||||
|                                               int canGoForward); | ||||
|  | ||||
|   /// | ||||
|   /// Called after a navigation has been committed and before the browser begins | ||||
|   /// loading contents in the frame. The |frame| value will never be NULL -- | ||||
|   /// call the is_main() function to check if this frame is the 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 not be | ||||
|   /// called for same page navigations (fragments, history state, etc.) or for | ||||
|   /// navigations that fail or are canceled before commit. 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, | ||||
|                                     cef_transition_type_t transition_type); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser is done 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 not be called for same page navigations (fragments, history | ||||
|   /// state, etc.) or for navigations that fail or are canceled before commit. | ||||
|   /// For notification of overall browser load status use OnLoadingStateChange | ||||
|   /// instead. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_load_end)(struct _cef_load_handler_t* self, | ||||
|                                   struct _cef_browser_t* browser, | ||||
|                                   struct _cef_frame_t* frame, | ||||
|                                   int httpStatusCode); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a navigation fails or is canceled. This function may be called | ||||
|   /// by itself if before commit or in combination with OnLoadStart/OnLoadEnd if | ||||
|   /// after commit. |errorCode| is the error code number, |errorText| is the | ||||
|   /// error text and |failedUrl| is the URL that failed to load. See | ||||
|   /// net\base\net_error_list.h for complete descriptions of the error codes. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_load_error)(struct _cef_load_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     struct _cef_frame_t* frame, | ||||
|                                     cef_errorcode_t errorCode, | ||||
|                                     const cef_string_t* errorText, | ||||
|                                     const cef_string_t* failedUrl); | ||||
| } cef_load_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_ | ||||
							
								
								
									
										108
									
								
								include/capi/cef_media_access_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								include/capi/cef_media_access_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| // Copyright (c) 2022 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. | ||||
| // | ||||
| // $hash=91101808168ec0faf1f39b1924579e31478a6616$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_MEDIA_ACCESS_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_MEDIA_ACCESS_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| // Callback structure used for asynchronous continuation of media access | ||||
| // permission requests. | ||||
| /// | ||||
| typedef struct _cef_media_access_callback_t { | ||||
|   /// | ||||
|   // Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   // Call to allow or deny media access. If this callback was initiated in | ||||
|   // response to a getUserMedia (indicated by | ||||
|   // CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE and/or | ||||
|   // CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE being set) the | ||||
|   // |allowed_permissions| are required to match those given in | ||||
|   // |required_permissions| in the OnRequestMediaAccessPermission. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_media_access_callback_t* self, | ||||
|                            int allowed_permissions); | ||||
|  | ||||
|   /// | ||||
|   // Cancel the media access request. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_media_access_callback_t* self); | ||||
| } cef_media_access_callback_t; | ||||
|  | ||||
| /// | ||||
| // Implement this structure to handle events related to media access permission | ||||
| // requests. The functions of this structure will be called on the browser | ||||
| // process UI thread. | ||||
| /// | ||||
| typedef struct _cef_media_access_handler_t { | ||||
|   /// | ||||
|   // Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   // Called when a page requests permission to access media. |requesting_url| is | ||||
|   // the URL requesting permission. Return true (1) and call | ||||
|   // cef_media_access_callback_t::cont() either in this function or at a later | ||||
|   // time to continue or cancel the request. Return false (0) to cancel the | ||||
|   // request immediately. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_request_media_access_permission)( | ||||
|       struct _cef_media_access_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       const cef_string_t* requesting_url, | ||||
|       int32_t requested_permissions, | ||||
|       struct _cef_media_access_callback_t* callback); | ||||
| } cef_media_access_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_MEDIA_ACCESS_HANDLER_CAPI_H_ | ||||
							
								
								
									
										342
									
								
								include/capi/cef_media_router_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										342
									
								
								include/capi/cef_media_router_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,342 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=8eec1100e8470cbe3ebc54d5962416d2fa4d57fb$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_callback_capi.h" | ||||
| #include "include/capi/cef_registration_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_media_observer_t; | ||||
| struct _cef_media_route_create_callback_t; | ||||
| struct _cef_media_route_t; | ||||
| struct _cef_media_sink_device_info_callback_t; | ||||
| struct _cef_media_sink_t; | ||||
| struct _cef_media_source_t; | ||||
|  | ||||
| /// | ||||
| /// Supports discovery of and communication with media devices on the local | ||||
| /// network via the Cast and DIAL protocols. The functions of this structure may | ||||
| /// be called on any browser process thread unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_media_router_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Add an observer for MediaRouter events. The observer will remain | ||||
|   /// registered until the returned Registration object is destroyed. | ||||
|   /// | ||||
|   struct _cef_registration_t*(CEF_CALLBACK* add_observer)( | ||||
|       struct _cef_media_router_t* self, | ||||
|       struct _cef_media_observer_t* observer); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a MediaSource object for the specified media source URN. Supported | ||||
|   /// URN schemes include "cast:" and "dial:", and will be already known by the | ||||
|   /// client application (e.g. "cast:<appId>?clientId=<clientId>"). | ||||
|   /// | ||||
|   struct _cef_media_source_t*(CEF_CALLBACK* get_source)( | ||||
|       struct _cef_media_router_t* self, | ||||
|       const cef_string_t* urn); | ||||
|  | ||||
|   /// | ||||
|   /// Trigger an asynchronous call to cef_media_observer_t::OnSinks on all | ||||
|   /// registered observers. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* notify_current_sinks)(struct _cef_media_router_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Create a new route between |source| and |sink|. Source and sink must be | ||||
|   /// valid, compatible (as reported by cef_media_sink_t::IsCompatibleWith), and | ||||
|   /// a route between them must not already exist. |callback| will be executed | ||||
|   /// on success or failure. If route creation succeeds it will also trigger an | ||||
|   /// asynchronous call to cef_media_observer_t::OnRoutes on all registered | ||||
|   /// observers. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* create_route)( | ||||
|       struct _cef_media_router_t* self, | ||||
|       struct _cef_media_source_t* source, | ||||
|       struct _cef_media_sink_t* sink, | ||||
|       struct _cef_media_route_create_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all | ||||
|   /// registered observers. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* notify_current_routes)(struct _cef_media_router_t* self); | ||||
| } cef_media_router_t; | ||||
|  | ||||
| /// | ||||
| /// Returns the MediaRouter object associated with the global request context. | ||||
| /// If |callback| is non-NULL it will be executed asnychronously on the UI | ||||
| /// thread after the manager's storage has been initialized. Equivalent to | ||||
| /// calling cef_request_context_t::cef_request_context_get_global_context()- | ||||
| /// >get_media_router(). | ||||
| /// | ||||
| CEF_EXPORT cef_media_router_t* cef_media_router_get_global( | ||||
|     struct _cef_completion_callback_t* callback); | ||||
|  | ||||
| /// | ||||
| /// Implemented by the client to observe MediaRouter events and registered via | ||||
| /// cef_media_router_t::AddObserver. The functions of this structure will be | ||||
| /// called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_media_observer_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// The list of available media sinks has changed or | ||||
|   /// cef_media_router_t::NotifyCurrentSinks was called. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_sinks)(struct _cef_media_observer_t* self, | ||||
|                                size_t sinksCount, | ||||
|                                struct _cef_media_sink_t* const* sinks); | ||||
|  | ||||
|   /// | ||||
|   /// The list of available media routes has changed or | ||||
|   /// cef_media_router_t::NotifyCurrentRoutes was called. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_routes)(struct _cef_media_observer_t* self, | ||||
|                                 size_t routesCount, | ||||
|                                 struct _cef_media_route_t* const* routes); | ||||
|  | ||||
|   /// | ||||
|   /// The connection state of |route| has changed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_route_state_changed)( | ||||
|       struct _cef_media_observer_t* self, | ||||
|       struct _cef_media_route_t* route, | ||||
|       cef_media_route_connection_state_t state); | ||||
|  | ||||
|   /// | ||||
|   /// A message was received over |route|. |message| is only valid for the scope | ||||
|   /// of this callback and should be copied if necessary. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_route_message_received)( | ||||
|       struct _cef_media_observer_t* self, | ||||
|       struct _cef_media_route_t* route, | ||||
|       const void* message, | ||||
|       size_t message_size); | ||||
| } cef_media_observer_t; | ||||
|  | ||||
| /// | ||||
| /// Represents the route between a media source and sink. Instances of this | ||||
| /// object are created via cef_media_router_t::CreateRoute and retrieved via | ||||
| /// cef_media_observer_t::OnRoutes. Contains the status and metadata of a | ||||
| /// routing operation. The functions of this structure may be called on any | ||||
| /// browser process thread unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_media_route_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the ID for this route. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_id)(struct _cef_media_route_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the source associated with this route. | ||||
|   /// | ||||
|   struct _cef_media_source_t*(CEF_CALLBACK* get_source)( | ||||
|       struct _cef_media_route_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the sink associated with this route. | ||||
|   /// | ||||
|   struct _cef_media_sink_t*(CEF_CALLBACK* get_sink)( | ||||
|       struct _cef_media_route_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Send a message over this route. |message| will be copied if necessary. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* send_route_message)(struct _cef_media_route_t* self, | ||||
|                                          const void* message, | ||||
|                                          size_t message_size); | ||||
|  | ||||
|   /// | ||||
|   /// Terminate this route. Will result in an asynchronous call to | ||||
|   /// cef_media_observer_t::OnRoutes on all registered observers. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* terminate)(struct _cef_media_route_t* self); | ||||
| } cef_media_route_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure for cef_media_router_t::CreateRoute. The functions of | ||||
| /// this structure will be called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_media_route_create_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be executed when the route creation has finished. | ||||
|   /// |result| will be CEF_MRCR_OK if the route creation succeeded. |error| will | ||||
|   /// be a description of the error if the route creation failed. |route| is the | ||||
|   /// resulting route, or NULL if the route creation failed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_media_route_create_finished)( | ||||
|       struct _cef_media_route_create_callback_t* self, | ||||
|       cef_media_route_create_result_t result, | ||||
|       const cef_string_t* error, | ||||
|       struct _cef_media_route_t* route); | ||||
| } cef_media_route_create_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Represents a sink to which media can be routed. Instances of this object are | ||||
| /// retrieved via cef_media_observer_t::OnSinks. The functions of this structure | ||||
| /// may be called on any browser process thread unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_media_sink_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the ID for this sink. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_id)(struct _cef_media_sink_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the name of this sink. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_name)(struct _cef_media_sink_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the icon type for this sink. | ||||
|   /// | ||||
|   cef_media_sink_icon_type_t(CEF_CALLBACK* get_icon_type)( | ||||
|       struct _cef_media_sink_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Asynchronously retrieves device info. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_device_info)( | ||||
|       struct _cef_media_sink_t* self, | ||||
|       struct _cef_media_sink_device_info_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this sink accepts content via Cast. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_cast_sink)(struct _cef_media_sink_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this sink accepts content via DIAL. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_dial_sink)(struct _cef_media_sink_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this sink is compatible with |source|. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_compatible_with)(struct _cef_media_sink_t* self, | ||||
|                                         struct _cef_media_source_t* source); | ||||
| } cef_media_sink_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of | ||||
| /// this structure will be called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_media_sink_device_info_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Method that will be executed asyncronously once device information has | ||||
|   /// been retrieved. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_media_sink_device_info)( | ||||
|       struct _cef_media_sink_device_info_callback_t* self, | ||||
|       const struct _cef_media_sink_device_info_t* device_info); | ||||
| } cef_media_sink_device_info_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Represents a source from which media can be routed. Instances of this object | ||||
| /// are retrieved via cef_media_router_t::GetSource. The functions of this | ||||
| /// structure may be called on any browser process thread unless otherwise | ||||
| /// indicated. | ||||
| /// | ||||
| typedef struct _cef_media_source_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the ID (media source URN or URL) for this source. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_id)(struct _cef_media_source_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this source outputs its content via Cast. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_cast_source)(struct _cef_media_source_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this source outputs its content via DIAL. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_dial_source)(struct _cef_media_source_t* self); | ||||
| } cef_media_source_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_ | ||||
							
								
								
									
										517
									
								
								include/capi/cef_menu_model_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										517
									
								
								include/capi/cef_menu_model_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,517 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=5dae0b1a1271e79a5fd9b2c6e71e7a719a450161$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_menu_model_delegate_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Supports creation and modification of menus. See cef_menu_id_t for the | ||||
| /// command ids that have default implementations. All user-defined command ids | ||||
| /// should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. The functions of | ||||
| /// this structure can only be accessed on the browser process the UI thread. | ||||
| /// | ||||
| typedef struct _cef_menu_model_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   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. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* clear)(struct _cef_menu_model_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the number of items in this menu. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_count)(struct _cef_menu_model_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Add a separator to the menu. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_separator)(struct _cef_menu_model_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Add an item to the menu. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_item)(struct _cef_menu_model_t* self, | ||||
|                               int command_id, | ||||
|                               const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Add a check item to the menu. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_check_item)(struct _cef_menu_model_t* self, | ||||
|                                     int command_id, | ||||
|                                     const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Add a radio item to the menu. Only a single item with the specified | ||||
|   /// |group_id| can be checked at a time. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_radio_item)(struct _cef_menu_model_t* self, | ||||
|                                     int command_id, | ||||
|                                     const cef_string_t* label, | ||||
|                                     int group_id); | ||||
|  | ||||
|   /// | ||||
|   /// Add a sub-menu to the menu. The new sub-menu is returned. | ||||
|   /// | ||||
|   struct _cef_menu_model_t*(CEF_CALLBACK* add_sub_menu)( | ||||
|       struct _cef_menu_model_t* self, | ||||
|       int command_id, | ||||
|       const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Insert a separator in the menu at the specified |index|. Returns true (1) | ||||
|   /// on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* insert_separator_at)(struct _cef_menu_model_t* self, | ||||
|                                          size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Insert an item in the menu at the specified |index|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* insert_item_at)(struct _cef_menu_model_t* self, | ||||
|                                     size_t index, | ||||
|                                     int command_id, | ||||
|                                     const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Insert a check item in the menu at the specified |index|. Returns true (1) | ||||
|   /// on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* insert_check_item_at)(struct _cef_menu_model_t* self, | ||||
|                                           size_t index, | ||||
|                                           int command_id, | ||||
|                                           const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Insert a radio item in the menu at the specified |index|. Only a single | ||||
|   /// item with the specified |group_id| can be checked at a time. Returns true | ||||
|   /// (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* insert_radio_item_at)(struct _cef_menu_model_t* self, | ||||
|                                           size_t index, | ||||
|                                           int command_id, | ||||
|                                           const cef_string_t* label, | ||||
|                                           int group_id); | ||||
|  | ||||
|   /// | ||||
|   /// Insert a sub-menu in the menu at the specified |index|. The new sub-menu | ||||
|   /// is returned. | ||||
|   /// | ||||
|   struct _cef_menu_model_t*(CEF_CALLBACK* insert_sub_menu_at)( | ||||
|       struct _cef_menu_model_t* self, | ||||
|       size_t index, | ||||
|       int command_id, | ||||
|       const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Removes the item with the specified |command_id|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* remove)(struct _cef_menu_model_t* self, int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Removes the item at the specified |index|. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* remove_at)(struct _cef_menu_model_t* self, size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the index associated with the specified |command_id| or -1 if not | ||||
|   /// found due to the command id not existing in the menu. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_index_of)(struct _cef_menu_model_t* self, | ||||
|                                   int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the command id at the specified |index| or -1 if not found due to | ||||
|   /// invalid range or the index being a separator. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_command_id_at)(struct _cef_menu_model_t* self, | ||||
|                                        size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the command id at the specified |index|. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_command_id_at)(struct _cef_menu_model_t* self, | ||||
|                                        size_t index, | ||||
|                                        int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the label for the specified |command_id| or NULL if not found. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_label)(struct _cef_menu_model_t* self, | ||||
|                                                  int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the label at the specified |index| or NULL if not found due to | ||||
|   /// invalid range or the index being a separator. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t( | ||||
|       CEF_CALLBACK* get_label_at)(struct _cef_menu_model_t* self, size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the label for the specified |command_id|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_label)(struct _cef_menu_model_t* self, | ||||
|                                int command_id, | ||||
|                                const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Set the label at the specified |index|. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_label_at)(struct _cef_menu_model_t* self, | ||||
|                                   size_t index, | ||||
|                                   const cef_string_t* label); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the item type for the specified |command_id|. | ||||
|   /// | ||||
|   cef_menu_item_type_t(CEF_CALLBACK* get_type)(struct _cef_menu_model_t* self, | ||||
|                                                int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the item type at the specified |index|. | ||||
|   /// | ||||
|   cef_menu_item_type_t( | ||||
|       CEF_CALLBACK* get_type_at)(struct _cef_menu_model_t* self, size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the group id for the specified |command_id| or -1 if invalid. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_group_id)(struct _cef_menu_model_t* self, | ||||
|                                   int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the group id at the specified |index| or -1 if invalid. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_group_id_at)(struct _cef_menu_model_t* self, | ||||
|                                      size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the group id for the specified |command_id|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_group_id)(struct _cef_menu_model_t* self, | ||||
|                                   int command_id, | ||||
|                                   int group_id); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the group id at the specified |index|. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_group_id_at)(struct _cef_menu_model_t* self, | ||||
|                                      size_t index, | ||||
|                                      int group_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the submenu for the specified |command_id| or NULL if invalid. | ||||
|   /// | ||||
|   struct _cef_menu_model_t*(CEF_CALLBACK* get_sub_menu)( | ||||
|       struct _cef_menu_model_t* self, | ||||
|       int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the submenu at the specified |index| or NULL if invalid. | ||||
|   /// | ||||
|   struct _cef_menu_model_t*(CEF_CALLBACK* get_sub_menu_at)( | ||||
|       struct _cef_menu_model_t* self, | ||||
|       size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |command_id| is visible. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_visible)(struct _cef_menu_model_t* self, int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |index| is visible. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_visible_at)(struct _cef_menu_model_t* self, | ||||
|                                    size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Change the visibility of the specified |command_id|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_visible)(struct _cef_menu_model_t* self, | ||||
|                                  int command_id, | ||||
|                                  int visible); | ||||
|  | ||||
|   /// | ||||
|   /// Change the visibility at the specified |index|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_visible_at)(struct _cef_menu_model_t* self, | ||||
|                                     size_t index, | ||||
|                                     int visible); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |command_id| is enabled. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_enabled)(struct _cef_menu_model_t* self, int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |index| is enabled. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_enabled_at)(struct _cef_menu_model_t* self, | ||||
|                                    size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Change the enabled status of the specified |command_id|. Returns true (1) | ||||
|   /// on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_enabled)(struct _cef_menu_model_t* self, | ||||
|                                  int command_id, | ||||
|                                  int enabled); | ||||
|  | ||||
|   /// | ||||
|   /// Change the enabled status at the specified |index|. Returns true (1) on | ||||
|   /// success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_enabled_at)(struct _cef_menu_model_t* self, | ||||
|                                     size_t index, | ||||
|                                     int enabled); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |command_id| is checked. Only applies to | ||||
|   /// check and radio items. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_checked)(struct _cef_menu_model_t* self, int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |index| is checked. Only applies to | ||||
|   /// check and radio items. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_checked_at)(struct _cef_menu_model_t* self, | ||||
|                                    size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Check the specified |command_id|. Only applies to check and radio items. | ||||
|   /// Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_checked)(struct _cef_menu_model_t* self, | ||||
|                                  int command_id, | ||||
|                                  int checked); | ||||
|  | ||||
|   /// | ||||
|   /// Check the specified |index|. Only applies to check and radio items. | ||||
|   /// Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_checked_at)(struct _cef_menu_model_t* self, | ||||
|                                     size_t index, | ||||
|                                     int checked); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |command_id| has a keyboard accelerator | ||||
|   /// assigned. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_accelerator)(struct _cef_menu_model_t* self, | ||||
|                                      int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the specified |index| has a keyboard accelerator | ||||
|   /// assigned. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_accelerator_at)(struct _cef_menu_model_t* self, | ||||
|                                         size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Set the keyboard accelerator for the specified |command_id|. |key_code| | ||||
|   /// can be any virtual key or character value. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_accelerator)(struct _cef_menu_model_t* self, | ||||
|                                      int command_id, | ||||
|                                      int key_code, | ||||
|                                      int shift_pressed, | ||||
|                                      int ctrl_pressed, | ||||
|                                      int alt_pressed); | ||||
|  | ||||
|   /// | ||||
|   /// Set the keyboard accelerator at the specified |index|. |key_code| can be | ||||
|   /// any virtual key or character value. Returns true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_accelerator_at)(struct _cef_menu_model_t* self, | ||||
|                                         size_t index, | ||||
|                                         int key_code, | ||||
|                                         int shift_pressed, | ||||
|                                         int ctrl_pressed, | ||||
|                                         int alt_pressed); | ||||
|  | ||||
|   /// | ||||
|   /// Remove the keyboard accelerator for the specified |command_id|. Returns | ||||
|   /// true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* remove_accelerator)(struct _cef_menu_model_t* self, | ||||
|                                         int command_id); | ||||
|  | ||||
|   /// | ||||
|   /// Remove the keyboard accelerator at the specified |index|. Returns true (1) | ||||
|   /// on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* remove_accelerator_at)(struct _cef_menu_model_t* self, | ||||
|                                            size_t index); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieves the keyboard accelerator for the specified |command_id|. Returns | ||||
|   /// true (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_accelerator)(struct _cef_menu_model_t* self, | ||||
|                                      int command_id, | ||||
|                                      int* key_code, | ||||
|                                      int* shift_pressed, | ||||
|                                      int* ctrl_pressed, | ||||
|                                      int* alt_pressed); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieves the keyboard accelerator for the specified |index|. Returns true | ||||
|   /// (1) on success. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_accelerator_at)(struct _cef_menu_model_t* self, | ||||
|                                         size_t 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 | ||||
|   /// - 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; | ||||
|  | ||||
| /// | ||||
| /// Create a new MenuModel with the specified |delegate|. | ||||
| /// | ||||
| CEF_EXPORT cef_menu_model_t* cef_menu_model_create( | ||||
|     struct _cef_menu_model_delegate_t* delegate); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ | ||||
							
								
								
									
										123
									
								
								include/capi/cef_menu_model_delegate_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								include/capi/cef_menu_model_delegate_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,123 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=01bdeaf96ea01591689b52b0955504644d6614b8$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_menu_model_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle menu model events. The functions of this | ||||
| /// structure will be called on the browser process UI thread unless otherwise | ||||
| /// indicated. | ||||
| /// | ||||
| typedef struct _cef_menu_model_delegate_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Perform the action associated with the specified |command_id| and optional | ||||
|   /// |event_flags|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* execute_command)(struct _cef_menu_model_delegate_t* self, | ||||
|                                       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; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_ | ||||
							
								
								
									
										133
									
								
								include/capi/cef_navigation_entry_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								include/capi/cef_navigation_entry_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,133 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=dbdac05f2ebd8e8a357eacfe5095676a5bd5b1ac$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_ssl_status_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent an entry in navigation history. | ||||
| /// | ||||
| typedef struct _cef_navigation_entry_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is valid. Do not call any other functions | ||||
|   /// if this function returns false (0). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_valid)(struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the actual URL of the page. For some pages this may be data: URL | ||||
|   /// or similar. Use get_display_url() to return a display-friendly version. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_url)( | ||||
|       struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a display-friendly version of the URL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_display_url)( | ||||
|       struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the original URL that was entered by the user before any | ||||
|   /// redirects. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_original_url)( | ||||
|       struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the title set by the page. This value may be NULL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_title)( | ||||
|       struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the transition type which indicates what the user did to move to | ||||
|   /// this page from the previous page. | ||||
|   /// | ||||
|   cef_transition_type_t(CEF_CALLBACK* get_transition_type)( | ||||
|       struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this navigation includes post data. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_post_data)(struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the time for the last known successful navigation completion. A | ||||
|   /// navigation may be completed more than once if the page is reloaded. May be | ||||
|   /// 0 if the navigation has not yet completed. | ||||
|   /// | ||||
|   cef_basetime_t(CEF_CALLBACK* get_completion_time)( | ||||
|       struct _cef_navigation_entry_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the HTTP status code for the last known successful navigation | ||||
|   /// response. May be 0 if the response has not yet been received or if the | ||||
|   /// navigation has not yet completed. | ||||
|   /// | ||||
|   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; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_ | ||||
							
								
								
									
										112
									
								
								include/capi/cef_origin_whitelist_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								include/capi/cef_origin_whitelist_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,112 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=f146fd9172033e77e90994841df9fa55ff71aa4b$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Add an entry to the cross-origin access whitelist. | ||||
| /// | ||||
| /// The same-origin policy restricts how scripts hosted from different origins | ||||
| /// (scheme + domain + port) can communicate. By default, scripts can only | ||||
| /// access resources with the same origin. Scripts hosted on the HTTP and HTTPS | ||||
| /// schemes (but no other schemes) can use the "Access-Control-Allow-Origin" | ||||
| /// header to allow cross-origin requests. For example, | ||||
| /// https://source.example.com can make XMLHttpRequest requests on | ||||
| /// http://target.example.com if the http://target.example.com request returns | ||||
| /// an "Access-Control-Allow-Origin: https://source.example.com" response | ||||
| /// header. | ||||
| /// | ||||
| /// Scripts in separate frames or iframes and hosted from the same protocol and | ||||
| /// domain suffix can execute cross-origin JavaScript if both pages set the | ||||
| /// document.domain value to the same domain suffix. For example, | ||||
| /// scheme://foo.example.com and scheme://bar.example.com can communicate using | ||||
| /// JavaScript if both domains set document.domain="example.com". | ||||
| /// | ||||
| /// This function is used to allow access to origins that would otherwise | ||||
| /// violate the same-origin policy. Scripts hosted underneath the fully | ||||
| /// qualified |source_origin| URL (like http://www.example.com) will be allowed | ||||
| /// access to all resources hosted on the specified |target_protocol| and | ||||
| /// |target_domain|. If |target_domain| is non-NULL and | ||||
| /// |allow_target_subdomains| is false (0) only exact domain matches will be | ||||
| /// allowed. If |target_domain| contains a top- level domain component (like | ||||
| /// "example.com") and |allow_target_subdomains| is true (1) sub-domain matches | ||||
| /// will be allowed. If |target_domain| is NULL and |allow_target_subdomains| if | ||||
| /// true (1) all domains and IP addresses will be allowed. | ||||
| /// | ||||
| /// This function cannot be used to bypass the restrictions on local or display | ||||
| /// isolated schemes. See the comments on CefRegisterCustomScheme for more | ||||
| /// information. | ||||
| /// | ||||
| /// This function may be called on any thread. Returns false (0) if | ||||
| /// |source_origin| is invalid or the whitelist cannot be accessed. | ||||
| /// | ||||
| CEF_EXPORT int cef_add_cross_origin_whitelist_entry( | ||||
|     const cef_string_t* source_origin, | ||||
|     const cef_string_t* target_protocol, | ||||
|     const cef_string_t* target_domain, | ||||
|     int allow_target_subdomains); | ||||
|  | ||||
| /// | ||||
| /// Remove an entry from the cross-origin access whitelist. Returns false (0) if | ||||
| /// |source_origin| is invalid or the whitelist cannot be accessed. | ||||
| /// | ||||
| CEF_EXPORT int cef_remove_cross_origin_whitelist_entry( | ||||
|     const cef_string_t* source_origin, | ||||
|     const cef_string_t* target_protocol, | ||||
|     const cef_string_t* target_domain, | ||||
|     int allow_target_subdomains); | ||||
|  | ||||
| /// | ||||
| /// Remove all entries from the cross-origin access whitelist. Returns false (0) | ||||
| /// if the whitelist cannot be accessed. | ||||
| /// | ||||
| CEF_EXPORT int cef_clear_cross_origin_whitelist(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_ | ||||
							
								
								
									
										184
									
								
								include/capi/cef_parser_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										184
									
								
								include/capi/cef_parser_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,184 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=8accded29b97df1549e86e58d8976fe0f800359a$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Combines specified |base_url| and |relative_url| into |resolved_url|. | ||||
| /// Returns false (0) if one of the URLs is NULL or invalid. | ||||
| /// | ||||
| CEF_EXPORT int cef_resolve_url(const cef_string_t* base_url, | ||||
|                                const cef_string_t* relative_url, | ||||
|                                cef_string_t* resolved_url); | ||||
|  | ||||
| /// | ||||
| /// Parse the specified |url| into its component parts. Returns false (0) if the | ||||
| /// URL is NULL or invalid. | ||||
| /// | ||||
| CEF_EXPORT int cef_parse_url(const cef_string_t* url, | ||||
|                              struct _cef_urlparts_t* parts); | ||||
|  | ||||
| /// | ||||
| /// Creates a URL from the specified |parts|, which must contain a non-NULL spec | ||||
| /// or a non-NULL host and path (at a minimum), but not both. Returns false (0) | ||||
| /// if |parts| isn't initialized as described. | ||||
| /// | ||||
| CEF_EXPORT int cef_create_url(const struct _cef_urlparts_t* parts, | ||||
|                               cef_string_t* url); | ||||
|  | ||||
| /// | ||||
| /// This is a convenience function for formatting a URL in a concise and human- | ||||
| /// friendly way to help users make security-related decisions (or in other | ||||
| /// circumstances when people need to distinguish sites, origins, or otherwise- | ||||
| /// simplified URLs from each other). Internationalized domain names (IDN) may | ||||
| /// be presented in Unicode if the conversion is considered safe. The returned | ||||
| /// value will (a) omit the path for standard schemes, excepting file and | ||||
| /// filesystem, and (b) omit the port if it is the default for the scheme. Do | ||||
| /// not use this for URLs which will be parsed or sent to other applications. | ||||
| /// | ||||
| // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
| CEF_EXPORT cef_string_userfree_t | ||||
| cef_format_url_for_security_display(const cef_string_t* origin_url); | ||||
|  | ||||
| /// | ||||
| /// Returns the mime type for the specified file extension or an NULL string if | ||||
| /// unknown. | ||||
| /// | ||||
| // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
| CEF_EXPORT cef_string_userfree_t | ||||
| cef_get_mime_type(const cef_string_t* extension); | ||||
|  | ||||
| /// | ||||
| /// Get the extensions associated with the given mime type. This should be | ||||
| /// passed in lower case. There could be multiple extensions for a given mime | ||||
| /// type, like "html,htm" for "text/html", or "txt,text,html,..." for "text/*". | ||||
| /// Any existing elements in the provided vector will not be erased. | ||||
| /// | ||||
| CEF_EXPORT void cef_get_extensions_for_mime_type(const cef_string_t* mime_type, | ||||
|                                                  cef_string_list_t extensions); | ||||
|  | ||||
| /// | ||||
| /// Encodes |data| as a base64 string. | ||||
| /// | ||||
| // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
| CEF_EXPORT cef_string_userfree_t cef_base64encode(const void* data, | ||||
|                                                   size_t data_size); | ||||
|  | ||||
| /// | ||||
| /// Decodes the base64 encoded string |data|. The returned value will be NULL if | ||||
| /// the decoding fails. | ||||
| /// | ||||
| CEF_EXPORT struct _cef_binary_value_t* cef_base64decode( | ||||
|     const cef_string_t* data); | ||||
|  | ||||
| /// | ||||
| /// Escapes characters in |text| which are unsuitable for use as a query | ||||
| /// parameter value. Everything except alphanumerics and -_.!~*'() will be | ||||
| /// converted to "%XX". If |use_plus| is true (1) spaces will change to "+". The | ||||
| /// result is basically the same as encodeURIComponent in Javacript. | ||||
| /// | ||||
| // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
| CEF_EXPORT cef_string_userfree_t cef_uriencode(const cef_string_t* text, | ||||
|                                                int use_plus); | ||||
|  | ||||
| /// | ||||
| /// Unescapes |text| and returns the result. Unescaping consists of looking for | ||||
| /// the exact pattern "%XX" where each X is a hex digit and converting to the | ||||
| /// character with the numerical value of those digits (e.g. "i%20=%203%3b" | ||||
| /// unescapes to "i = 3;"). If |convert_to_utf8| is true (1) this function will | ||||
| /// attempt to interpret the initial decoded result as UTF-8. If the result is | ||||
| /// convertable into UTF-8 it will be returned as converted. Otherwise the | ||||
| /// initial decoded result will be returned.  The |unescape_rule| parameter | ||||
| /// supports further customization the decoding process. | ||||
| /// | ||||
| // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
| CEF_EXPORT cef_string_userfree_t | ||||
| cef_uridecode(const cef_string_t* text, | ||||
|               int convert_to_utf8, | ||||
|               cef_uri_unescape_rule_t unescape_rule); | ||||
|  | ||||
| /// | ||||
| /// Parses the specified |json_string| and returns a dictionary or list | ||||
| /// representation. If JSON parsing fails this function returns NULL. | ||||
| /// | ||||
| CEF_EXPORT struct _cef_value_t* cef_parse_json( | ||||
|     const cef_string_t* json_string, | ||||
|     cef_json_parser_options_t options); | ||||
|  | ||||
| /// | ||||
| /// Parses the specified UTF8-encoded |json| buffer of size |json_size| and | ||||
| /// returns a dictionary or list representation. If JSON parsing fails this | ||||
| /// function returns NULL. | ||||
| /// | ||||
| CEF_EXPORT struct _cef_value_t* cef_parse_json_buffer( | ||||
|     const void* json, | ||||
|     size_t json_size, | ||||
|     cef_json_parser_options_t options); | ||||
|  | ||||
| /// | ||||
| /// Parses the specified |json_string| and returns a dictionary or list | ||||
| /// representation. If JSON parsing fails this function returns NULL and | ||||
| /// populates |error_msg_out| with a formatted error message. | ||||
| /// | ||||
| CEF_EXPORT struct _cef_value_t* cef_parse_jsonand_return_error( | ||||
|     const cef_string_t* json_string, | ||||
|     cef_json_parser_options_t options, | ||||
|     cef_string_t* error_msg_out); | ||||
|  | ||||
| /// | ||||
| /// Generates a JSON string from the specified root |node| which should be a | ||||
| /// dictionary or list value. Returns an NULL string on failure. This function | ||||
| /// requires exclusive access to |node| including any underlying data. | ||||
| /// | ||||
| // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
| CEF_EXPORT cef_string_userfree_t | ||||
| cef_write_json(struct _cef_value_t* node, cef_json_writer_options_t options); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_ | ||||
| @@ -1,4 +1,4 @@ | ||||
| // Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
 | ||||
| // Copyright (c) 2024 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
 | ||||
| @@ -29,37 +29,31 @@ | ||||
| //
 | ||||
| // ---------------------------------------------------------------------------
 | ||||
| //
 | ||||
| // The contents of this file are only available to applications that link
 | ||||
| // against the libcef_dll_wrapper target.
 | ||||
| // 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.
 | ||||
| //
 | ||||
| // $hash=ee0c50b4e1f51fb2286da24bb9244ae74f3b0c6f$
 | ||||
| //
 | ||||
| 
 | ||||
| #ifndef CEF_INCLUDE_WRAPPER_CEF_UTIL_WIN_H_ | ||||
| #define CEF_INCLUDE_WRAPPER_CEF_UTIL_WIN_H_ | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_ | ||||
| #pragma once | ||||
| 
 | ||||
| #include <windows.h> | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| 
 | ||||
| #include <string> | ||||
| #include <vector> | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
| 
 | ||||
| namespace cef_util { | ||||
| ///
 | ||||
| /// Retrieve the path associated with the specified |key|. Returns true (1) on
 | ||||
| /// success. Can be called on any thread in the browser process.
 | ||||
| ///
 | ||||
| CEF_EXPORT int cef_get_path(cef_path_key_t key, cef_string_t* path); | ||||
| 
 | ||||
| // Returns the fully qualified file path for the executable module.
 | ||||
| std::wstring GetExePath(); | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| // Returns the fully qualified file path for |module|.
 | ||||
| std::wstring GetModulePath(HMODULE module); | ||||
| 
 | ||||
| // Returns the value of GetLastError() as a string.
 | ||||
| std::wstring GetLastErrorAsString(); | ||||
| 
 | ||||
| // Parse command line arguments for |hInstance|.
 | ||||
| std::vector<std::wstring> ParseCommandLineArgs(const wchar_t* str); | ||||
| 
 | ||||
| // Returns the value for |name| in |command_line|, if any.
 | ||||
| std::wstring GetCommandLineValue(const std::vector<std::wstring>& command_line, | ||||
|                                  const std::wstring& name); | ||||
| 
 | ||||
| }  // namespace cef_util
 | ||||
| 
 | ||||
| #endif  // CEF_INCLUDE_WRAPPER_CEF_UTIL_WIN_H_
 | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_
 | ||||
							
								
								
									
										164
									
								
								include/capi/cef_permission_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								include/capi/cef_permission_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,164 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=c9b3913701581cd6a1077fa3a39d197f338a2507$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for asynchronous continuation of media access | ||||
| /// permission requests. | ||||
| /// | ||||
| typedef struct _cef_media_access_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Call to allow or deny media access. If this callback was initiated in | ||||
|   /// response to a getUserMedia (indicated by | ||||
|   /// CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE and/or | ||||
|   /// CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE being set) then | ||||
|   /// |allowed_permissions| must match |required_permissions| passed to | ||||
|   /// OnRequestMediaAccessPermission. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_media_access_callback_t* self, | ||||
|                            uint32_t allowed_permissions); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel the media access request. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_media_access_callback_t* self); | ||||
| } cef_media_access_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure used for asynchronous continuation of permission prompts. | ||||
| /// | ||||
| typedef struct _cef_permission_prompt_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Complete the permissions request with the specified |result|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_permission_prompt_callback_t* self, | ||||
|                            cef_permission_request_result_t result); | ||||
| } cef_permission_prompt_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to permission requests. | ||||
| /// The functions of this structure will be called on the browser process UI | ||||
| /// thread. | ||||
| /// | ||||
| typedef struct _cef_permission_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when a page requests permission to access media. | ||||
|   /// |requesting_origin| is the URL origin requesting permission. | ||||
|   /// |requested_permissions| is a combination of values from | ||||
|   /// cef_media_access_permission_types_t that represent the requested | ||||
|   /// permissions. Return true (1) and call cef_media_access_callback_t | ||||
|   /// functions either in this function or at a later time to continue or cancel | ||||
|   /// the request. Return false (0) to proceed with default handling. With the | ||||
|   /// Chrome runtime, default handling will display the permission request UI. | ||||
|   /// With the Alloy runtime, default handling will deny the request. This | ||||
|   /// function will not be called if the "--enable-media-stream" command-line | ||||
|   /// switch is used to grant all permissions. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_request_media_access_permission)( | ||||
|       struct _cef_permission_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       const cef_string_t* requesting_origin, | ||||
|       uint32_t requested_permissions, | ||||
|       struct _cef_media_access_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a page should show a permission prompt. |prompt_id| uniquely | ||||
|   /// identifies the prompt. |requesting_origin| is the URL origin requesting | ||||
|   /// permission. |requested_permissions| is a combination of values from | ||||
|   /// cef_permission_request_types_t that represent the requested permissions. | ||||
|   /// Return true (1) and call cef_permission_prompt_callback_t::Continue either | ||||
|   /// in this function or at a later time to continue or cancel the request. | ||||
|   /// Return false (0) to proceed with default handling. With the Chrome | ||||
|   /// runtime, default handling will display the permission prompt UI. With the | ||||
|   /// Alloy runtime, default handling is CEF_PERMISSION_RESULT_IGNORE. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_show_permission_prompt)( | ||||
|       struct _cef_permission_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       uint64_t prompt_id, | ||||
|       const cef_string_t* requesting_origin, | ||||
|       uint32_t requested_permissions, | ||||
|       struct _cef_permission_prompt_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a permission prompt handled via OnShowPermissionPrompt is | ||||
|   /// dismissed. |prompt_id| will match the value that was passed to | ||||
|   /// OnShowPermissionPrompt. |result| will be the value passed to | ||||
|   /// cef_permission_prompt_callback_t::Continue or CEF_PERMISSION_RESULT_IGNORE | ||||
|   /// if the dialog was dismissed for other reasons such as navigation, browser | ||||
|   /// closure, etc. This function will not be called if OnShowPermissionPrompt | ||||
|   /// returned false (0) for |prompt_id|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_dismiss_permission_prompt)( | ||||
|       struct _cef_permission_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       uint64_t prompt_id, | ||||
|       cef_permission_request_result_t result); | ||||
| } cef_permission_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_ | ||||
							
								
								
									
										148
									
								
								include/capi/cef_preference_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								include/capi/cef_preference_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,148 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=1c0e469a283538945834404bcd5934b9bb9a0756$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PREFERENCE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PREFERENCE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure that manages custom preference registrations. | ||||
| /// | ||||
| typedef struct _cef_preference_registrar_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_scoped_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Register a preference with the specified |name| and |default_value|. To | ||||
|   /// avoid conflicts with built-in preferences the |name| value should contain | ||||
|   /// an application-specific prefix followed by a period (e.g. "myapp.value"). | ||||
|   /// The contents of |default_value| will be copied. The data type for the | ||||
|   /// preference will be inferred from |default_value|'s type and cannot be | ||||
|   /// changed after registration. Returns true (1) on success. Returns false (0) | ||||
|   /// if |name| is already registered or if |default_value| has an invalid type. | ||||
|   /// This function must be called from within the scope of the | ||||
|   /// cef_browser_process_handler_t::OnRegisterCustomPreferences callback. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_preference)(struct _cef_preference_registrar_t* self, | ||||
|                                     const cef_string_t* name, | ||||
|                                     struct _cef_value_t* default_value); | ||||
| } cef_preference_registrar_t; | ||||
|  | ||||
| /// | ||||
| /// Manage access to preferences. Many built-in preferences are registered by | ||||
| /// Chromium. Custom preferences can be registered in | ||||
| /// cef_browser_process_handler_t::OnRegisterCustomPreferences. | ||||
| /// | ||||
| typedef struct _cef_preference_manager_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if a preference with the specified |name| exists. This | ||||
|   /// function must be called on the browser process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_preference)(struct _cef_preference_manager_t* self, | ||||
|                                     const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the value for the preference with the specified |name|. Returns | ||||
|   /// NULL if the preference does not exist. The returned object contains a copy | ||||
|   /// of the underlying preference value and modifications to the returned | ||||
|   /// object will not modify the underlying preference value. This function must | ||||
|   /// be called on the browser process UI thread. | ||||
|   /// | ||||
|   struct _cef_value_t*(CEF_CALLBACK* get_preference)( | ||||
|       struct _cef_preference_manager_t* self, | ||||
|       const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Returns all preferences as a dictionary. If |include_defaults| is true (1) | ||||
|   /// then preferences currently at their default value will be included. The | ||||
|   /// returned object contains a copy of the underlying preference values and | ||||
|   /// modifications to the returned object will not modify the underlying | ||||
|   /// preference values. This function must be called on the browser process UI | ||||
|   /// thread. | ||||
|   /// | ||||
|   struct _cef_dictionary_value_t*(CEF_CALLBACK* get_all_preferences)( | ||||
|       struct _cef_preference_manager_t* self, | ||||
|       int include_defaults); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the preference with the specified |name| can be | ||||
|   /// modified using SetPreference. As one example preferences set via the | ||||
|   /// command-line usually cannot be modified. This function must be called on | ||||
|   /// the browser process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* can_set_preference)(struct _cef_preference_manager_t* self, | ||||
|                                         const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Set the |value| associated with preference |name|. Returns true (1) if the | ||||
|   /// value is set successfully and false (0) otherwise. If |value| is NULL the | ||||
|   /// preference will be restored to its default value. If setting the | ||||
|   /// preference fails then |error| will be populated with a detailed | ||||
|   /// description of the problem. This function must be called on the browser | ||||
|   /// process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_preference)(struct _cef_preference_manager_t* self, | ||||
|                                     const cef_string_t* name, | ||||
|                                     struct _cef_value_t* value, | ||||
|                                     cef_string_t* error); | ||||
| } cef_preference_manager_t; | ||||
|  | ||||
| /// | ||||
| /// Returns the global preference manager object. | ||||
| /// | ||||
| CEF_EXPORT cef_preference_manager_t* cef_preference_manager_get_global(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PREFERENCE_CAPI_H_ | ||||
							
								
								
									
										116
									
								
								include/capi/cef_preference_manager_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								include/capi/cef_preference_manager_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| // Copyright (c) 2022 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. | ||||
| // | ||||
| // $hash=1f5dd49cfc5aeb4b673c10750de01768f5cd2694$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PREFERENCE_MANAGER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PREFERENCE_MANAGER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Manage access to preferences. | ||||
| /// | ||||
| typedef struct _cef_preference_manager_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if a preference with the specified |name| exists. This | ||||
|   /// function must be called on the browser process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_preference)(struct _cef_preference_manager_t* self, | ||||
|                                     const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the value for the preference with the specified |name|. Returns | ||||
|   /// NULL if the preference does not exist. The returned object contains a copy | ||||
|   /// of the underlying preference value and modifications to the returned | ||||
|   /// object will not modify the underlying preference value. This function must | ||||
|   /// be called on the browser process UI thread. | ||||
|   /// | ||||
|   struct _cef_value_t*(CEF_CALLBACK* get_preference)( | ||||
|       struct _cef_preference_manager_t* self, | ||||
|       const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Returns all preferences as a dictionary. If |include_defaults| is true (1) | ||||
|   /// then preferences currently at their default value will be included. The | ||||
|   /// returned object contains a copy of the underlying preference values and | ||||
|   /// modifications to the returned object will not modify the underlying | ||||
|   /// preference values. This function must be called on the browser process UI | ||||
|   /// thread. | ||||
|   /// | ||||
|   struct _cef_dictionary_value_t*(CEF_CALLBACK* get_all_preferences)( | ||||
|       struct _cef_preference_manager_t* self, | ||||
|       int include_defaults); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the preference with the specified |name| can be | ||||
|   /// modified using SetPreference. As one example preferences set via the | ||||
|   /// command-line usually cannot be modified. This function must be called on | ||||
|   /// the browser process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* can_set_preference)(struct _cef_preference_manager_t* self, | ||||
|                                         const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Set the |value| associated with preference |name|. Returns true (1) if the | ||||
|   /// value is set successfully and false (0) otherwise. If |value| is NULL the | ||||
|   /// preference will be restored to its default value. If setting the | ||||
|   /// preference fails then |error| will be populated with a detailed | ||||
|   /// description of the problem. This function must be called on the browser | ||||
|   /// process UI thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* set_preference)(struct _cef_preference_manager_t* self, | ||||
|                                     const cef_string_t* name, | ||||
|                                     struct _cef_value_t* value, | ||||
|                                     cef_string_t* error); | ||||
| } cef_preference_manager_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PREFERENCE_MANAGER_CAPI_H_ | ||||
							
								
								
									
										160
									
								
								include/capi/cef_print_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								include/capi/cef_print_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,160 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=96d5b6c0dc8f2575e686fb79684c63787cdfe876$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_print_settings_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback structure for asynchronous continuation of print dialog requests. | ||||
| /// | ||||
| typedef struct _cef_print_dialog_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Continue printing with the specified |settings|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_print_dialog_callback_t* self, | ||||
|                            struct _cef_print_settings_t* settings); | ||||
|  | ||||
|   /// | ||||
|   /// Cancel the printing. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_print_dialog_callback_t* self); | ||||
| } cef_print_dialog_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure for asynchronous continuation of print job requests. | ||||
| /// | ||||
| typedef struct _cef_print_job_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Indicate completion of the print job. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_print_job_callback_t* self); | ||||
| } cef_print_job_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle printing on Linux. Each browser will have | ||||
| /// only one print job in progress at a time. The functions of this structure | ||||
| /// will be called on the browser process UI thread. | ||||
| /// | ||||
| typedef struct _cef_print_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called when printing has started for the specified |browser|. This | ||||
|   /// function will be called before the other OnPrint*() functions and | ||||
|   /// irrespective of how printing was initiated (e.g. | ||||
|   /// cef_browser_host_t::print(), JavaScript window.print() or PDF extension | ||||
|   /// print button). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_print_start)(struct _cef_print_handler_t* self, | ||||
|                                      struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Synchronize |settings| with client state. If |get_defaults| is true (1) | ||||
|   /// then populate |settings| with the default print settings. Do not keep a | ||||
|   /// reference to |settings| outside of this callback. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_print_settings)(struct _cef_print_handler_t* self, | ||||
|                                         struct _cef_browser_t* browser, | ||||
|                                         struct _cef_print_settings_t* settings, | ||||
|                                         int get_defaults); | ||||
|  | ||||
|   /// | ||||
|   /// Show the print dialog. Execute |callback| once the dialog is dismissed. | ||||
|   /// Return true (1) if the dialog will be displayed or false (0) to cancel the | ||||
|   /// printing immediately. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_print_dialog)( | ||||
|       struct _cef_print_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int has_selection, | ||||
|       struct _cef_print_dialog_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Send the print job to the printer. Execute |callback| once the job is | ||||
|   /// completed. Return true (1) if the job will proceed or false (0) to cancel | ||||
|   /// the job immediately. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_print_job)(struct _cef_print_handler_t* self, | ||||
|                                   struct _cef_browser_t* browser, | ||||
|                                   const cef_string_t* document_name, | ||||
|                                   const cef_string_t* pdf_file_path, | ||||
|                                   struct _cef_print_job_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Reset client state related to printing. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_print_reset)(struct _cef_print_handler_t* self, | ||||
|                                      struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Return the PDF paper size in device units. Used in combination with | ||||
|   /// cef_browser_host_t::print_to_pdf(). | ||||
|   /// | ||||
|   cef_size_t(CEF_CALLBACK* get_pdf_paper_size)( | ||||
|       struct _cef_print_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       int device_units_per_inch); | ||||
| } cef_print_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_ | ||||
							
								
								
									
										202
									
								
								include/capi/cef_print_settings_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								include/capi/cef_print_settings_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,202 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=63977fcbe4567db202914f69539f49b254352053$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure representing print settings. | ||||
| /// | ||||
| typedef struct _cef_print_settings_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is valid. Do not call any other functions | ||||
|   /// if this function returns false (0). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_valid)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the values of this object are read-only. Some APIs may | ||||
|   /// expose read-only objects. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the page orientation. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_orientation)(struct _cef_print_settings_t* self, | ||||
|                                       int landscape); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the orientation is landscape. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_landscape)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the printer printable area in device units. Some platforms already | ||||
|   /// provide flipped area. Set |landscape_needs_flip| to false (0) on those | ||||
|   /// platforms to avoid double flipping. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_printer_printable_area)( | ||||
|       struct _cef_print_settings_t* self, | ||||
|       const cef_size_t* physical_size_device_units, | ||||
|       const cef_rect_t* printable_area_device_units, | ||||
|       int landscape_needs_flip); | ||||
|  | ||||
|   /// | ||||
|   /// Set the device name. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_device_name)(struct _cef_print_settings_t* self, | ||||
|                                       const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Get the device name. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_device_name)( | ||||
|       struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the DPI (dots per inch). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_dpi)(struct _cef_print_settings_t* self, int dpi); | ||||
|  | ||||
|   /// | ||||
|   /// Get the DPI (dots per inch). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_dpi)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the page ranges. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_page_ranges)(struct _cef_print_settings_t* self, | ||||
|                                       size_t rangesCount, | ||||
|                                       cef_range_t const* ranges); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the number of page ranges that currently exist. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_page_ranges_count)( | ||||
|       struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve the page ranges. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_page_ranges)(struct _cef_print_settings_t* self, | ||||
|                                       size_t* rangesCount, | ||||
|                                       cef_range_t* ranges); | ||||
|  | ||||
|   /// | ||||
|   /// Set whether only the selection will be printed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_selection_only)(struct _cef_print_settings_t* self, | ||||
|                                          int selection_only); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if only the selection will be printed. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_selection_only)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set whether pages will be collated. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_collate)(struct _cef_print_settings_t* self, | ||||
|                                   int collate); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if pages will be collated. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* will_collate)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the color model. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_color_model)(struct _cef_print_settings_t* self, | ||||
|                                       cef_color_model_t model); | ||||
|  | ||||
|   /// | ||||
|   /// Get the color model. | ||||
|   /// | ||||
|   cef_color_model_t(CEF_CALLBACK* get_color_model)( | ||||
|       struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the number of copies. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_copies)(struct _cef_print_settings_t* self, | ||||
|                                  int copies); | ||||
|  | ||||
|   /// | ||||
|   /// Get the number of copies. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_copies)(struct _cef_print_settings_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the duplex mode. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_duplex_mode)(struct _cef_print_settings_t* self, | ||||
|                                       cef_duplex_mode_t mode); | ||||
|  | ||||
|   /// | ||||
|   /// Get the duplex mode. | ||||
|   /// | ||||
|   cef_duplex_mode_t(CEF_CALLBACK* get_duplex_mode)( | ||||
|       struct _cef_print_settings_t* self); | ||||
| } cef_print_settings_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_print_settings_t object. | ||||
| /// | ||||
| CEF_EXPORT cef_print_settings_t* cef_print_settings_create(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_ | ||||
							
								
								
									
										111
									
								
								include/capi/cef_process_message_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								include/capi/cef_process_message_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=89c569df7e5e4a6035d4527218ce4dc1d68e20f0$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_shared_memory_region_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure representing a message. Can be used on any process and thread. | ||||
| /// | ||||
| typedef struct _cef_process_message_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is valid. Do not call any other functions | ||||
|   /// if this function returns false (0). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_valid)(struct _cef_process_message_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the values of this object are read-only. Some APIs may | ||||
|   /// expose read-only objects. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_process_message_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a writable copy of this object. Returns nullptr when message | ||||
|   /// contains a shared memory region. | ||||
|   /// | ||||
|   struct _cef_process_message_t*(CEF_CALLBACK* copy)( | ||||
|       struct _cef_process_message_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the message name. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_name)( | ||||
|       struct _cef_process_message_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the list of arguments. Returns nullptr when message contains a | ||||
|   /// shared memory region. | ||||
|   /// | ||||
|   struct _cef_list_value_t*(CEF_CALLBACK* get_argument_list)( | ||||
|       struct _cef_process_message_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the shared memory region. Returns nullptr when message contains an | ||||
|   /// argument list. | ||||
|   /// | ||||
|   struct _cef_shared_memory_region_t*(CEF_CALLBACK* get_shared_memory_region)( | ||||
|       struct _cef_process_message_t* self); | ||||
| } cef_process_message_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_process_message_t object with the specified name. | ||||
| /// | ||||
| CEF_EXPORT cef_process_message_t* cef_process_message_create( | ||||
|     const cef_string_t* name); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_ | ||||
							
								
								
									
										65
									
								
								include/capi/cef_process_util_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								include/capi/cef_process_util_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=a61a639c7e53ecd9481eae363bac557055f0442e$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Launches the process specified via |command_line|. Returns true (1) upon | ||||
| /// success. Must be called on the browser process TID_PROCESS_LAUNCHER thread. | ||||
| /// | ||||
| /// Unix-specific notes: | ||||
| /// - All file descriptors open in the parent process will be closed in the | ||||
| ///   child process except for stdin, stdout, and stderr. | ||||
| /// - If the first argument on the command line does not contain a slash, PATH | ||||
| ///   will be searched. (See man execvp.) | ||||
| /// | ||||
| CEF_EXPORT int cef_launch_process(struct _cef_command_line_t* command_line); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_ | ||||
							
								
								
									
										63
									
								
								include/capi/cef_registration_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								include/capi/cef_registration_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=c53a67bbf1497a51766bf03040714b5edb2117d5$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Generic callback structure used for managing the lifespan of a registration. | ||||
| /// | ||||
| typedef struct _cef_registration_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
| } cef_registration_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_ | ||||
							
								
								
									
										271
									
								
								include/capi/cef_render_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										271
									
								
								include/capi/cef_render_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,271 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=5151b6ea3c06e46a75f2cd7679044a2891063d29$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_accessibility_handler_capi.h" | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_drag_data_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events when window rendering is disabled. | ||||
| /// The functions of this structure will be called on the UI thread. | ||||
| /// | ||||
| typedef struct _cef_render_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for accessibility notifications. If no handler is | ||||
|   /// provided the default implementation will be used. | ||||
|   /// | ||||
|   struct _cef_accessibility_handler_t*(CEF_CALLBACK* get_accessibility_handler)( | ||||
|       struct _cef_render_handler_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve the root window rectangle in screen DIP coordinates. | ||||
|   /// Return true (1) if the rectangle was provided. If this function returns | ||||
|   /// false (0) the rectangle from GetViewRect will be used. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_root_screen_rect)(struct _cef_render_handler_t* self, | ||||
|                                           struct _cef_browser_t* browser, | ||||
|                                           cef_rect_t* rect); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve the view rectangle in screen DIP coordinates. This | ||||
|   /// function must always provide a non-NULL rectangle. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_view_rect)(struct _cef_render_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     cef_rect_t* rect); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve the translation from view DIP coordinates to screen | ||||
|   /// coordinates. Windows/Linux should provide screen device (pixel) | ||||
|   /// coordinates and MacOS should provide screen DIP coordinates. Return true | ||||
|   /// (1) if the requested coordinates were provided. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_screen_point)(struct _cef_render_handler_t* self, | ||||
|                                       struct _cef_browser_t* browser, | ||||
|                                       int viewX, | ||||
|                                       int viewY, | ||||
|                                       int* screenX, | ||||
|                                       int* screenY); | ||||
|  | ||||
|   /// | ||||
|   /// Called to allow the client to fill in the CefScreenInfo object with | ||||
|   /// appropriate values. Return true (1) if the |screen_info| structure has | ||||
|   /// been modified. | ||||
|   /// | ||||
|   /// If the screen info rectangle is left NULL the rectangle from GetViewRect | ||||
|   /// will be used. If the rectangle is still NULL or invalid popups may not be | ||||
|   /// drawn correctly. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_screen_info)(struct _cef_render_handler_t* self, | ||||
|                                      struct _cef_browser_t* browser, | ||||
|                                      cef_screen_info_t* screen_info); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser wants to show or hide the popup widget. The popup | ||||
|   /// should be shown if |show| is true (1) and hidden if |show| is false (0). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_popup_show)(struct _cef_render_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     int show); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the browser wants to move or resize the popup widget. |rect| | ||||
|   /// contains the new location and size in view coordinates. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_popup_size)(struct _cef_render_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     const cef_rect_t* rect); | ||||
|  | ||||
|   /// | ||||
|   /// Called when an element should be painted. Pixel values passed to this | ||||
|   /// function are scaled relative to view coordinates based on the value of | ||||
|   /// CefScreenInfo.device_scale_factor returned from GetScreenInfo. |type| | ||||
|   /// indicates whether the element is the view or the popup widget. |buffer| | ||||
|   /// contains the pixel data for the whole image. |dirtyRects| contains the set | ||||
|   /// of rectangles in pixel coordinates that need to be repainted. |buffer| | ||||
|   /// will be |width|*|height|*4 bytes in size and represents a BGRA image with | ||||
|   /// an upper-left origin. This function is only called when | ||||
|   /// cef_window_tInfo::shared_texture_enabled is set to false (0). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_paint)(struct _cef_render_handler_t* self, | ||||
|                                struct _cef_browser_t* browser, | ||||
|                                cef_paint_element_type_t type, | ||||
|                                size_t dirtyRectsCount, | ||||
|                                cef_rect_t const* dirtyRects, | ||||
|                                const void* buffer, | ||||
|                                int width, | ||||
|                                int height); | ||||
|  | ||||
|   /// | ||||
|   /// Called when an element has been rendered to the shared texture handle. | ||||
|   /// |type| indicates whether the element is the view or the popup widget. | ||||
|   /// |dirtyRects| contains the set of rectangles in pixel coordinates that need | ||||
|   /// to be repainted. |info| contains the shared handle; on Windows it is a | ||||
|   /// HANDLE to a texture that can be opened with D3D11 OpenSharedResource, on | ||||
|   /// macOS it is an IOSurface pointer that can be opened with Metal or OpenGL, | ||||
|   /// and on Linux it contains several planes, each with an fd to the underlying | ||||
|   /// system native buffer. | ||||
|   /// | ||||
|   /// The underlying implementation uses a pool to deliver frames. As a result, | ||||
|   /// the handle may differ every frame depending on how many frames are in- | ||||
|   /// progress. The handle's resource cannot be cached and cannot be accessed | ||||
|   /// outside of this callback. It should be reopened each time this callback is | ||||
|   /// executed and the contents should be copied to a texture owned by the | ||||
|   /// client application. The contents of |info| will be released back to the | ||||
|   /// pool after this callback returns. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_accelerated_paint)( | ||||
|       struct _cef_render_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       cef_paint_element_type_t type, | ||||
|       size_t dirtyRectsCount, | ||||
|       cef_rect_t const* dirtyRects, | ||||
|       const cef_accelerated_paint_info_t* info); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve the size of the touch handle for the specified | ||||
|   /// |orientation|. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_touch_handle_size)( | ||||
|       struct _cef_render_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       cef_horizontal_alignment_t orientation, | ||||
|       cef_size_t* size); | ||||
|  | ||||
|   /// | ||||
|   /// Called when touch handle state is updated. The client is responsible for | ||||
|   /// rendering the touch handles. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_touch_handle_state_changed)( | ||||
|       struct _cef_render_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_touch_handle_state_t* state); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the user starts dragging content in the web view. Contextual | ||||
|   /// information about the dragged content is supplied by |drag_data|. (|x|, | ||||
|   /// |y|) is the drag start location in screen coordinates. OS APIs that run a | ||||
|   /// system message loop may be used within the StartDragging call. | ||||
|   /// | ||||
|   /// Return false (0) to abort the drag operation. Don't call any of | ||||
|   /// cef_browser_host_t::DragSource*Ended* functions after returning false (0). | ||||
|   /// | ||||
|   /// Return true (1) to handle the drag operation. Call | ||||
|   /// cef_browser_host_t::DragSourceEndedAt and DragSourceSystemDragEnded either | ||||
|   /// synchronously or asynchronously to inform the web view that the drag | ||||
|   /// operation has ended. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* start_dragging)(struct _cef_render_handler_t* self, | ||||
|                                     struct _cef_browser_t* browser, | ||||
|                                     struct _cef_drag_data_t* drag_data, | ||||
|                                     cef_drag_operations_mask_t allowed_ops, | ||||
|                                     int x, | ||||
|                                     int y); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the web view wants to update the mouse cursor during a drag & | ||||
|   /// drop operation. |operation| describes the allowed operation (none, move, | ||||
|   /// copy, link). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* update_drag_cursor)(struct _cef_render_handler_t* self, | ||||
|                                          struct _cef_browser_t* browser, | ||||
|                                          cef_drag_operations_mask_t operation); | ||||
|  | ||||
|   /// | ||||
|   /// Called when the scroll offset has changed. | ||||
|   /// | ||||
|   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); | ||||
|  | ||||
|   /// | ||||
|   /// Called when text selection has changed for the specified |browser|. | ||||
|   /// |selected_text| is the currently selected text and |selected_range| is the | ||||
|   /// character range. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_text_selection_changed)( | ||||
|       struct _cef_render_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_string_t* selected_text, | ||||
|       const cef_range_t* selected_range); | ||||
|  | ||||
|   /// | ||||
|   /// Called when an on-screen keyboard should be shown or hidden for the | ||||
|   /// specified |browser|. |input_mode| specifies what kind of keyboard should | ||||
|   /// be opened. If |input_mode| is CEF_TEXT_INPUT_MODE_NONE, any existing | ||||
|   /// keyboard for this browser should be hidden. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_virtual_keyboard_requested)( | ||||
|       struct _cef_render_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       cef_text_input_mode_t input_mode); | ||||
| } cef_render_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_ | ||||
							
								
								
									
										168
									
								
								include/capi/cef_render_process_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								include/capi/cef_render_process_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,168 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=6e2fccb5a8e49918d723f6c5223062cf98b0f9de$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_dom_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
| #include "include/capi/cef_load_handler_capi.h" | ||||
| #include "include/capi/cef_process_message_capi.h" | ||||
| #include "include/capi/cef_v8_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to implement render process callbacks. The functions of this | ||||
| /// structure will be called on the render process main thread (TID_RENDERER) | ||||
| /// unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_render_process_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called after WebKit has been initialized. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_web_kit_initialized)( | ||||
|       struct _cef_render_process_handler_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Called after a browser has been created. When browsing cross-origin a new | ||||
|   /// browser will be created before the old browser with the same identifier is | ||||
|   /// destroyed. |extra_info| is an optional read-only value originating from | ||||
|   /// cef_browser_host_t::cef_browser_host_create_browser(), | ||||
|   /// cef_browser_host_t::cef_browser_host_create_browser_sync(), | ||||
|   /// cef_life_span_handler_t::on_before_popup() or | ||||
|   /// cef_browser_view_t::cef_browser_view_create(). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_browser_created)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_dictionary_value_t* extra_info); | ||||
|  | ||||
|   /// | ||||
|   /// Called before a browser is destroyed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_browser_destroyed)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Return the handler for browser load status events. | ||||
|   /// | ||||
|   struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)( | ||||
|       struct _cef_render_process_handler_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Called immediately after the V8 context for a frame has been created. To | ||||
|   /// retrieve the JavaScript 'window' object use the | ||||
|   /// cef_v8context_t::get_global() function. V8 handles can only be accessed | ||||
|   /// from the thread on which they are created. A task runner for posting tasks | ||||
|   /// on the associated thread can be retrieved via the | ||||
|   /// cef_v8context_t::get_task_runner() function. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_context_created)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_v8context_t* context); | ||||
|  | ||||
|   /// | ||||
|   /// Called immediately before the V8 context for a frame is released. No | ||||
|   /// references to the context should be kept after this function is called. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_context_released)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_v8context_t* context); | ||||
|  | ||||
|   /// | ||||
|   /// Called for global uncaught exceptions in a frame. Execution of this | ||||
|   /// callback is disabled by default. To enable set | ||||
|   /// cef_settings_t.uncaught_exception_stack_size > 0. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_uncaught_exception)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_v8context_t* context, | ||||
|       struct _cef_v8exception_t* exception, | ||||
|       struct _cef_v8stack_trace_t* stackTrace); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a new node in the the browser gets focus. The |node| value may | ||||
|   /// be NULL if no specific node has gained focus. The node object passed to | ||||
|   /// this function represents a snapshot of the DOM at the time this function | ||||
|   /// is executed. DOM objects are only valid for the scope of this function. Do | ||||
|   /// not keep references to or attempt to access any DOM objects outside the | ||||
|   /// scope of this function. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_focused_node_changed)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_domnode_t* node); | ||||
|  | ||||
|   /// | ||||
|   /// Called when a new message is received from a different process. Return | ||||
|   /// true (1) if the message was handled or false (0) otherwise. It is safe to | ||||
|   /// keep a reference to |message| outside of this callback. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_process_message_received)( | ||||
|       struct _cef_render_process_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       cef_process_id_t source_process, | ||||
|       struct _cef_process_message_t* message); | ||||
| } cef_render_process_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_ | ||||
							
								
								
									
										355
									
								
								include/capi/cef_request_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										355
									
								
								include/capi/cef_request_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,355 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=14ce483864835eca476d08d39ed4236fbd1a874c$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_post_data_element_t; | ||||
| struct _cef_post_data_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent a web request. The functions of this structure | ||||
| /// may be called on any thread. | ||||
| /// | ||||
| typedef struct _cef_request_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is read-only. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the fully qualified URL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_url)(struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the fully qualified URL. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_url)(struct _cef_request_t* self, | ||||
|                               const cef_string_t* url); | ||||
|  | ||||
|   /// | ||||
|   /// Get the request function type. The value will default to POST if post data | ||||
|   /// is provided and GET otherwise. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_method)(struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the request function type. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_method)(struct _cef_request_t* self, | ||||
|                                  const cef_string_t* method); | ||||
|  | ||||
|   /// | ||||
|   /// Set the referrer URL and policy. If non-NULL the referrer URL must be | ||||
|   /// fully qualified with an HTTP or HTTPS scheme component. Any username, | ||||
|   /// password or ref component will be removed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_referrer)(struct _cef_request_t* self, | ||||
|                                    const cef_string_t* referrer_url, | ||||
|                                    cef_referrer_policy_t policy); | ||||
|  | ||||
|   /// | ||||
|   /// Get the referrer URL. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_referrer_url)( | ||||
|       struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the referrer policy. | ||||
|   /// | ||||
|   cef_referrer_policy_t(CEF_CALLBACK* get_referrer_policy)( | ||||
|       struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the post data. | ||||
|   /// | ||||
|   struct _cef_post_data_t*(CEF_CALLBACK* get_post_data)( | ||||
|       struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the post data. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_post_data)(struct _cef_request_t* self, | ||||
|                                     struct _cef_post_data_t* postData); | ||||
|  | ||||
|   /// | ||||
|   /// Get the header values. Will not include the Referer value if any. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_header_map)(struct _cef_request_t* self, | ||||
|                                      cef_string_multimap_t headerMap); | ||||
|  | ||||
|   /// | ||||
|   /// Set the header values. If a Referer value exists in the header map it will | ||||
|   /// be removed and ignored. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_header_map)(struct _cef_request_t* self, | ||||
|                                      cef_string_multimap_t headerMap); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the first header value for |name| or an NULL string if not found. | ||||
|   /// Will not return the Referer value if any. Use GetHeaderMap instead if | ||||
|   /// |name| might have multiple values. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_header_by_name)( | ||||
|       struct _cef_request_t* self, | ||||
|       const cef_string_t* name); | ||||
|  | ||||
|   /// | ||||
|   /// Set the header |name| to |value|. If |overwrite| is true (1) any existing | ||||
|   /// values will be replaced with the new value. If |overwrite| is false (0) | ||||
|   /// any existing values will not be overwritten. The Referer value cannot be | ||||
|   /// set using this function. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_header_by_name)(struct _cef_request_t* self, | ||||
|                                          const cef_string_t* name, | ||||
|                                          const cef_string_t* value, | ||||
|                                          int overwrite); | ||||
|  | ||||
|   /// | ||||
|   /// Set all values at one time. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set)(struct _cef_request_t* self, | ||||
|                           const cef_string_t* url, | ||||
|                           const cef_string_t* method, | ||||
|                           struct _cef_post_data_t* postData, | ||||
|                           cef_string_multimap_t headerMap); | ||||
|  | ||||
|   /// | ||||
|   /// Get the flags used in combination with cef_urlrequest_t. See | ||||
|   /// cef_urlrequest_flags_t for supported values. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_flags)(struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the flags used in combination with cef_urlrequest_t.  See | ||||
|   /// cef_urlrequest_flags_t for supported values. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_flags)(struct _cef_request_t* self, int flags); | ||||
|  | ||||
|   /// | ||||
|   /// Get the URL to the first party for cookies used in combination with | ||||
|   /// cef_urlrequest_t. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_first_party_for_cookies)( | ||||
|       struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Set the URL to the first party for cookies used in combination with | ||||
|   /// cef_urlrequest_t. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_first_party_for_cookies)(struct _cef_request_t* self, | ||||
|                                                   const cef_string_t* url); | ||||
|  | ||||
|   /// | ||||
|   /// Get the resource type for this request. Only available in the browser | ||||
|   /// process. | ||||
|   /// | ||||
|   cef_resource_type_t(CEF_CALLBACK* get_resource_type)( | ||||
|       struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Get the transition type for this request. Only available in the browser | ||||
|   /// process and only applies to requests that represent a main frame or sub- | ||||
|   /// frame navigation. | ||||
|   /// | ||||
|   cef_transition_type_t(CEF_CALLBACK* get_transition_type)( | ||||
|       struct _cef_request_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the globally unique identifier for this request or 0 if not | ||||
|   /// specified. Can be used by cef_resource_request_handler_t implementations | ||||
|   /// in the browser process to track a single request across multiple | ||||
|   /// callbacks. | ||||
|   /// | ||||
|   uint64_t(CEF_CALLBACK* get_identifier)(struct _cef_request_t* self); | ||||
| } cef_request_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_request_t object. | ||||
| /// | ||||
| CEF_EXPORT cef_request_t* cef_request_create(void); | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent post data for a web request. The functions of | ||||
| /// this structure may be called on any thread. | ||||
| /// | ||||
| typedef struct _cef_post_data_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is read-only. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_post_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if the underlying POST data includes elements that are | ||||
|   /// not represented by this cef_post_data_t object (for example, multi-part | ||||
|   /// file upload data). Modifying cef_post_data_t objects with excluded | ||||
|   /// elements may result in the request failing. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_excluded_elements)(struct _cef_post_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the number of existing post data elements. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_element_count)(struct _cef_post_data_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve the post data elements. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_elements)(struct _cef_post_data_t* self, | ||||
|                                    size_t* elementsCount, | ||||
|                                    struct _cef_post_data_element_t** elements); | ||||
|  | ||||
|   /// | ||||
|   /// Remove the specified post data element.  Returns true (1) if the removal | ||||
|   /// succeeds. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* remove_element)(struct _cef_post_data_t* self, | ||||
|                                     struct _cef_post_data_element_t* element); | ||||
|  | ||||
|   /// | ||||
|   /// Add the specified post data element.  Returns true (1) if the add | ||||
|   /// succeeds. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* add_element)(struct _cef_post_data_t* self, | ||||
|                                  struct _cef_post_data_element_t* element); | ||||
|  | ||||
|   /// | ||||
|   /// Remove all existing post data elements. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* remove_elements)(struct _cef_post_data_t* self); | ||||
| } cef_post_data_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_post_data_t object. | ||||
| /// | ||||
| CEF_EXPORT cef_post_data_t* cef_post_data_create(void); | ||||
|  | ||||
| /// | ||||
| /// Structure used to represent a single element in the request post data. The | ||||
| /// functions of this structure may be called on any thread. | ||||
| /// | ||||
| typedef struct _cef_post_data_element_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is read-only. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_post_data_element_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Remove all contents from the post data element. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_to_empty)(struct _cef_post_data_element_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// The post data element will represent a file. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_to_file)(struct _cef_post_data_element_t* self, | ||||
|                                   const cef_string_t* fileName); | ||||
|  | ||||
|   /// | ||||
|   /// The post data element will represent bytes.  The bytes passed in will be | ||||
|   /// copied. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_to_bytes)(struct _cef_post_data_element_t* self, | ||||
|                                    size_t size, | ||||
|                                    const void* bytes); | ||||
|  | ||||
|   /// | ||||
|   /// Return the type of this post data element. | ||||
|   /// | ||||
|   cef_postdataelement_type_t(CEF_CALLBACK* get_type)( | ||||
|       struct _cef_post_data_element_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the file name. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_file)( | ||||
|       struct _cef_post_data_element_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Return the number of bytes. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_bytes_count)(struct _cef_post_data_element_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Read up to |size| bytes into |bytes| and return the number of bytes | ||||
|   /// actually read. | ||||
|   /// | ||||
|   size_t(CEF_CALLBACK* get_bytes)(struct _cef_post_data_element_t* self, | ||||
|                                   size_t size, | ||||
|                                   void* bytes); | ||||
| } cef_post_data_element_t; | ||||
|  | ||||
| /// | ||||
| /// Create a new cef_post_data_element_t object. | ||||
| /// | ||||
| CEF_EXPORT cef_post_data_element_t* cef_post_data_element_create(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_ | ||||
							
								
								
									
										441
									
								
								include/capi/cef_request_context_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										441
									
								
								include/capi/cef_request_context_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,441 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=2c496139ca9a59303b1493ee93d2c3ae96a956c0$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_callback_capi.h" | ||||
| #include "include/capi/cef_cookie_capi.h" | ||||
| #include "include/capi/cef_extension_capi.h" | ||||
| #include "include/capi/cef_extension_handler_capi.h" | ||||
| #include "include/capi/cef_media_router_capi.h" | ||||
| #include "include/capi/cef_preference_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_request_context_handler_t; | ||||
| struct _cef_scheme_handler_factory_t; | ||||
|  | ||||
| /// | ||||
| /// Callback structure for cef_request_context_t::ResolveHost. | ||||
| /// | ||||
| typedef struct _cef_resolve_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread after the ResolveHost request has completed. | ||||
|   /// |result| will be the result code. |resolved_ips| will be the list of | ||||
|   /// resolved IP addresses or NULL if the resolution failed. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_resolve_completed)(struct _cef_resolve_callback_t* self, | ||||
|                                            cef_errorcode_t result, | ||||
|                                            cef_string_list_t resolved_ips); | ||||
| } cef_resolve_callback_t; | ||||
|  | ||||
| /// | ||||
| /// A request context provides request handling for a set of related browser or | ||||
| /// URL request objects. A request context can be specified when creating a new | ||||
| /// browser via the cef_browser_host_t static factory functions or when creating | ||||
| /// a new URL request via the cef_urlrequest_t static factory functions. Browser | ||||
| /// objects with different request contexts will never be hosted in the same | ||||
| /// render process. Browser objects with the same request context may or may not | ||||
| /// be hosted in the same render process depending on the process model. Browser | ||||
| /// objects created indirectly via the JavaScript window.open function or | ||||
| /// targeted links will share the same render process and the same request | ||||
| /// context as the source browser. When running in single-process mode there is | ||||
| /// only a single render process (the main process) and so all browsers created | ||||
| /// in single-process mode will share the same request context. This will be the | ||||
| /// first request context passed into a cef_browser_host_t static factory | ||||
| /// function and all other request context objects will be ignored. | ||||
| /// | ||||
| typedef struct _cef_request_context_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_preference_manager_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is pointing to the same context as |that| | ||||
|   /// object. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_same)(struct _cef_request_context_t* self, | ||||
|                              struct _cef_request_context_t* other); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is sharing the same storage as |that| | ||||
|   /// object. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_sharing_with)(struct _cef_request_context_t* self, | ||||
|                                      struct _cef_request_context_t* other); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this object is the global context. The global context | ||||
|   /// is used by default when creating a browser or URL request with a NULL | ||||
|   /// context argument. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* is_global)(struct _cef_request_context_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the handler for this context if any. | ||||
|   /// | ||||
|   struct _cef_request_context_handler_t*(CEF_CALLBACK* get_handler)( | ||||
|       struct _cef_request_context_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the cache path for this object. If NULL an "incognito mode" in- | ||||
|   /// memory cache is being used. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_cache_path)( | ||||
|       struct _cef_request_context_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the cookie manager for this object. If |callback| is non-NULL it | ||||
|   /// will be executed asnychronously on the UI thread after the manager's | ||||
|   /// storage has been initialized. | ||||
|   /// | ||||
|   struct _cef_cookie_manager_t*(CEF_CALLBACK* get_cookie_manager)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       struct _cef_completion_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Register a scheme handler factory for the specified |scheme_name| and | ||||
|   /// optional |domain_name|. An NULL |domain_name| value for a standard scheme | ||||
|   /// will cause the factory to match all domain names. The |domain_name| value | ||||
|   /// will be ignored for non-standard schemes. If |scheme_name| is a built-in | ||||
|   /// scheme and no handler is returned by |factory| then the built-in scheme | ||||
|   /// handler factory will be called. If |scheme_name| is a custom scheme then | ||||
|   /// you must also implement the cef_app_t::on_register_custom_schemes() | ||||
|   /// function in all processes. This function may be called multiple times to | ||||
|   /// change or remove the factory that matches the specified |scheme_name| and | ||||
|   /// optional |domain_name|. Returns false (0) if an error occurs. This | ||||
|   /// function may be called on any thread in the browser process. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* register_scheme_handler_factory)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       const cef_string_t* scheme_name, | ||||
|       const cef_string_t* domain_name, | ||||
|       struct _cef_scheme_handler_factory_t* factory); | ||||
|  | ||||
|   /// | ||||
|   /// Clear all registered scheme handler factories. Returns false (0) on error. | ||||
|   /// This function may be called on any thread in the browser process. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* clear_scheme_handler_factories)( | ||||
|       struct _cef_request_context_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Clears all certificate exceptions that were added as part of handling | ||||
|   /// cef_request_handler_t::on_certificate_error(). If you call this it is | ||||
|   /// recommended that you also call close_all_connections() or you risk not | ||||
|   /// being prompted again for server certificates if you reconnect quickly. If | ||||
|   /// |callback| is non-NULL it will be executed on the UI thread after | ||||
|   /// completion. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* clear_certificate_exceptions)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       struct _cef_completion_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Clears all HTTP authentication credentials that were added as part of | ||||
|   /// handling GetAuthCredentials. If |callback| is non-NULL it will be executed | ||||
|   /// on the UI thread after completion. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* clear_http_auth_credentials)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       struct _cef_completion_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Clears all active and idle connections that Chromium currently has. This | ||||
|   /// is only recommended if you have released all other CEF objects but don't | ||||
|   /// yet want to call cef_shutdown(). If |callback| is non-NULL it will be | ||||
|   /// executed on the UI thread after completion. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* close_all_connections)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       struct _cef_completion_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Attempts to resolve |origin| to a list of associated IP addresses. | ||||
|   /// |callback| will be executed on the UI thread after completion. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* resolve_host)(struct _cef_request_context_t* self, | ||||
|                                    const cef_string_t* origin, | ||||
|                                    struct _cef_resolve_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Load an extension. | ||||
|   /// | ||||
|   /// If extension resources will be read from disk using the default load | ||||
|   /// implementation then |root_directory| should be the absolute path to the | ||||
|   /// extension resources directory and |manifest| should be NULL. If extension | ||||
|   /// resources will be provided by the client (e.g. via cef_request_handler_t | ||||
|   /// and/or cef_extension_handler_t) then |root_directory| should be a path | ||||
|   /// component unique to the extension (if not absolute this will be internally | ||||
|   /// prefixed with the PK_DIR_RESOURCES path) and |manifest| should contain the | ||||
|   /// contents that would otherwise be read from the "manifest.json" file on | ||||
|   /// disk. | ||||
|   /// | ||||
|   /// The loaded extension will be accessible in all contexts sharing the same | ||||
|   /// storage (HasExtension returns true (1)). However, only the context on | ||||
|   /// which this function was called is considered the loader (DidLoadExtension | ||||
|   /// returns true (1)) and only the loader will receive | ||||
|   /// cef_request_context_handler_t callbacks for the extension. | ||||
|   /// | ||||
|   /// cef_extension_handler_t::OnExtensionLoaded will be called on load success | ||||
|   /// or cef_extension_handler_t::OnExtensionLoadFailed will be called on load | ||||
|   /// failure. | ||||
|   /// | ||||
|   /// If the extension specifies a background script via the "background" | ||||
|   /// manifest key then cef_extension_handler_t::OnBeforeBackgroundBrowser will | ||||
|   /// be called to create the background browser. See that function for | ||||
|   /// additional information about background scripts. | ||||
|   /// | ||||
|   /// For visible extension views the client application should evaluate the | ||||
|   /// manifest to determine the correct extension URL to load and then pass that | ||||
|   /// URL to the cef_browser_host_t::CreateBrowser* function after the extension | ||||
|   /// has loaded. For example, the client can look for the "browser_action" | ||||
|   /// manifest key as documented at | ||||
|   /// https://developer.chrome.com/extensions/browserAction. Extension URLs take | ||||
|   /// the form "chrome-extension://<extension_id>/<path>". | ||||
|   /// | ||||
|   /// Browsers that host extensions differ from normal browsers as follows: | ||||
|   ///  - Can access chrome.* JavaScript APIs if allowed by the manifest. Visit | ||||
|   ///    chrome://extensions-support for the list of extension APIs currently | ||||
|   ///    supported by CEF. | ||||
|   ///  - Main frame navigation to non-extension content is blocked. | ||||
|   ///  - Pinch-zooming is disabled. | ||||
|   ///  - CefBrowserHost::GetExtension returns the hosted extension. | ||||
|   ///  - CefBrowserHost::IsBackgroundHost returns true for background hosts. | ||||
|   /// | ||||
|   /// See https://developer.chrome.com/extensions for extension implementation | ||||
|   /// and usage documentation. | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated and will be removed in ~M127. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* load_extension)(struct _cef_request_context_t* self, | ||||
|                                      const cef_string_t* root_directory, | ||||
|                                      struct _cef_dictionary_value_t* manifest, | ||||
|                                      struct _cef_extension_handler_t* handler); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this context was used to load the extension identified | ||||
|   /// by |extension_id|. Other contexts sharing the same storage will also have | ||||
|   /// access to the extension (see HasExtension). This function must be called | ||||
|   /// on the browser process UI thread. | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated and will be removed in ~M127. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* did_load_extension)(struct _cef_request_context_t* self, | ||||
|                                         const cef_string_t* extension_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns true (1) if this context has access to the extension identified by | ||||
|   /// |extension_id|. This may not be the context that was used to load the | ||||
|   /// extension (see DidLoadExtension). This function must be called on the | ||||
|   /// browser process UI thread. | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated and will be removed in ~M127. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* has_extension)(struct _cef_request_context_t* self, | ||||
|                                    const cef_string_t* extension_id); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve the list of all extensions that this context has access to (see | ||||
|   /// HasExtension). |extension_ids| will be populated with the list of | ||||
|   /// extension ID values. Returns true (1) on success. This function must be | ||||
|   /// called on the browser process UI thread. | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated and will be removed in ~M127. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_extensions)(struct _cef_request_context_t* self, | ||||
|                                     cef_string_list_t extension_ids); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the extension matching |extension_id| or NULL if no matching | ||||
|   /// extension is accessible in this context (see HasExtension). This function | ||||
|   /// must be called on the browser process UI thread. | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated and will be removed in ~M127. | ||||
|   /// | ||||
|   struct _cef_extension_t*(CEF_CALLBACK* get_extension)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       const cef_string_t* extension_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the MediaRouter object associated with this context.  If | ||||
|   /// |callback| is non-NULL it will be executed asnychronously on the UI thread | ||||
|   /// after the manager's context has been initialized. | ||||
|   /// | ||||
|   struct _cef_media_router_t*(CEF_CALLBACK* get_media_router)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       struct _cef_completion_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the current value for |content_type| that applies for the | ||||
|   /// specified URLs. If both URLs are NULL the default value will be returned. | ||||
|   /// Returns nullptr if no value is configured. Must be called on the browser | ||||
|   /// process UI thread. | ||||
|   /// | ||||
|   struct _cef_value_t*(CEF_CALLBACK* get_website_setting)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       const cef_string_t* requesting_url, | ||||
|       const cef_string_t* top_level_url, | ||||
|       cef_content_setting_types_t content_type); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the current value for |content_type| for the specified URLs in the | ||||
|   /// default scope. If both URLs are NULL, and the context is not incognito, | ||||
|   /// the default value will be set. Pass nullptr for |value| to remove the | ||||
|   /// default value for this content type. | ||||
|   /// | ||||
|   /// WARNING: Incorrect usage of this function may cause instability or | ||||
|   /// security issues in Chromium. Make sure that you first understand the | ||||
|   /// potential impact of any changes to |content_type| by reviewing the related | ||||
|   /// source code in Chromium. For example, if you plan to modify | ||||
|   /// CEF_CONTENT_SETTING_TYPE_POPUPS, first review and understand the usage of | ||||
|   /// ContentSettingsType::POPUPS in Chromium: | ||||
|   /// https://source.chromium.org/search?q=ContentSettingsType::POPUPS | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_website_setting)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       const cef_string_t* requesting_url, | ||||
|       const cef_string_t* top_level_url, | ||||
|       cef_content_setting_types_t content_type, | ||||
|       struct _cef_value_t* value); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the current value for |content_type| that applies for the | ||||
|   /// specified URLs. If both URLs are NULL the default value will be returned. | ||||
|   /// Returns CEF_CONTENT_SETTING_VALUE_DEFAULT if no value is configured. Must | ||||
|   /// be called on the browser process UI thread. | ||||
|   /// | ||||
|   cef_content_setting_values_t(CEF_CALLBACK* get_content_setting)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       const cef_string_t* requesting_url, | ||||
|       const cef_string_t* top_level_url, | ||||
|       cef_content_setting_types_t content_type); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the current value for |content_type| for the specified URLs in the | ||||
|   /// default scope. If both URLs are NULL, and the context is not incognito, | ||||
|   /// the default value will be set. Pass CEF_CONTENT_SETTING_VALUE_DEFAULT for | ||||
|   /// |value| to use the default value for this content type. | ||||
|   /// | ||||
|   /// WARNING: Incorrect usage of this function may cause instability or | ||||
|   /// security issues in Chromium. Make sure that you first understand the | ||||
|   /// potential impact of any changes to |content_type| by reviewing the related | ||||
|   /// source code in Chromium. For example, if you plan to modify | ||||
|   /// CEF_CONTENT_SETTING_TYPE_POPUPS, first review and understand the usage of | ||||
|   /// ContentSettingsType::POPUPS in Chromium: | ||||
|   /// https://source.chromium.org/search?q=ContentSettingsType::POPUPS | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_content_setting)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       const cef_string_t* requesting_url, | ||||
|       const cef_string_t* top_level_url, | ||||
|       cef_content_setting_types_t content_type, | ||||
|       cef_content_setting_values_t value); | ||||
|  | ||||
|   /// | ||||
|   /// Sets the Chrome color scheme for all browsers that share this request | ||||
|   /// context. |variant| values of SYSTEM, LIGHT and DARK change the underlying | ||||
|   /// color mode (e.g. light vs dark). Other |variant| values determine how | ||||
|   /// |user_color| will be applied in the current color mode. If |user_color| is | ||||
|   /// transparent (0) the default color will be used. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* set_chrome_color_scheme)( | ||||
|       struct _cef_request_context_t* self, | ||||
|       cef_color_variant_t variant, | ||||
|       cef_color_t user_color); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the current Chrome color scheme mode (SYSTEM, LIGHT or DARK). Must | ||||
|   /// be called on the browser process UI thread. | ||||
|   /// | ||||
|   cef_color_variant_t(CEF_CALLBACK* get_chrome_color_scheme_mode)( | ||||
|       struct _cef_request_context_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the current Chrome color scheme color, or transparent (0) for the | ||||
|   /// default color. Must be called on the browser process UI thread. | ||||
|   /// | ||||
|   cef_color_t(CEF_CALLBACK* get_chrome_color_scheme_color)( | ||||
|       struct _cef_request_context_t* self); | ||||
|  | ||||
|   /// | ||||
|   /// Returns the current Chrome color scheme variant. Must be called on the | ||||
|   /// browser process UI thread. | ||||
|   /// | ||||
|   cef_color_variant_t(CEF_CALLBACK* get_chrome_color_scheme_variant)( | ||||
|       struct _cef_request_context_t* self); | ||||
| } cef_request_context_t; | ||||
|  | ||||
| /// | ||||
| /// Returns the global context object. | ||||
| /// | ||||
| CEF_EXPORT cef_request_context_t* cef_request_context_get_global_context(void); | ||||
|  | ||||
| /// | ||||
| /// Creates a new context object with the specified |settings| and optional | ||||
| /// |handler|. | ||||
| /// | ||||
| CEF_EXPORT cef_request_context_t* cef_request_context_create_context( | ||||
|     const struct _cef_request_context_settings_t* settings, | ||||
|     struct _cef_request_context_handler_t* handler); | ||||
|  | ||||
| /// | ||||
| /// Creates a new context object that shares storage with |other| and uses an | ||||
| /// optional |handler|. | ||||
| /// | ||||
| CEF_EXPORT cef_request_context_t* cef_create_context_shared( | ||||
|     cef_request_context_t* other, | ||||
|     struct _cef_request_context_handler_t* handler); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_ | ||||
							
								
								
									
										108
									
								
								include/capi/cef_request_context_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								include/capi/cef_request_context_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=d90d816565429ad304f43490b0619af5ffa70274$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
| #include "include/capi/cef_preference_capi.h" | ||||
| #include "include/capi/cef_request_capi.h" | ||||
| #include "include/capi/cef_resource_request_handler_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to provide handler implementations. The handler | ||||
| /// instance will not be released until all objects related to the context have | ||||
| /// been destroyed. | ||||
| /// | ||||
| typedef struct _cef_request_context_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process UI thread immediately after the request | ||||
|   /// context has been initialized. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_request_context_initialized)( | ||||
|       struct _cef_request_context_handler_t* self, | ||||
|       struct _cef_request_context_t* request_context); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process IO thread before a resource request is | ||||
|   /// initiated. The |browser| and |frame| values represent the source of the | ||||
|   /// request, and may be NULL for requests originating from service workers or | ||||
|   /// cef_urlrequest_t. |request| represents the request contents and cannot be | ||||
|   /// modified in this callback. |is_navigation| will be true (1) if the | ||||
|   /// resource request is a navigation. |is_download| will be true (1) if the | ||||
|   /// resource request is a download. |request_initiator| is the origin (scheme | ||||
|   /// + domain) of the page that initiated the request. Set | ||||
|   /// |disable_default_handling| to true (1) to disable default handling of the | ||||
|   /// request, in which case it will need to be handled via | ||||
|   /// cef_resource_request_handler_t::GetResourceHandler or it will be canceled. | ||||
|   /// To allow the resource load to proceed with default handling return NULL. | ||||
|   /// To specify a handler for the resource return a | ||||
|   /// cef_resource_request_handler_t object. This function will not be called if | ||||
|   /// the client associated with |browser| returns a non-NULL value from | ||||
|   /// cef_request_handler_t::GetResourceRequestHandler for the same request | ||||
|   /// (identified by cef_request_t::GetIdentifier). | ||||
|   /// | ||||
|   struct _cef_resource_request_handler_t*( | ||||
|       CEF_CALLBACK* get_resource_request_handler)( | ||||
|       struct _cef_request_context_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       int is_navigation, | ||||
|       int is_download, | ||||
|       const cef_string_t* request_initiator, | ||||
|       int* disable_default_handling); | ||||
| } cef_request_context_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_ | ||||
							
								
								
									
										287
									
								
								include/capi/cef_request_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										287
									
								
								include/capi/cef_request_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,287 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=2e8b5c5107f61e3d4c333dc02c76a9f30cd0cf83$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_auth_callback_capi.h" | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_callback_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
| #include "include/capi/cef_request_capi.h" | ||||
| #include "include/capi/cef_resource_request_handler_capi.h" | ||||
| #include "include/capi/cef_ssl_info_capi.h" | ||||
| #include "include/capi/cef_unresponsive_process_callback_capi.h" | ||||
| #include "include/capi/cef_x509_certificate_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// 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. | ||||
| /// | ||||
| typedef struct _cef_request_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread before browser navigation. Return true (1) to | ||||
|   /// cancel the navigation or false (0) to allow the navigation to proceed. The | ||||
|   /// |request| object cannot be modified in this callback. | ||||
|   /// cef_load_handler_t::OnLoadingStateChange will be called twice in all | ||||
|   /// cases. If the navigation is allowed cef_load_handler_t::OnLoadStart and | ||||
|   /// cef_load_handler_t::OnLoadEnd will be called. If the navigation is | ||||
|   /// canceled cef_load_handler_t::OnLoadError will be called with an | ||||
|   /// |errorCode| value of ERR_ABORTED. The |user_gesture| value will be true | ||||
|   /// (1) if the browser navigated via explicit user gesture (e.g. clicking a | ||||
|   /// link) or false (0) if it navigated automatically (e.g. via the | ||||
|   /// DomContentLoaded event). | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_before_browse)(struct _cef_request_handler_t* self, | ||||
|                                       struct _cef_browser_t* browser, | ||||
|                                       struct _cef_frame_t* frame, | ||||
|                                       struct _cef_request_t* request, | ||||
|                                       int user_gesture, | ||||
|                                       int is_redirect); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread before OnBeforeBrowse in certain limited cases | ||||
|   /// where navigating a new or different browser might be desirable. This | ||||
|   /// includes user-initiated navigation that might open in a special way (e.g. | ||||
|   /// links clicked via middle-click or ctrl + left-click) and certain types of | ||||
|   /// cross-origin navigation initiated from the renderer process (e.g. | ||||
|   /// navigating the top-level frame to/from a file URL). The |browser| and | ||||
|   /// |frame| values represent the source of the navigation. The | ||||
|   /// |target_disposition| value indicates where the user intended to navigate | ||||
|   /// the browser based on standard Chromium behaviors (e.g. current tab, new | ||||
|   /// tab, etc). The |user_gesture| value will be true (1) if the browser | ||||
|   /// navigated via explicit user gesture (e.g. clicking a link) or false (0) if | ||||
|   /// it navigated automatically (e.g. via the DomContentLoaded event). Return | ||||
|   /// true (1) to cancel the navigation or false (0) to allow the navigation to | ||||
|   /// proceed in the source browser's top-level frame. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_open_urlfrom_tab)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       const cef_string_t* target_url, | ||||
|       cef_window_open_disposition_t target_disposition, | ||||
|       int user_gesture); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process IO thread before a resource request is | ||||
|   /// initiated. The |browser| and |frame| values represent the source of the | ||||
|   /// request. |request| represents the request contents and cannot be modified | ||||
|   /// in this callback. |is_navigation| will be true (1) if the resource request | ||||
|   /// is a navigation. |is_download| will be true (1) if the resource request is | ||||
|   /// a download. |request_initiator| is the origin (scheme + domain) of the | ||||
|   /// page that initiated the request. Set |disable_default_handling| to true | ||||
|   /// (1) to disable default handling of the request, in which case it will need | ||||
|   /// to be handled via cef_resource_request_handler_t::GetResourceHandler or it | ||||
|   /// will be canceled. To allow the resource load to proceed with default | ||||
|   /// handling return NULL. To specify a handler for the resource return a | ||||
|   /// cef_resource_request_handler_t object. If this callback returns NULL the | ||||
|   /// same function will be called on the associated | ||||
|   /// cef_request_context_handler_t, if any. | ||||
|   /// | ||||
|   struct _cef_resource_request_handler_t*( | ||||
|       CEF_CALLBACK* get_resource_request_handler)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       int is_navigation, | ||||
|       int is_download, | ||||
|       const cef_string_t* request_initiator, | ||||
|       int* disable_default_handling); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread when the browser needs credentials from the user. | ||||
|   /// |origin_url| is the origin making this authentication request. |isProxy| | ||||
|   /// indicates whether the host is a proxy server. |host| contains the hostname | ||||
|   /// and |port| contains the port number. |realm| is the realm of the challenge | ||||
|   /// and may be NULL. |scheme| is the authentication scheme used, such as | ||||
|   /// "basic" or "digest", and will be NULL if the source of the request is an | ||||
|   /// FTP server. Return true (1) to continue the request and call | ||||
|   /// cef_auth_callback_t::cont() either in this function or at a later time | ||||
|   /// when the authentication information is available. Return false (0) to | ||||
|   /// cancel the request immediately. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_auth_credentials)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       const cef_string_t* origin_url, | ||||
|       int isProxy, | ||||
|       const cef_string_t* host, | ||||
|       int port, | ||||
|       const cef_string_t* realm, | ||||
|       const cef_string_t* scheme, | ||||
|       struct _cef_auth_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the UI thread to handle requests for URLs with an invalid SSL | ||||
|   /// certificate. Return true (1) and call cef_callback_t functions either in | ||||
|   /// this function or at a later time to continue or cancel the request. Return | ||||
|   /// false (0) to cancel the request immediately. If | ||||
|   /// cef_settings_t.ignore_certificate_errors is set all invalid certificates | ||||
|   /// will be accepted without calling this function. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_certificate_error)(struct _cef_request_handler_t* self, | ||||
|                                           struct _cef_browser_t* browser, | ||||
|                                           cef_errorcode_t cert_error, | ||||
|                                           const cef_string_t* request_url, | ||||
|                                           struct _cef_sslinfo_t* ssl_info, | ||||
|                                           struct _cef_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 the render view associated | ||||
|   /// with |browser| is ready to receive/handle IPC messages in the render | ||||
|   /// process. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_render_view_ready)(struct _cef_request_handler_t* self, | ||||
|                                            struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process UI thread when the render process is | ||||
|   /// unresponsive as indicated by a lack of input event processing for at least | ||||
|   /// 15 seconds. Return false (0) for the default behavior which is an | ||||
|   /// indefinite wait with the Alloy runtime or display of the "Page | ||||
|   /// unresponsive" dialog with the Chrome runtime. Return true (1) and don't | ||||
|   /// execute the callback for an indefinite wait without display of the Chrome | ||||
|   /// runtime dialog. Return true (1) and call | ||||
|   /// cef_unresponsive_process_callback_t::Wait either in this function or at a | ||||
|   /// later time to reset the wait timer, potentially triggering another call to | ||||
|   /// this function if the process remains unresponsive. Return true (1) and | ||||
|   /// call cef_unresponsive_process_callback_t:: Terminate either in this | ||||
|   /// function or at a later time to terminate the unresponsive process, | ||||
|   /// resulting in a call to OnRenderProcessTerminated. | ||||
|   /// OnRenderProcessResponsive will be called if the process becomes responsive | ||||
|   /// after this function is called. This functionality depends on the hang | ||||
|   /// monitor which can be disabled by passing the `--disable-hang-monitor` | ||||
|   /// command-line flag. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_render_process_unresponsive)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_unresponsive_process_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process UI thread when the render process becomes | ||||
|   /// responsive after previously being unresponsive. See documentation on | ||||
|   /// OnRenderProcessUnresponsive. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_render_process_responsive)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process UI thread when the render process terminates | ||||
|   /// unexpectedly. |status| indicates how the process terminated. |error_code| | ||||
|   /// and |error_string| represent the error that would be displayed in Chrome's | ||||
|   /// "Aw, Snap!" view. Possible |error_code| values include cef_resultcode_t | ||||
|   /// non-normal exit values and platform-specific crash values (for example, a | ||||
|   /// Posix signal or Windows hardware exception). | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_render_process_terminated)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       cef_termination_status_t status, | ||||
|       int error_code, | ||||
|       const cef_string_t* error_string); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the browser process UI thread when the window.document object of | ||||
|   /// the main frame has been created. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_document_available_in_main_frame)( | ||||
|       struct _cef_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser); | ||||
| } cef_request_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_ | ||||
							
								
								
									
										104
									
								
								include/capi/cef_resource_bundle_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								include/capi/cef_resource_bundle_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,104 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=d97d3ca6c8d610627538c58f3b4ba3869f3d9ac7$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_values_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used for retrieving resources from the resource bundle (*.pak) | ||||
| /// files loaded by CEF during startup or via the cef_resource_bundle_handler_t | ||||
| /// returned from cef_app_t::GetResourceBundleHandler. See CefSettings for | ||||
| /// additional options related to resource bundle loading. The functions of this | ||||
| /// structure may be called on any thread unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_resource_bundle_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Returns the localized string for the specified |string_id| or an NULL | ||||
|   /// string if the value is not found. Include cef_pack_strings.h for a listing | ||||
|   /// of valid string ID values. | ||||
|   /// | ||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||
|   cef_string_userfree_t(CEF_CALLBACK* get_localized_string)( | ||||
|       struct _cef_resource_bundle_t* self, | ||||
|       int string_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a cef_binary_value_t containing the decompressed contents of the | ||||
|   /// specified scale independent |resource_id| or NULL if not found. Include | ||||
|   /// cef_pack_resources.h for a listing of valid resource ID values. | ||||
|   /// | ||||
|   struct _cef_binary_value_t*(CEF_CALLBACK* get_data_resource)( | ||||
|       struct _cef_resource_bundle_t* self, | ||||
|       int resource_id); | ||||
|  | ||||
|   /// | ||||
|   /// Returns a cef_binary_value_t containing the decompressed contents of the | ||||
|   /// specified |resource_id| nearest the scale factor |scale_factor| or NULL if | ||||
|   /// not found. Use a |scale_factor| value of SCALE_FACTOR_NONE for scale | ||||
|   /// independent resources or call GetDataResource instead.Include | ||||
|   /// cef_pack_resources.h for a listing of valid resource ID values. | ||||
|   /// | ||||
|   struct _cef_binary_value_t*(CEF_CALLBACK* get_data_resource_for_scale)( | ||||
|       struct _cef_resource_bundle_t* self, | ||||
|       int resource_id, | ||||
|       cef_scale_factor_t scale_factor); | ||||
| } cef_resource_bundle_t; | ||||
|  | ||||
| /// | ||||
| /// Returns the global resource bundle instance. | ||||
| /// | ||||
| CEF_EXPORT cef_resource_bundle_t* cef_resource_bundle_get_global(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_ | ||||
							
								
								
									
										105
									
								
								include/capi/cef_resource_bundle_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								include/capi/cef_resource_bundle_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,105 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=b25f3131d67980e493da4d7e484676d000334995$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Structure used to implement a custom resource bundle structure. See | ||||
| /// CefSettings for additional options related to resource bundle loading. The | ||||
| /// functions of this structure may be called on multiple threads. | ||||
| /// | ||||
| typedef struct _cef_resource_bundle_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve a localized translation for the specified |string_id|. | ||||
|   /// To provide the translation set |string| to the translation string and | ||||
|   /// return true (1). To use the default translation return false (0). Include | ||||
|   /// cef_pack_strings.h for a listing of valid string ID values. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_localized_string)( | ||||
|       struct _cef_resource_bundle_handler_t* self, | ||||
|       int string_id, | ||||
|       cef_string_t* string); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve data for the specified scale independent |resource_id|. | ||||
|   /// To provide the resource data set |data| and |data_size| to the data | ||||
|   /// pointer and size respectively and return true (1). To use the default | ||||
|   /// resource data return false (0). The resource data will not be copied and | ||||
|   /// must remain resident in memory. Include cef_pack_resources.h for a listing | ||||
|   /// of valid resource ID values. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_data_resource)( | ||||
|       struct _cef_resource_bundle_handler_t* self, | ||||
|       int resource_id, | ||||
|       void** data, | ||||
|       size_t* data_size); | ||||
|  | ||||
|   /// | ||||
|   /// Called to retrieve data for the specified |resource_id| nearest the scale | ||||
|   /// factor |scale_factor|. To provide the resource data set |data| and | ||||
|   /// |data_size| to the data pointer and size respectively and return true (1). | ||||
|   /// To use the default resource data return false (0). The resource data will | ||||
|   /// not be copied and must remain resident in memory. Include | ||||
|   /// cef_pack_resources.h for a listing of valid resource ID values. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* get_data_resource_for_scale)( | ||||
|       struct _cef_resource_bundle_handler_t* self, | ||||
|       int resource_id, | ||||
|       cef_scale_factor_t scale_factor, | ||||
|       void** data, | ||||
|       size_t* data_size); | ||||
| } cef_resource_bundle_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_ | ||||
							
								
								
									
										210
									
								
								include/capi/cef_resource_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										210
									
								
								include/capi/cef_resource_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,210 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=ad8218a8ac9e313884110e72bb2af32ec916907f$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_callback_capi.h" | ||||
| #include "include/capi/cef_cookie_capi.h" | ||||
| #include "include/capi/cef_request_capi.h" | ||||
| #include "include/capi/cef_response_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| /// Callback for asynchronous continuation of cef_resource_handler_t::skip(). | ||||
| /// | ||||
| typedef struct _cef_resource_skip_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Callback for asynchronous continuation of skip(). If |bytes_skipped| > 0 | ||||
|   /// then either skip() will be called again until the requested number of | ||||
|   /// bytes have been skipped or the request will proceed. If |bytes_skipped| <= | ||||
|   /// 0 the request will fail with ERR_REQUEST_RANGE_NOT_SATISFIABLE. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_resource_skip_callback_t* self, | ||||
|                            int64_t bytes_skipped); | ||||
| } cef_resource_skip_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Callback for asynchronous continuation of cef_resource_handler_t::read(). | ||||
| /// | ||||
| typedef struct _cef_resource_read_callback_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Callback for asynchronous continuation of read(). If |bytes_read| == 0 the | ||||
|   /// response will be considered complete. If |bytes_read| > 0 then read() will | ||||
|   /// be called again until the request is complete (based on either the result | ||||
|   /// or the expected content length). If |bytes_read| < 0 then the request will | ||||
|   /// fail and the |bytes_read| value will be treated as the error code. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cont)(struct _cef_resource_read_callback_t* self, | ||||
|                            int bytes_read); | ||||
| } cef_resource_read_callback_t; | ||||
|  | ||||
| /// | ||||
| /// Structure used to implement a custom request handler structure. The | ||||
| /// functions of this structure will be called on the IO thread unless otherwise | ||||
| /// indicated. | ||||
| /// | ||||
| typedef struct _cef_resource_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Open the response stream. To handle the request immediately set | ||||
|   /// |handle_request| to true (1) and return true (1). To decide at a later | ||||
|   /// time set |handle_request| to false (0), return true (1), and execute | ||||
|   /// |callback| to continue or cancel the request. To cancel the request | ||||
|   /// immediately set |handle_request| to true (1) and return false (0). This | ||||
|   /// function will be called in sequence but not from a dedicated thread. For | ||||
|   /// backwards compatibility set |handle_request| to false (0) and return false | ||||
|   /// (0) and the ProcessRequest function will be called. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* open)(struct _cef_resource_handler_t* self, | ||||
|                           struct _cef_request_t* request, | ||||
|                           int* handle_request, | ||||
|                           struct _cef_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Begin processing the request. To handle the request return true (1) and | ||||
|   /// call cef_callback_t::cont() once the response header information is | ||||
|   /// available (cef_callback_t::cont() can also be called from inside this | ||||
|   /// function if header information is available immediately). To cancel the | ||||
|   /// request return false (0). | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated. Use Open instead. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* process_request)(struct _cef_resource_handler_t* self, | ||||
|                                      struct _cef_request_t* request, | ||||
|                                      struct _cef_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Retrieve response header information. If the response length is not known | ||||
|   /// set |response_length| to -1 and read_response() will be called until it | ||||
|   /// returns false (0). If the response length is known set |response_length| | ||||
|   /// to a positive value and read_response() will be called until it returns | ||||
|   /// false (0) or the specified number of bytes have been read. Use the | ||||
|   /// |response| object to set the mime type, http status code and other | ||||
|   /// optional header values. To redirect the request to a new URL set | ||||
|   /// |redirectUrl| to the new URL. |redirectUrl| can be either a relative or | ||||
|   /// fully qualified URL. It is also possible to set |response| to a redirect | ||||
|   /// http status code and pass the new URL via a Location header. Likewise with | ||||
|   /// |redirectUrl| it is valid to set a relative or fully qualified URL as the | ||||
|   /// Location header value. If an error occured while setting up the request | ||||
|   /// you can call set_error() on |response| to indicate the error condition. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* get_response_headers)(struct _cef_resource_handler_t* self, | ||||
|                                            struct _cef_response_t* response, | ||||
|                                            int64_t* response_length, | ||||
|                                            cef_string_t* redirectUrl); | ||||
|  | ||||
|   /// | ||||
|   /// Skip response data when requested by a Range header. Skip over and discard | ||||
|   /// |bytes_to_skip| bytes of response data. If data is available immediately | ||||
|   /// set |bytes_skipped| to the number of bytes skipped and return true (1). To | ||||
|   /// read the data at a later time set |bytes_skipped| to 0, return true (1) | ||||
|   /// and execute |callback| when the data is available. To indicate failure set | ||||
|   /// |bytes_skipped| to < 0 (e.g. -2 for ERR_FAILED) and return false (0). This | ||||
|   /// function will be called in sequence but not from a dedicated thread. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* skip)(struct _cef_resource_handler_t* self, | ||||
|                           int64_t bytes_to_skip, | ||||
|                           int64_t* bytes_skipped, | ||||
|                           struct _cef_resource_skip_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Read response data. If data is available immediately copy up to | ||||
|   /// |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of | ||||
|   /// bytes copied, and return true (1). To read the data at a later time keep a | ||||
|   /// pointer to |data_out|, set |bytes_read| to 0, return true (1) and execute | ||||
|   /// |callback| when the data is available (|data_out| will remain valid until | ||||
|   /// the callback is executed). To indicate response completion set | ||||
|   /// |bytes_read| to 0 and return false (0). To indicate failure set | ||||
|   /// |bytes_read| to < 0 (e.g. -2 for ERR_FAILED) and return false (0). This | ||||
|   /// function will be called in sequence but not from a dedicated thread. For | ||||
|   /// backwards compatibility set |bytes_read| to -1 and return false (0) and | ||||
|   /// the ReadResponse function will be called. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* read)(struct _cef_resource_handler_t* self, | ||||
|                           void* data_out, | ||||
|                           int bytes_to_read, | ||||
|                           int* bytes_read, | ||||
|                           struct _cef_resource_read_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Read response data. If data is available immediately copy up to | ||||
|   /// |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of | ||||
|   /// bytes copied, and return true (1). To read the data at a later time set | ||||
|   /// |bytes_read| to 0, return true (1) and call cef_callback_t::cont() when | ||||
|   /// the data is available. To indicate response completion return false (0). | ||||
|   /// | ||||
|   /// WARNING: This function is deprecated. Use Skip and Read instead. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* read_response)(struct _cef_resource_handler_t* self, | ||||
|                                    void* data_out, | ||||
|                                    int bytes_to_read, | ||||
|                                    int* bytes_read, | ||||
|                                    struct _cef_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Request processing has been canceled. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* cancel)(struct _cef_resource_handler_t* self); | ||||
| } cef_resource_handler_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_ | ||||
							
								
								
									
										255
									
								
								include/capi/cef_resource_request_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										255
									
								
								include/capi/cef_resource_request_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,255 @@ | ||||
| // Copyright (c) 2024 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. | ||||
| // | ||||
| // $hash=c4416644786e3c1999cdcd7e6bf78af94ff7f0da$ | ||||
| // | ||||
|  | ||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_ | ||||
| #define CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_ | ||||
| #pragma once | ||||
|  | ||||
| #include "include/capi/cef_base_capi.h" | ||||
| #include "include/capi/cef_browser_capi.h" | ||||
| #include "include/capi/cef_callback_capi.h" | ||||
| #include "include/capi/cef_frame_capi.h" | ||||
| #include "include/capi/cef_request_capi.h" | ||||
| #include "include/capi/cef_resource_handler_capi.h" | ||||
| #include "include/capi/cef_response_capi.h" | ||||
| #include "include/capi/cef_response_filter_capi.h" | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| struct _cef_cookie_access_filter_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to handle events related to browser requests. The | ||||
| /// functions of this structure will be called on the IO thread unless otherwise | ||||
| /// indicated. | ||||
| /// | ||||
| typedef struct _cef_resource_request_handler_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread before a resource request is loaded. The |browser| | ||||
|   /// and |frame| values represent the source of the request, and may be NULL | ||||
|   /// for requests originating from service workers or cef_urlrequest_t. To | ||||
|   /// optionally filter cookies for the request return a | ||||
|   /// cef_cookie_access_filter_t object. The |request| object cannot not be | ||||
|   /// modified in this callback. | ||||
|   /// | ||||
|   struct _cef_cookie_access_filter_t*(CEF_CALLBACK* get_cookie_access_filter)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread before a resource request is loaded. The |browser| | ||||
|   /// and |frame| values represent the source of the request, and may be NULL | ||||
|   /// for requests originating from service workers or cef_urlrequest_t. To | ||||
|   /// redirect or change the resource load optionally modify |request|. | ||||
|   /// Modification of the request URL will be treated as a redirect. Return | ||||
|   /// RV_CONTINUE to continue the request immediately. Return RV_CONTINUE_ASYNC | ||||
|   /// and call cef_callback_t functions at a later time to continue or cancel | ||||
|   /// the request asynchronously. Return RV_CANCEL to cancel the request | ||||
|   /// immediately. | ||||
|   /// | ||||
|   cef_return_value_t(CEF_CALLBACK* on_before_resource_load)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       struct _cef_callback_t* callback); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread before a resource is loaded. The |browser| and | ||||
|   /// |frame| values represent the source of the request, and may be NULL for | ||||
|   /// requests originating from service workers or cef_urlrequest_t. To allow | ||||
|   /// the resource to load using the default network loader return NULL. To | ||||
|   /// specify a handler for the resource return a cef_resource_handler_t object. | ||||
|   /// The |request| object cannot not be modified in this callback. | ||||
|   /// | ||||
|   struct _cef_resource_handler_t*(CEF_CALLBACK* get_resource_handler)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread when a resource load is redirected. The |browser| | ||||
|   /// and |frame| values represent the source of the request, and may be NULL | ||||
|   /// for requests originating from service workers or cef_urlrequest_t. The | ||||
|   /// |request| parameter will contain the old URL and other request-related | ||||
|   /// information. 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| and |response| objects cannot | ||||
|   /// be modified in this callback. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_resource_redirect)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       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. The | ||||
|   /// |browser| and |frame| values represent the source of the request, and may | ||||
|   /// be NULL for requests originating from service workers or cef_urlrequest_t. | ||||
|   /// To allow the resource load to proceed without modification return false | ||||
|   /// (0). To redirect or retry the resource load optionally modify |request| | ||||
|   /// and return true (1). Modification of the request URL will be treated as a | ||||
|   /// redirect. Requests handled using the default network loader cannot be | ||||
|   /// redirected in this callback. The |response| object cannot be modified in | ||||
|   /// this callback. | ||||
|   /// | ||||
|   /// WARNING: Redirecting using this function is deprecated. Use | ||||
|   /// OnBeforeResourceLoad or GetResourceHandler to perform redirects. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* on_resource_response)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       struct _cef_response_t* response); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread to optionally filter resource response content. | ||||
|   /// The |browser| and |frame| values represent the source of the request, and | ||||
|   /// may be NULL for requests originating from service workers or | ||||
|   /// cef_urlrequest_t. |request| and |response| represent the request and | ||||
|   /// response respectively and cannot be modified in this callback. | ||||
|   /// | ||||
|   struct _cef_response_filter_t*(CEF_CALLBACK* get_resource_response_filter)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       struct _cef_response_t* response); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread when a resource load has completed. The |browser| | ||||
|   /// and |frame| values represent the source of the request, and may be NULL | ||||
|   /// for requests originating from service workers or cef_urlrequest_t. | ||||
|   /// |request| and |response| represent the request and response respectively | ||||
|   /// and cannot be modified in this callback. |status| indicates the load | ||||
|   /// completion status. |received_content_length| is the number of response | ||||
|   /// bytes actually read. This function will be called for all requests, | ||||
|   /// including requests that are aborted due to CEF shutdown or destruction of | ||||
|   /// the associated browser. In cases where the associated browser is destroyed | ||||
|   /// this callback may arrive after the cef_life_span_handler_t::OnBeforeClose | ||||
|   /// callback for that browser. The cef_frame_t::IsValid function can be used | ||||
|   /// to test for this situation, and care should be taken not to call |browser| | ||||
|   /// or |frame| functions that modify state (like LoadURL, SendProcessMessage, | ||||
|   /// etc.) if the frame is invalid. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_resource_load_complete)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       struct _cef_response_t* response, | ||||
|       cef_urlrequest_status_t status, | ||||
|       int64_t received_content_length); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread to handle requests for URLs with an unknown | ||||
|   /// protocol component. The |browser| and |frame| values represent the source | ||||
|   /// of the request, and may be NULL for requests originating from service | ||||
|   /// workers or cef_urlrequest_t. |request| cannot be modified in this | ||||
|   /// callback. Set |allow_os_execution| to true (1) to attempt execution via | ||||
|   /// the registered OS protocol handler, if any. SECURITY WARNING: YOU SHOULD | ||||
|   /// USE THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR OTHER URL | ||||
|   /// ANALYSIS BEFORE ALLOWING OS EXECUTION. | ||||
|   /// | ||||
|   void(CEF_CALLBACK* on_protocol_execution)( | ||||
|       struct _cef_resource_request_handler_t* self, | ||||
|       struct _cef_browser_t* browser, | ||||
|       struct _cef_frame_t* frame, | ||||
|       struct _cef_request_t* request, | ||||
|       int* allow_os_execution); | ||||
| } cef_resource_request_handler_t; | ||||
|  | ||||
| /// | ||||
| /// Implement this structure to filter cookies that may be sent or received from | ||||
| /// resource requests. The functions of this structure will be called on the IO | ||||
| /// thread unless otherwise indicated. | ||||
| /// | ||||
| typedef struct _cef_cookie_access_filter_t { | ||||
|   /// | ||||
|   /// Base structure. | ||||
|   /// | ||||
|   cef_base_ref_counted_t base; | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread before a resource request is sent. The |browser| | ||||
|   /// and |frame| values represent the source of the request, and may be NULL | ||||
|   /// for requests originating from service workers or cef_urlrequest_t. | ||||
|   /// |request| cannot be modified in this callback. Return true (1) if the | ||||
|   /// specified cookie can be sent with the request or false (0) otherwise. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* can_send_cookie)(struct _cef_cookie_access_filter_t* self, | ||||
|                                      struct _cef_browser_t* browser, | ||||
|                                      struct _cef_frame_t* frame, | ||||
|                                      struct _cef_request_t* request, | ||||
|                                      const struct _cef_cookie_t* cookie); | ||||
|  | ||||
|   /// | ||||
|   /// Called on the IO thread after a resource response is received. The | ||||
|   /// |browser| and |frame| values represent the source of the request, and may | ||||
|   /// be NULL for requests originating from service workers or cef_urlrequest_t. | ||||
|   /// |request| cannot be modified in this callback. Return true (1) if the | ||||
|   /// specified cookie returned with the response can be saved or false (0) | ||||
|   /// otherwise. | ||||
|   /// | ||||
|   int(CEF_CALLBACK* can_save_cookie)(struct _cef_cookie_access_filter_t* self, | ||||
|                                      struct _cef_browser_t* browser, | ||||
|                                      struct _cef_frame_t* frame, | ||||
|                                      struct _cef_request_t* request, | ||||
|                                      struct _cef_response_t* response, | ||||
|                                      const struct _cef_cookie_t* cookie); | ||||
| } cef_cookie_access_filter_t; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif  // CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_ | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user