Clojure Wrappers for CEF
Clojure Wrappers for CEF
(cef-browser-host-create-browser window-info
client
url
browser-settings
extra-info
request-context)
Create a new browser window using the window parameters specified by |windowInfo|.
MUST be called on the main thread.
All values will be copied internally and the actual window will be created on the UI thread. If |request_context| is NULL the global request context will be used. This function can be called on any browser process thread and will not block. The optional |extra_info| parameter provides an opportunity to specify extra information specific to the created browser that will be passed to cef_render_process_handler_t::on_browser_created() in the render process.
Create a new browser window using the window parameters specified by |windowInfo|. MUST be called on the main thread. All values will be copied internally and the actual window will be created on the UI thread. If |request_context| is NULL the global request context will be used. This function can be called on any browser process thread and will not block. The optional |extra_info| parameter provides an opportunity to specify extra information specific to the created browser that will be passed to cef_render_process_handler_t::on_browser_created() in the render process.
(cef-do-message-loop-work)
Perform a single iteration of CEF message loop processing.
MUST be called from the main thread.
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 CefSettings.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 CefSettings.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 CefSettings.multi_threaded_message_loop value of false (0). This function will not block.
Perform a single iteration of CEF message loop processing. MUST be called from the main thread. 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 CefSettings.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 CefSettings.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 CefSettings.multi_threaded_message_loop value of false (0). This function will not block.
(cef-initialize app)
(cef-initialize app target-dir)
(cef-initialize main-args settings app sandbox-info)
This function should be called on the main application thread to initialize the CEF browser process. The |application| parameter may be NULL. A return value of true (1) indicates that it succeeded and false (0) indicates that it failed. The |windows_sandbox_info| parameter is only used on Windows and may be NULL (see cef_sandbox_win.h for details).
This function should be called on the main application thread to initialize the CEF browser process. The |application| parameter may be NULL. A return value of true (1) indicates that it succeeded and false (0) indicates that it failed. The |windows_sandbox_info| parameter is only used on Windows and may be NULL (see cef_sandbox_win.h for details).
(cef-quit-message-loop)
Quit the CEF message loop that was started by calling cef_run_message_loop().
MUST be called from the main thread.
This function should only be called on the main application thread and only if cef_run_message_loop() was used.
Quit the CEF message loop that was started by calling cef_run_message_loop(). MUST be called from the main thread. This function should only be called on the main application thread and only if cef_run_message_loop() was used.
(cef-run-message-loop)
Run the event loop that drives the browser.
MUST be called from the main thread. The event loop will not stop on it's own.
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 CefSettings.multi_threaded_message_loop value of false (0). This function will block until a quit message is received by the system.
Typically, the way to stop the event loop is to call (.closeBrowser (.getHost browser) 1)
and install a life span handler. The life span handler will receive a :on-before-close-event
where it can check if the last browser is being closed and then call cef-quit-message-loop
. See map->life-span-handler
for more info.
Run the event loop that drives the browser. MUST be called from the main thread. The event loop will not stop on it's own. 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 CefSettings.multi_threaded_message_loop value of false (0). This function will block until a quit message is received by the system. Typically, the way to stop the event loop is to call `(.closeBrowser (.getHost browser) 1)` and install a life span handler. The life span handler will receive a `:on-before-close-event` where it can check if the last browser is being closed and then call `cef-quit-message-loop`. See `map->life-span-handler` for more info.
(cef-string s)
Convert a java String into a CefString
Convert a java String into a CefString
(download-and-extract-framework)
(download-and-extract-framework target-dir)
(download-and-extract-framework target-dir build)
The Chromium Framework is about 234M (500M on linux) unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
The Chromium Framework is about 234M (500M on linux) unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
(download-and-extract-framework-linux target-dir build)
The Chromium Framework is about 234M (500M on linux) unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
The Chromium Framework is about 234M (500M on linux) unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
(download-and-extract-framework-macosx target-dir build)
The Chromium Framework is about 234M unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
The Chromium Framework is about 234M unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
(download-and-prepare-environment!)
(download-and-prepare-environment! target-dir)
The Chromium Embedded Framework is about 90MB compressed and 234MB uncompressed which makes it impractical to include in the library jar.
Download the framework and doing some other environment setup required by cef.
The Chromium Embedded Framework is about 90MB compressed and 234MB uncompressed which makes it impractical to include in the library jar. Download the framework and doing some other environment setup required by cef.
(extract-helper)
(extract-helper target-dir)
Extract the helper process executable from the jar to the file system.
To support sandboxing, the cef requries a separate executable that can be called. The executable must exist on the file system to be run.
Extract the helper process executable from the jar to the file system. To support sandboxing, the cef requries a separate executable that can be called. The executable must exist on the file system to be run.
Makes documentation accessible from instances.
Makes documentation accessible from instances.
(doc this)
Returns the doc string for an instance.
Returns the doc string for an instance.
(print-doc this)
Prints the doc string for an instance.
Prints the doc string for an instance.
(map->accessibility-handler)
(map->accessibility-handler
{:as m :keys [on-accessibility-tree-change on-accessibility-location-change]})
Make a CefAccessibilityHandler 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.
:on-accessibility-tree-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility tree changes to the browser process.
:on-accessibility-location-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility location changes to the browser process.
Make a CefAccessibilityHandler 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. :on-accessibility-tree-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility tree changes to the browser process. :on-accessibility-location-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility location changes to the browser process.
(map->app)
(map->app {:as m
:keys [on-before-command-line-processing on-register-custom-schemes
get-resource-bundle-handler get-browser-process-handler
get-render-process-handler]})
Make a CefApp Implement this structure to provide handler implementations. Methods will be called by the process and/or thread indicated.
:on-before-command-line-processing (fn [CefApp,CefStringUtf16,CefCommandLine]) -> void 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 CefSettings.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.
:on-register-custom-schemes (fn [CefApp,CefSchemeRegistrar]) -> void 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.
:get-resource-bundle-handler (fn [CefApp]) -> CefResourceBundleHandler Return the handler for resource bundle events. If CefSettings.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.
:get-browser-process-handler (fn [CefApp]) -> CefBrowserProcessHandler Return the handler for functionality specific to the browser process. This function is called on multiple threads in the browser process.
:get-render-process-handler (fn [CefApp]) -> CefRenderProcessHandler Return the handler for functionality specific to the render process. This function is called on the render process main thread.
Make a CefApp Implement this structure to provide handler implementations. Methods will be called by the process and/or thread indicated. :on-before-command-line-processing (fn [CefApp,CefStringUtf16,CefCommandLine]) -> void 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 CefSettings.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. :on-register-custom-schemes (fn [CefApp,CefSchemeRegistrar]) -> void 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. :get-resource-bundle-handler (fn [CefApp]) -> CefResourceBundleHandler Return the handler for resource bundle events. If CefSettings.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. :get-browser-process-handler (fn [CefApp]) -> CefBrowserProcessHandler Return the handler for functionality specific to the browser process. This function is called on multiple threads in the browser process. :get-render-process-handler (fn [CefApp]) -> CefRenderProcessHandler Return the handler for functionality specific to the render process. This function is called on the render process main thread.
(map->audio-handler)
(map->audio-handler {:as m
:keys [get-audio-parameters on-audio-stream-started
on-audio-stream-packet on-audio-stream-stopped
on-audio-stream-error]})
Make a CefAudioHandler Implement this structure to handle audio events.
:get-audio-parameters (fn [CefAudioHandler,CefBrowser,CefAudioParameters]) -> int 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.
:on-audio-stream-started (fn [CefAudioHandler,CefBrowser,CefAudioParameters,int]) -> void Called on a browser audio capture thread when the browser starts streaming audio. OnAudioSteamStopped 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.
:on-audio-stream-packet (fn [CefAudioHandler,CefBrowser,Pointer,int,long]) -> void 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.
:on-audio-stream-stopped (fn [CefAudioHandler,CefBrowser]) -> void 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.
:on-audio-stream-error (fn [CefAudioHandler,CefBrowser,CefStringUtf16]) -> void 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.
Make a CefAudioHandler Implement this structure to handle audio events. :get-audio-parameters (fn [CefAudioHandler,CefBrowser,CefAudioParameters]) -> int 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. :on-audio-stream-started (fn [CefAudioHandler,CefBrowser,CefAudioParameters,int]) -> void Called on a browser audio capture thread when the browser starts streaming audio. OnAudioSteamStopped 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. :on-audio-stream-packet (fn [CefAudioHandler,CefBrowser,Pointer,int,long]) -> void 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. :on-audio-stream-stopped (fn [CefAudioHandler,CefBrowser]) -> void 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. :on-audio-stream-error (fn [CefAudioHandler,CefBrowser,CefStringUtf16]) -> void 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.
(map->audio-parameters)
(map->audio-parameters {:as m
:keys [channel-layout sample-rate frames-per-buffer]})
Make a CefAudioParameters Structure representing the audio parameters for setting up the audio handler.
:channel-layout cef_channel_layout_t Layout of the audio channels
:sample-rate int Sample rate
:frames-per-buffer int Number of frames per buffer
Make a CefAudioParameters Structure representing the audio parameters for setting up the audio handler. :channel-layout cef_channel_layout_t Layout of the audio channels :sample-rate int Sample rate :frames-per-buffer int Number of frames per buffer
(map->auth-callback)
(map->auth-callback {:as m :keys [cont cancel]})
Make a CefAuthCallback Callback structure used for asynchronous continuation of authentication requests.
:cont (fn [CefAuthCallback,CefStringUtf16,CefStringUtf16]) -> void Continue the authentication request.
:cancel (fn [CefAuthCallback]) -> void Cancel the authentication request.
Make a CefAuthCallback Callback structure used for asynchronous continuation of authentication requests. :cont (fn [CefAuthCallback,CefStringUtf16,CefStringUtf16]) -> void Continue the authentication request. :cancel (fn [CefAuthCallback]) -> void Cancel the authentication request.
(map->base-ref-counted)
(map->base-ref-counted
{:as m :keys [size add-ref release has-one-ref has-at-least-one-ref]})
Make a CefBaseRefCounted All ref-counted framework structures must include this structure first.
:size size_t Size of the data structure.
:add-ref (fn [Pointer]) -> void Called to increment the reference count for the object. Should be called for every new copy of a pointer to a given object.
:release (fn [Pointer]) -> int 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.
:has-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is 1.
:has-at-least-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is at least 1.
Make a CefBaseRefCounted All ref-counted framework structures must include this structure first. :size size_t Size of the data structure. :add-ref (fn [Pointer]) -> void Called to increment the reference count for the object. Should be called for every new copy of a pointer to a given object. :release (fn [Pointer]) -> int 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. :has-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is 1. :has-at-least-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is at least 1.
(map->base-scoped)
(map->base-scoped {:as m :keys [size del]})
Make a CefBaseScoped All scoped framework structures must include this structure first.
:size size_t Size of the data structure.
:del (fn [CefBaseScoped]) -> void Called to delete this object. May be NULL if the object is not owned.
Make a CefBaseScoped All scoped framework structures must include this structure first. :size size_t Size of the data structure. :del (fn [CefBaseScoped]) -> void Called to delete this object. May be NULL if the object is not owned.
(map->before-download-callback)
(map->before-download-callback {:as m :keys [cont]})
Make a CefBeforeDownloadCallback Callback structure used to asynchronously continue a download.
:cont (fn [CefBeforeDownloadCallback,CefStringUtf16,int]) -> void 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.
Make a CefBeforeDownloadCallback Callback structure used to asynchronously continue a download. :cont (fn [CefBeforeDownloadCallback,CefStringUtf16,int]) -> void 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.
(map->binary-value)
(map->binary-value
{:as m :keys [is-valid is-owned is-same is-equal copy get-size get-data]})
Make a CefBinaryValue Structure representing a binary value. Can be used on any process and thread.
:is-valid (fn [CefBinaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0).
:is-owned (fn [CefBinaryValue]) -> int Returns true (1) if this object is currently owned by another object.
:is-same (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data.
:is-equal (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefBinaryValue]) -> CefBinaryValue Returns a copy of this object. The data in this object will also be copied.
:get-size (fn [CefBinaryValue]) -> SizeT Returns the data size.
:get-data (fn [CefBinaryValue,Pointer,SizeT,SizeT]) -> SizeT Read up to |buffer_size| number of bytes into |buffer|. Reading begins at the specified byte |data_offset|. Returns the number of bytes read.
Make a CefBinaryValue Structure representing a binary value. Can be used on any process and thread. :is-valid (fn [CefBinaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0). :is-owned (fn [CefBinaryValue]) -> int Returns true (1) if this object is currently owned by another object. :is-same (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. :is-equal (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefBinaryValue]) -> CefBinaryValue Returns a copy of this object. The data in this object will also be copied. :get-size (fn [CefBinaryValue]) -> SizeT Returns the data size. :get-data (fn [CefBinaryValue,Pointer,SizeT,SizeT]) -> SizeT Read up to |buffer_size| number of bytes into |buffer|. Reading begins at the specified byte |data_offset|. Returns the number of bytes read.
(map->box-layout-settings)
(map->box-layout-settings {:as m
:keys [horizontal inside-border-horizontal-spacing
inside-border-vertical-spacing
inside-border-insets between-child-spacing
main-axis-alignment cross-axis-alignment
minimum-cross-axis-size default-flex]})
Make a CefBoxLayoutSettings Settings used when initializing a CefBoxLayout.
:horizontal int If true (1) the layout will be horizontal, otherwise the layout will be vertical.
:inside-border-horizontal-spacing int Adds additional horizontal space between the child view area and the host view border.
:inside-border-vertical-spacing int Adds additional vertical space between the child view area and the host view border.
:inside-border-insets cef_insets_t Adds additional space around the child view area.
:between-child-spacing int Adds additional space between child views.
:main-axis-alignment cef_main_axis_alignment_t Specifies where along the main axis the child views should be laid out.
:cross-axis-alignment cef_cross_axis_alignment_t Specifies where along the cross axis the child views should be laid out.
:minimum-cross-axis-size int Minimum cross axis size.
:default-flex int Default flex for views when none is specified via CefBoxLayout methods. Using the preferred size as the basis, free space along the main axis is distributed to views in the ratio of their flex weights. Similarly, if the views will overflow the parent, space is subtracted in these ratios. A flex of 0 means this view is not resized. Flex values must not be negative.
Make a CefBoxLayoutSettings Settings used when initializing a CefBoxLayout. :horizontal int If true (1) the layout will be horizontal, otherwise the layout will be vertical. :inside-border-horizontal-spacing int Adds additional horizontal space between the child view area and the host view border. :inside-border-vertical-spacing int Adds additional vertical space between the child view area and the host view border. :inside-border-insets cef_insets_t Adds additional space around the child view area. :between-child-spacing int Adds additional space between child views. :main-axis-alignment cef_main_axis_alignment_t Specifies where along the main axis the child views should be laid out. :cross-axis-alignment cef_cross_axis_alignment_t Specifies where along the cross axis the child views should be laid out. :minimum-cross-axis-size int Minimum cross axis size. :default-flex int Default flex for views when none is specified via CefBoxLayout methods. Using the preferred size as the basis, free space along the main axis is distributed to views in the ratio of their flex weights. Similarly, if the views will overflow the parent, space is subtracted in these ratios. A flex of 0 means this view is not resized. Flex values must not be negative.
(map->browser)
(map->browser
{:as m
:keys [get-host can-go-back go-back can-go-forward go-forward is-loading
reload reload-ignore-cache stop-load get-identifier is-same is-popup
has-document get-main-frame get-focused-frame get-frame-byident
get-frame get-frame-count get-frame-identifiers get-frame-names]})
Make a CefBrowser Structure used to represent a 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.
:get-host (fn [CefBrowser]) -> CefBrowserHost Returns the browser host object. This function can only be called in the browser process.
:can-go-back (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate backwards.
:go-back (fn [CefBrowser]) -> void Navigate backwards.
:can-go-forward (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate forwards.
:go-forward (fn [CefBrowser]) -> void Navigate forwards.
:is-loading (fn [CefBrowser]) -> int Returns true (1) if the browser is currently loading.
:reload (fn [CefBrowser]) -> void Reload the current page.
:reload-ignore-cache (fn [CefBrowser]) -> void Reload the current page ignoring any cached data.
:stop-load (fn [CefBrowser]) -> void Stop loading the page.
:get-identifier (fn [CefBrowser]) -> int Returns the globally unique identifier for this browser. This value is also used as the tabId for extension APIs.
:is-same (fn [CefBrowser,CefBrowser]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:is-popup (fn [CefBrowser]) -> int Returns true (1) if the window is a popup window.
:has-document (fn [CefBrowser]) -> int Returns true (1) if a document has been loaded in the browser.
:get-main-frame (fn [CefBrowser]) -> CefFrame Returns the main (top-level) frame for the browser window.
:get-focused-frame (fn [CefBrowser]) -> CefFrame Returns the focused frame for the browser window.
:get-frame-byident (fn [CefBrowser,long]) -> CefFrame Returns the frame with the specified identifier, or NULL if not found.
:get-frame (fn [CefBrowser,CefStringUtf16]) -> CefFrame Returns the frame with the specified name, or NULL if not found.
:get-frame-count (fn [CefBrowser]) -> SizeT Returns the number of frames that currently exist.
:get-frame-identifiers (fn [CefBrowser,Pointer,Pointer]) -> void Returns the identifiers of all existing frames.
:get-frame-names (fn [CefBrowser,Pointer]) -> void Returns the names of all existing frames.
Make a CefBrowser Structure used to represent a 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. :get-host (fn [CefBrowser]) -> CefBrowserHost Returns the browser host object. This function can only be called in the browser process. :can-go-back (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate backwards. :go-back (fn [CefBrowser]) -> void Navigate backwards. :can-go-forward (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate forwards. :go-forward (fn [CefBrowser]) -> void Navigate forwards. :is-loading (fn [CefBrowser]) -> int Returns true (1) if the browser is currently loading. :reload (fn [CefBrowser]) -> void Reload the current page. :reload-ignore-cache (fn [CefBrowser]) -> void Reload the current page ignoring any cached data. :stop-load (fn [CefBrowser]) -> void Stop loading the page. :get-identifier (fn [CefBrowser]) -> int Returns the globally unique identifier for this browser. This value is also used as the tabId for extension APIs. :is-same (fn [CefBrowser,CefBrowser]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :is-popup (fn [CefBrowser]) -> int Returns true (1) if the window is a popup window. :has-document (fn [CefBrowser]) -> int Returns true (1) if a document has been loaded in the browser. :get-main-frame (fn [CefBrowser]) -> CefFrame Returns the main (top-level) frame for the browser window. :get-focused-frame (fn [CefBrowser]) -> CefFrame Returns the focused frame for the browser window. :get-frame-byident (fn [CefBrowser,long]) -> CefFrame Returns the frame with the specified identifier, or NULL if not found. :get-frame (fn [CefBrowser,CefStringUtf16]) -> CefFrame Returns the frame with the specified name, or NULL if not found. :get-frame-count (fn [CefBrowser]) -> SizeT Returns the number of frames that currently exist. :get-frame-identifiers (fn [CefBrowser,Pointer,Pointer]) -> void Returns the identifiers of all existing frames. :get-frame-names (fn [CefBrowser,Pointer]) -> void Returns the names of all existing frames.
(map->browser-host)
(map->browser-host
{:as m
:keys [get-browser close-browser try-close-browser set-focus
get-window-handle get-opener-window-handle has-view get-client
get-request-context get-zoom-level set-zoom-level run-file-dialog
start-download download-image print print-to-pdf find stop-finding
show-dev-tools close-dev-tools has-dev-tools send-dev-tools-message
execute-dev-tools-method add-dev-tools-message-observer
get-navigation-entries replace-misspelling add-word-to-dictionary
is-window-rendering-disabled was-resized was-hidden
notify-screen-info-changed invalidate send-external-begin-frame
send-key-event send-mouse-click-event send-mouse-move-event
send-mouse-wheel-event send-touch-event send-focus-event
send-capture-lost-event notify-move-or-resize-started
get-windowless-frame-rate set-windowless-frame-rate
ime-set-composition ime-commit-text ime-finish-composing-text
ime-cancel-composition drag-target-drag-enter drag-target-drag-over
drag-target-drag-leave drag-target-drop drag-source-ended-at
drag-source-system-drag-ended get-visible-navigation-entry
set-accessibility-state set-auto-resize-enabled get-extension
is-background-host set-audio-muted is-audio-muted]})
Make a CefBrowserHost Structure used to represent the browser process aspects of a browser window. The functions of this structure can only be called in the browser process. They may be called on any thread in that process unless otherwise indicated in the comments.
:get-browser (fn [CefBrowserHost]) -> CefBrowser Returns the hosted browser object.
:close-browser (fn [CefBrowserHost,int]) -> void Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |force_close| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |force_close| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to cef_life_span_handler_t::do_close() if the event handler allows the close or if |force_close| is true (1). See cef_life_span_handler_t::do_close() documentation for additional usage information.
:try-close-browser (fn [CefBrowserHost]) -> int Helper for closing a browser. Call this function from the top-level window close handler. Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See close_browser() and cef_life_span_handler_t::do_close() documentation for additional usage information. This function must be called on the browser process UI thread.
:set-focus (fn [CefBrowserHost,int]) -> void Set whether the browser is focused.
:has-view (fn [CefBrowserHost]) -> int Returns true (1) if this browser is wrapped in a cef_browser_view_t.
:get-client (fn [CefBrowserHost]) -> CefClient Returns the client for this browser.
:get-request-context (fn [CefBrowserHost]) -> CefRequestContext Returns the request context for this browser.
:get-zoom-level (fn [CefBrowserHost]) -> double Get the current zoom level. The default zoom level is 0.0. This function can only be called on the UI thread.
:set-zoom-level (fn [CefBrowserHost,double]) -> void Change the zoom level to the specified value. Specify 0.0 to reset the zoom level. If called on the UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the UI thread.
:run-file-dialog (fn [CefBrowserHost,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefRunFileDialogCallback]) -> void Call to run a file chooser dialog. Only a single file chooser dialog may be pending at any given time. |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 will be initially selected in the dialog. |accept_filters| are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/" or "image/"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that will be selected by default. |callback| will be executed after the dialog is dismissed or immediately if another dialog is already pending. The dialog will be initiated asynchronously on the UI thread.
:start-download (fn [CefBrowserHost,CefStringUtf16]) -> void Download the file at |url| using cef_download_handler_t.
:download-image (fn [CefBrowserHost,CefStringUtf16,int,int,int,CefDownloadImageCallback]) -> void Download |image_url| and execute |callback| on completion with the images received from the renderer. If |is_favicon| is true (1) then cookies are not sent and not accepted during download. Images with density independent pixel (DIP) sizes larger than |max_image_size| are filtered out from the image results. Versions of the image at different scale factors may be downloaded up to the maximum scale factor supported by the system. If there are no image results <= |max_image_size| then the smallest image is resized to |max_image_size| and is the only result. A |max_image_size| of 0 means unlimited. If |bypass_cache| is true (1) then |image_url| is requested from the server even if it is present in the browser cache.
:print (fn [CefBrowserHost]) -> void Print the current browser contents.
:print-to-pdf (fn [CefBrowserHost,CefStringUtf16,CefPdfPrintSettings,CefPdfPrintCallback]) -> void Print the current browser contents to the PDF file specified by |path| and execute |callback| on completion. The caller is responsible for deleting |path| when done. For PDF printing to work on Linux you must implement the cef_print_handler_t::GetPdfPaperSize function.
:find (fn [CefBrowserHost,int,CefStringUtf16,int,int,int]) -> void Search for |searchText|. |identifier| must be a unique ID and these IDs must strictly increase so that newer requests always have greater IDs than older requests. If |identifier| is zero or less than the previous ID value then it will be automatically assigned a new valid ID. |forward| indicates whether to search forward or backward within the page. |matchCase| indicates whether the search should be case-sensitive. |findNext| indicates whether this is the first request or a follow-up. The cef_find_handler_t instance, if any, returned via cef_client_t::GetFindHandler will be called to report find results.
:stop-finding (fn [CefBrowserHost,int]) -> void Cancel all searches that are currently going on.
:show-dev-tools (fn [CefBrowserHost,Pointer,CefClient,CefBrowserSettings,CefPoint]) -> void Open developer tools (DevTools) in its own browser. The DevTools browser will remain associated with this browser. If the DevTools browser is already open then it will be focused, in which case the |windowInfo|, |client| and |settings| parameters will be ignored. If |inspect_element_at| is non-NULL then the element at the specified (x,y) location will be inspected. The |windowInfo| parameter will be ignored if this browser is wrapped in a cef_browser_view_t.
:close-dev-tools (fn [CefBrowserHost]) -> void Explicitly close the associated DevTools browser, if any.
:has-dev-tools (fn [CefBrowserHost]) -> int Returns true (1) if this browser currently has an associated DevTools browser. Must be called on the browser process UI thread.
:send-dev-tools-message (fn [CefBrowserHost,Pointer,SizeT]) -> int
Send a function call message over the DevTools protocol. |message| must be
a UTF8-encoded JSON dictionary that contains "id" (int), "function"
(string) and "params" (dictionary, optional) values. See the DevTools
protocol documentation at https://chromedevtools.github.io/devtools-
protocol/ for details of supported functions and the expected "params"
dictionary contents. |message| will be copied if necessary. This function
will return true (1) if called on the UI thread and the message was
successfully submitted for validation, otherwise false (0). Validation will
be applied asynchronously and any messages that fail due to formatting
errors or missing parameters may be discarded without notification. Prefer
ExecuteDevToolsMethod if a more structured approach to message formatting
is desired.
Every valid function call will result in an asynchronous function result or
error message that references the sent message "id". Event messages are
received while notifications are enabled (for example, between function
calls for "Page.enable" and "Page.disable"). All received messages will be
delivered to the observer(s) registered with AddDevToolsMessageObserver.
See cef_dev_tools_message_observer_t::OnDevToolsMessage documentation for
details of received message contents.
Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and
AddDevToolsMessageObserver functions does not require an active DevTools
front-end or remote-debugging session. Other active DevTools sessions will
continue to function independently. However, any modification of global
browser state by one session may not be reflected in the UI of other
sessions.
Communication with the DevTools front-end (when displayed) can be logged
for development purposes by passing the --devtools-protocol-log- file=<path>
command-line flag.
:execute-dev-tools-method (fn [CefBrowserHost,int,CefStringUtf16,CefDictionaryValue]) -> int Execute a function call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. |message_id| is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values). |function| is the function name. |params| are the function parameters, which may be NULL. See the DevTools protocol documentation (linked above) for details of supported functions and the expected |params| dictionary contents. This function will return the assigned message ID if called on the UI thread and the message was successfully submitted for validation, otherwise 0. See the SendDevToolsMessage documentation for additional usage information.
:add-dev-tools-message-observer (fn [CefBrowserHost,CefDevToolsMessageObserver]) -> CefRegistration Add an observer for DevTools protocol messages (function results and events). The observer will remain registered until the returned Registration object is destroyed. See the SendDevToolsMessage documentation for additional usage information.
:get-navigation-entries (fn [CefBrowserHost,CefNavigationEntryVisitor,int]) -> void Retrieve a snapshot of current navigation entries as values sent to the specified visitor. If |current_only| is true (1) only the current navigation entry will be sent, otherwise all navigation entries will be sent.
:replace-misspelling (fn [CefBrowserHost,CefStringUtf16]) -> void If a misspelled word is currently selected in an editable node calling this function will replace it with the specified |word|.
:add-word-to-dictionary (fn [CefBrowserHost,CefStringUtf16]) -> void Add the specified |word| to the spelling dictionary.
:is-window-rendering-disabled (fn [CefBrowserHost]) -> int Returns true (1) if window rendering is disabled.
:was-resized (fn [CefBrowserHost]) -> void Notify the browser that the widget has been resized. The browser will first call cef_render_handler_t::GetViewRect to get the new size and then call cef_render_handler_t::OnPaint asynchronously with the updated regions. This function is only used when window rendering is disabled.
:was-hidden (fn [CefBrowserHost,int]) -> void Notify the browser that it has been hidden or shown. Layouting and cef_render_handler_t::OnPaint notification will stop when the browser is hidden. This function is only used when window rendering is disabled.
:notify-screen-info-changed (fn [CefBrowserHost]) -> void Send a notification to the browser that the screen info has changed. The browser will then call cef_render_handler_t::GetScreenInfo to update the screen information with the new values. This simulates moving the webview window from one display to another, or changing the properties of the current display. This function is only used when window rendering is disabled.
:invalidate (fn [CefBrowserHost,int]) -> void Invalidate the view. The browser will call cef_render_handler_t::OnPaint asynchronously. This function is only used when window rendering is disabled.
:send-external-begin-frame (fn [CefBrowserHost]) -> void Issue a BeginFrame request to Chromium. Only valid when cef_window_tInfo::external_begin_frame_enabled is set to true (1).
:send-key-event (fn [CefBrowserHost,CefKeyEvent]) -> void Send a key event to the browser.
:send-mouse-click-event (fn [CefBrowserHost,CefMouseEvent,int,int,int]) -> void Send a mouse click event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view.
:send-mouse-move-event (fn [CefBrowserHost,CefMouseEvent,int]) -> void Send a mouse move event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view.
:send-mouse-wheel-event (fn [CefBrowserHost,CefMouseEvent,int,int]) -> void Send a mouse wheel event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. The |deltaX| and |deltaY| values represent the movement delta in the X and Y directions respectively. In order to scroll inside select popups with window rendering disabled cef_render_handler_t::GetScreenPoint should be implemented properly.
:send-touch-event (fn [CefBrowserHost,CefTouchEvent]) -> void Send a touch event to the browser for a windowless browser.
:send-focus-event (fn [CefBrowserHost,int]) -> void Send a focus event to the browser.
:send-capture-lost-event (fn [CefBrowserHost]) -> void Send a capture lost event to the browser.
:notify-move-or-resize-started (fn [CefBrowserHost]) -> void Notify the browser that the window hosting it is about to be moved or resized. This function is only used on Windows and Linux.
:get-windowless-frame-rate (fn [CefBrowserHost]) -> int Returns the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This function can only be called on the UI thread.
:set-windowless-frame-rate (fn [CefBrowserHost,int]) -> void Set the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). Can also be set at browser creation via cef_browser_tSettings.windowless_frame_rate.
:ime-set-composition (fn [CefBrowserHost,CefStringUtf16,SizeT,CefCompositionUnderline,CefRange,CefRange]) -> void Begins a new composition or updates the existing composition. Blink has a special node (a composition node) that allows the input function to change text without affecting other DOM nodes. |text| is the optional text that will be inserted into the composition node. |underlines| is an optional set of ranges that will be underlined in the resulting text. |replacement_range| is an optional range of the existing text that will be replaced. |selection_range| is an optional range of the resulting text that will be selected after insertion or replacement. The |replacement_range| value is only used on OS X. This function may be called multiple times as the composition changes. When the client is done making changes the composition should either be canceled or completed. To cancel the composition call ImeCancelComposition. To complete the composition call either ImeCommitText or ImeFinishComposingText. Completion is usually signaled when: A. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR flag (on Windows), or; B. The client receives a "commit" signal of GtkIMContext (on Linux), or; C. insertText of NSTextInput is called (on Mac). This function is only used when window rendering is disabled.
:ime-commit-text (fn [CefBrowserHost,CefStringUtf16,CefRange,int]) -> void Completes the existing composition by optionally inserting the specified |text| into the composition node. |replacement_range| is an optional range of the existing text that will be replaced. |relative_cursor_pos| is where the cursor will be positioned relative to the current cursor position. See comments on ImeSetComposition for usage. The |replacement_range| and |relative_cursor_pos| values are only used on OS X. This function is only used when window rendering is disabled.
:ime-finish-composing-text (fn [CefBrowserHost,int]) -> void Completes the existing composition by applying the current composition node contents. If |keep_selection| is false (0) the current selection, if any, will be discarded. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled.
:ime-cancel-composition (fn [CefBrowserHost]) -> void Cancels the existing composition and discards the composition node contents without applying them. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled.
:drag-target-drag-enter (fn [CefBrowserHost,CefDragData,CefMouseEvent,int]) -> void Call this function when the user drags the mouse into the web view (before calling DragTargetDragOver/DragTargetLeave/DragTargetDrop). |drag_data| should not contain file contents as this type of data is not allowed to be dragged into the web view. File contents can be removed using cef_drag_data_t::ResetFileContents (for example, if |drag_data| comes from cef_render_handler_t::StartDragging). This function is only used when window rendering is disabled.
:drag-target-drag-over (fn [CefBrowserHost,CefMouseEvent,int]) -> void Call this function each time the mouse is moved across the web view during a drag operation (after calling DragTargetDragEnter and before calling DragTargetDragLeave/DragTargetDrop). This function is only used when window rendering is disabled.
:drag-target-drag-leave (fn [CefBrowserHost]) -> void Call this function when the user drags the mouse out of the web view (after calling DragTargetDragEnter). This function is only used when window rendering is disabled.
:drag-target-drop (fn [CefBrowserHost,CefMouseEvent]) -> void Call this function when the user completes the drag operation by dropping the object onto the web view (after calling DragTargetDragEnter). The object being dropped is |drag_data|, given as an argument to the previous DragTargetDragEnter call. This function is only used when window rendering is disabled.
:drag-source-ended-at (fn [CefBrowserHost,int,int,int]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has ended either in a drop or by being cancelled. |x| and |y| are mouse coordinates relative to the upper- left corner of the view. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled.
:drag-source-system-drag-ended (fn [CefBrowserHost]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has completed. This function may be called immediately without first calling DragSourceEndedAt to cancel a drag operation. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled.
:get-visible-navigation-entry (fn [CefBrowserHost]) -> CefNavigationEntry Returns the current visible navigation entry for this browser. This function can only be called on the UI thread.
:set-accessibility-state (fn [CefBrowserHost,int]) -> void Set accessibility state for all frames. |accessibility_state| may be default, enabled or disabled. If |accessibility_state| is STATE_DEFAULT then accessibility will be disabled by default and the state may be further controlled with the "force-renderer-accessibility" and "disable-renderer- accessibility" command-line switches. If |accessibility_state| is STATE_ENABLED then accessibility will be enabled. If |accessibility_state| is STATE_DISABLED then accessibility will be completely disabled. For windowed browsers accessibility will be enabled in Complete mode (which corresponds to kAccessibilityModeComplete in Chromium). In this mode all platform accessibility objects will be created and managed by Chromium's internal implementation. The client needs only to detect the screen reader and call this function appropriately. For example, on macOS the client can handle the @"AXEnhancedUserStructure" accessibility attribute to detect VoiceOver state changes and on Windows the client can handle WM_GETOBJECT with OBJID_CLIENT to detect accessibility readers. For windowless browsers accessibility will be enabled in TreeOnly mode (which corresponds to kAccessibilityModeWebContentsOnly in Chromium). In this mode renderer accessibility is enabled, the full tree is computed, and events are passed to CefAccessibiltyHandler, but platform accessibility objects are not created. The client may implement platform accessibility objects using CefAccessibiltyHandler callbacks if desired.
:set-auto-resize-enabled (fn [CefBrowserHost,int,CefSize,CefSize]) -> void Enable notifications of auto resize via cef_display_handler_t::OnAutoResize. Notifications are disabled by default. |min_size| and |max_size| define the range of allowed sizes.
:get-extension (fn [CefBrowserHost]) -> CefExtension Returns the extension hosted in this browser or NULL if no extension is hosted. See cef_request_context_t::LoadExtension for details.
:is-background-host (fn [CefBrowserHost]) -> int Returns true (1) if this browser is hosting an extension background script. Background hosts do not have a window and are not displayable. See cef_request_context_t::LoadExtension for details.
:set-audio-muted (fn [CefBrowserHost,int]) -> void Set whether the browser's audio is muted.
:is-audio-muted (fn [CefBrowserHost]) -> int Returns true (1) if the browser's audio is muted. This function can only be called on the UI thread.
Make a CefBrowserHost Structure used to represent the browser process aspects of a browser window. The functions of this structure can only be called in the browser process. They may be called on any thread in that process unless otherwise indicated in the comments. :get-browser (fn [CefBrowserHost]) -> CefBrowser Returns the hosted browser object. :close-browser (fn [CefBrowserHost,int]) -> void Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |force_close| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |force_close| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to cef_life_span_handler_t::do_close() if the event handler allows the close or if |force_close| is true (1). See cef_life_span_handler_t::do_close() documentation for additional usage information. :try-close-browser (fn [CefBrowserHost]) -> int Helper for closing a browser. Call this function from the top-level window close handler. Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See close_browser() and cef_life_span_handler_t::do_close() documentation for additional usage information. This function must be called on the browser process UI thread. :set-focus (fn [CefBrowserHost,int]) -> void Set whether the browser is focused. :has-view (fn [CefBrowserHost]) -> int Returns true (1) if this browser is wrapped in a cef_browser_view_t. :get-client (fn [CefBrowserHost]) -> CefClient Returns the client for this browser. :get-request-context (fn [CefBrowserHost]) -> CefRequestContext Returns the request context for this browser. :get-zoom-level (fn [CefBrowserHost]) -> double Get the current zoom level. The default zoom level is 0.0. This function can only be called on the UI thread. :set-zoom-level (fn [CefBrowserHost,double]) -> void Change the zoom level to the specified value. Specify 0.0 to reset the zoom level. If called on the UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the UI thread. :run-file-dialog (fn [CefBrowserHost,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefRunFileDialogCallback]) -> void Call to run a file chooser dialog. Only a single file chooser dialog may be pending at any given time. |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 will be initially selected in the dialog. |accept_filters| are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that will be selected by default. |callback| will be executed after the dialog is dismissed or immediately if another dialog is already pending. The dialog will be initiated asynchronously on the UI thread. :start-download (fn [CefBrowserHost,CefStringUtf16]) -> void Download the file at |url| using cef_download_handler_t. :download-image (fn [CefBrowserHost,CefStringUtf16,int,int,int,CefDownloadImageCallback]) -> void Download |image_url| and execute |callback| on completion with the images received from the renderer. If |is_favicon| is true (1) then cookies are not sent and not accepted during download. Images with density independent pixel (DIP) sizes larger than |max_image_size| are filtered out from the image results. Versions of the image at different scale factors may be downloaded up to the maximum scale factor supported by the system. If there are no image results <= |max_image_size| then the smallest image is resized to |max_image_size| and is the only result. A |max_image_size| of 0 means unlimited. If |bypass_cache| is true (1) then |image_url| is requested from the server even if it is present in the browser cache. :print (fn [CefBrowserHost]) -> void Print the current browser contents. :print-to-pdf (fn [CefBrowserHost,CefStringUtf16,CefPdfPrintSettings,CefPdfPrintCallback]) -> void Print the current browser contents to the PDF file specified by |path| and execute |callback| on completion. The caller is responsible for deleting |path| when done. For PDF printing to work on Linux you must implement the cef_print_handler_t::GetPdfPaperSize function. :find (fn [CefBrowserHost,int,CefStringUtf16,int,int,int]) -> void Search for |searchText|. |identifier| must be a unique ID and these IDs must strictly increase so that newer requests always have greater IDs than older requests. If |identifier| is zero or less than the previous ID value then it will be automatically assigned a new valid ID. |forward| indicates whether to search forward or backward within the page. |matchCase| indicates whether the search should be case-sensitive. |findNext| indicates whether this is the first request or a follow-up. The cef_find_handler_t instance, if any, returned via cef_client_t::GetFindHandler will be called to report find results. :stop-finding (fn [CefBrowserHost,int]) -> void Cancel all searches that are currently going on. :show-dev-tools (fn [CefBrowserHost,Pointer,CefClient,CefBrowserSettings,CefPoint]) -> void Open developer tools (DevTools) in its own browser. The DevTools browser will remain associated with this browser. If the DevTools browser is already open then it will be focused, in which case the |windowInfo|, |client| and |settings| parameters will be ignored. If |inspect_element_at| is non-NULL then the element at the specified (x,y) location will be inspected. The |windowInfo| parameter will be ignored if this browser is wrapped in a cef_browser_view_t. :close-dev-tools (fn [CefBrowserHost]) -> void Explicitly close the associated DevTools browser, if any. :has-dev-tools (fn [CefBrowserHost]) -> int Returns true (1) if this browser currently has an associated DevTools browser. Must be called on the browser process UI thread. :send-dev-tools-message (fn [CefBrowserHost,Pointer,SizeT]) -> int Send a function call message over the DevTools protocol. |message| must be a UTF8-encoded JSON dictionary that contains "id" (int), "function" (string) and "params" (dictionary, optional) values. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools- protocol/ for details of supported functions and the expected "params" dictionary contents. |message| will be copied if necessary. This function will return true (1) if called on the UI thread and the message was successfully submitted for validation, otherwise false (0). Validation will be applied asynchronously and any messages that fail due to formatting errors or missing parameters may be discarded without notification. Prefer ExecuteDevToolsMethod if a more structured approach to message formatting is desired. Every valid function call will result in an asynchronous function result or error message that references the sent message "id". Event messages are received while notifications are enabled (for example, between function calls for "Page.enable" and "Page.disable"). All received messages will be delivered to the observer(s) registered with AddDevToolsMessageObserver. See cef_dev_tools_message_observer_t::OnDevToolsMessage documentation for details of received message contents. Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and AddDevToolsMessageObserver functions does not require an active DevTools front-end or remote-debugging session. Other active DevTools sessions will continue to function independently. However, any modification of global browser state by one session may not be reflected in the UI of other sessions. Communication with the DevTools front-end (when displayed) can be logged for development purposes by passing the `--devtools-protocol-log- file=<path>` command-line flag. :execute-dev-tools-method (fn [CefBrowserHost,int,CefStringUtf16,CefDictionaryValue]) -> int Execute a function call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. |message_id| is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values). |function| is the function name. |params| are the function parameters, which may be NULL. See the DevTools protocol documentation (linked above) for details of supported functions and the expected |params| dictionary contents. This function will return the assigned message ID if called on the UI thread and the message was successfully submitted for validation, otherwise 0. See the SendDevToolsMessage documentation for additional usage information. :add-dev-tools-message-observer (fn [CefBrowserHost,CefDevToolsMessageObserver]) -> CefRegistration Add an observer for DevTools protocol messages (function results and events). The observer will remain registered until the returned Registration object is destroyed. See the SendDevToolsMessage documentation for additional usage information. :get-navigation-entries (fn [CefBrowserHost,CefNavigationEntryVisitor,int]) -> void Retrieve a snapshot of current navigation entries as values sent to the specified visitor. If |current_only| is true (1) only the current navigation entry will be sent, otherwise all navigation entries will be sent. :replace-misspelling (fn [CefBrowserHost,CefStringUtf16]) -> void If a misspelled word is currently selected in an editable node calling this function will replace it with the specified |word|. :add-word-to-dictionary (fn [CefBrowserHost,CefStringUtf16]) -> void Add the specified |word| to the spelling dictionary. :is-window-rendering-disabled (fn [CefBrowserHost]) -> int Returns true (1) if window rendering is disabled. :was-resized (fn [CefBrowserHost]) -> void Notify the browser that the widget has been resized. The browser will first call cef_render_handler_t::GetViewRect to get the new size and then call cef_render_handler_t::OnPaint asynchronously with the updated regions. This function is only used when window rendering is disabled. :was-hidden (fn [CefBrowserHost,int]) -> void Notify the browser that it has been hidden or shown. Layouting and cef_render_handler_t::OnPaint notification will stop when the browser is hidden. This function is only used when window rendering is disabled. :notify-screen-info-changed (fn [CefBrowserHost]) -> void Send a notification to the browser that the screen info has changed. The browser will then call cef_render_handler_t::GetScreenInfo to update the screen information with the new values. This simulates moving the webview window from one display to another, or changing the properties of the current display. This function is only used when window rendering is disabled. :invalidate (fn [CefBrowserHost,int]) -> void Invalidate the view. The browser will call cef_render_handler_t::OnPaint asynchronously. This function is only used when window rendering is disabled. :send-external-begin-frame (fn [CefBrowserHost]) -> void Issue a BeginFrame request to Chromium. Only valid when cef_window_tInfo::external_begin_frame_enabled is set to true (1). :send-key-event (fn [CefBrowserHost,CefKeyEvent]) -> void Send a key event to the browser. :send-mouse-click-event (fn [CefBrowserHost,CefMouseEvent,int,int,int]) -> void Send a mouse click event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. :send-mouse-move-event (fn [CefBrowserHost,CefMouseEvent,int]) -> void Send a mouse move event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. :send-mouse-wheel-event (fn [CefBrowserHost,CefMouseEvent,int,int]) -> void Send a mouse wheel event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. The |deltaX| and |deltaY| values represent the movement delta in the X and Y directions respectively. In order to scroll inside select popups with window rendering disabled cef_render_handler_t::GetScreenPoint should be implemented properly. :send-touch-event (fn [CefBrowserHost,CefTouchEvent]) -> void Send a touch event to the browser for a windowless browser. :send-focus-event (fn [CefBrowserHost,int]) -> void Send a focus event to the browser. :send-capture-lost-event (fn [CefBrowserHost]) -> void Send a capture lost event to the browser. :notify-move-or-resize-started (fn [CefBrowserHost]) -> void Notify the browser that the window hosting it is about to be moved or resized. This function is only used on Windows and Linux. :get-windowless-frame-rate (fn [CefBrowserHost]) -> int Returns the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This function can only be called on the UI thread. :set-windowless-frame-rate (fn [CefBrowserHost,int]) -> void Set the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). Can also be set at browser creation via cef_browser_tSettings.windowless_frame_rate. :ime-set-composition (fn [CefBrowserHost,CefStringUtf16,SizeT,CefCompositionUnderline,CefRange,CefRange]) -> void Begins a new composition or updates the existing composition. Blink has a special node (a composition node) that allows the input function to change text without affecting other DOM nodes. |text| is the optional text that will be inserted into the composition node. |underlines| is an optional set of ranges that will be underlined in the resulting text. |replacement_range| is an optional range of the existing text that will be replaced. |selection_range| is an optional range of the resulting text that will be selected after insertion or replacement. The |replacement_range| value is only used on OS X. This function may be called multiple times as the composition changes. When the client is done making changes the composition should either be canceled or completed. To cancel the composition call ImeCancelComposition. To complete the composition call either ImeCommitText or ImeFinishComposingText. Completion is usually signaled when: A. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR flag (on Windows), or; B. The client receives a "commit" signal of GtkIMContext (on Linux), or; C. insertText of NSTextInput is called (on Mac). This function is only used when window rendering is disabled. :ime-commit-text (fn [CefBrowserHost,CefStringUtf16,CefRange,int]) -> void Completes the existing composition by optionally inserting the specified |text| into the composition node. |replacement_range| is an optional range of the existing text that will be replaced. |relative_cursor_pos| is where the cursor will be positioned relative to the current cursor position. See comments on ImeSetComposition for usage. The |replacement_range| and |relative_cursor_pos| values are only used on OS X. This function is only used when window rendering is disabled. :ime-finish-composing-text (fn [CefBrowserHost,int]) -> void Completes the existing composition by applying the current composition node contents. If |keep_selection| is false (0) the current selection, if any, will be discarded. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled. :ime-cancel-composition (fn [CefBrowserHost]) -> void Cancels the existing composition and discards the composition node contents without applying them. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled. :drag-target-drag-enter (fn [CefBrowserHost,CefDragData,CefMouseEvent,int]) -> void Call this function when the user drags the mouse into the web view (before calling DragTargetDragOver/DragTargetLeave/DragTargetDrop). |drag_data| should not contain file contents as this type of data is not allowed to be dragged into the web view. File contents can be removed using cef_drag_data_t::ResetFileContents (for example, if |drag_data| comes from cef_render_handler_t::StartDragging). This function is only used when window rendering is disabled. :drag-target-drag-over (fn [CefBrowserHost,CefMouseEvent,int]) -> void Call this function each time the mouse is moved across the web view during a drag operation (after calling DragTargetDragEnter and before calling DragTargetDragLeave/DragTargetDrop). This function is only used when window rendering is disabled. :drag-target-drag-leave (fn [CefBrowserHost]) -> void Call this function when the user drags the mouse out of the web view (after calling DragTargetDragEnter). This function is only used when window rendering is disabled. :drag-target-drop (fn [CefBrowserHost,CefMouseEvent]) -> void Call this function when the user completes the drag operation by dropping the object onto the web view (after calling DragTargetDragEnter). The object being dropped is |drag_data|, given as an argument to the previous DragTargetDragEnter call. This function is only used when window rendering is disabled. :drag-source-ended-at (fn [CefBrowserHost,int,int,int]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has ended either in a drop or by being cancelled. |x| and |y| are mouse coordinates relative to the upper- left corner of the view. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled. :drag-source-system-drag-ended (fn [CefBrowserHost]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has completed. This function may be called immediately without first calling DragSourceEndedAt to cancel a drag operation. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled. :get-visible-navigation-entry (fn [CefBrowserHost]) -> CefNavigationEntry Returns the current visible navigation entry for this browser. This function can only be called on the UI thread. :set-accessibility-state (fn [CefBrowserHost,int]) -> void Set accessibility state for all frames. |accessibility_state| may be default, enabled or disabled. If |accessibility_state| is STATE_DEFAULT then accessibility will be disabled by default and the state may be further controlled with the "force-renderer-accessibility" and "disable-renderer- accessibility" command-line switches. If |accessibility_state| is STATE_ENABLED then accessibility will be enabled. If |accessibility_state| is STATE_DISABLED then accessibility will be completely disabled. For windowed browsers accessibility will be enabled in Complete mode (which corresponds to kAccessibilityModeComplete in Chromium). In this mode all platform accessibility objects will be created and managed by Chromium's internal implementation. The client needs only to detect the screen reader and call this function appropriately. For example, on macOS the client can handle the @"AXEnhancedUserStructure" accessibility attribute to detect VoiceOver state changes and on Windows the client can handle WM_GETOBJECT with OBJID_CLIENT to detect accessibility readers. For windowless browsers accessibility will be enabled in TreeOnly mode (which corresponds to kAccessibilityModeWebContentsOnly in Chromium). In this mode renderer accessibility is enabled, the full tree is computed, and events are passed to CefAccessibiltyHandler, but platform accessibility objects are not created. The client may implement platform accessibility objects using CefAccessibiltyHandler callbacks if desired. :set-auto-resize-enabled (fn [CefBrowserHost,int,CefSize,CefSize]) -> void Enable notifications of auto resize via cef_display_handler_t::OnAutoResize. Notifications are disabled by default. |min_size| and |max_size| define the range of allowed sizes. :get-extension (fn [CefBrowserHost]) -> CefExtension Returns the extension hosted in this browser or NULL if no extension is hosted. See cef_request_context_t::LoadExtension for details. :is-background-host (fn [CefBrowserHost]) -> int Returns true (1) if this browser is hosting an extension background script. Background hosts do not have a window and are not displayable. See cef_request_context_t::LoadExtension for details. :set-audio-muted (fn [CefBrowserHost,int]) -> void Set whether the browser's audio is muted. :is-audio-muted (fn [CefBrowserHost]) -> int Returns true (1) if the browser's audio is muted. This function can only be called on the UI thread.
(map->browser-process-handler)
(map->browser-process-handler
{:as m
:keys [get-cookieable-schemes on-context-initialized
on-before-child-process-launch get-print-handler
on-schedule-message-pump-work get-default-client]})
Make a CefBrowserProcessHandler Structure used to implement browser process callbacks. The functions of this structure will be called on the browser process main thread unless otherwise indicated.
:get-cookieable-schemes (fn [CefBrowserProcessHandler,Pointer,Pointer]) -> void Called on the browser process UI thread to retrieve the list of schemes that should support cookies. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Providing an NULL |schemes| value and setting |include_defaults| to false (0) will disable all loading and saving of cookies. This state will apply to the cef_cookie_manager_t associated with the global cef_request_context_t. It will also be used as the initial state for any new cef_request_context_ts created by the client. After creating a new cef_request_context_t the cef_cookie_manager_t::SetSupportedSchemes function may be called on the associated cef_cookie_manager_t to futher override these values.
:on-context-initialized (fn [CefBrowserProcessHandler]) -> void Called on the browser process UI thread immediately after the CEF context has been initialized.
:on-before-child-process-launch (fn [CefBrowserProcessHandler,CefCommandLine]) -> void 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 or plugin process. Provides an opportunity to modify the child process command line. Do not keep a reference to |command_line| outside of this function.
:get-print-handler (fn [CefBrowserProcessHandler]) -> CefPrintHandler Return the handler for printing on Linux. If a print handler is not provided then printing will not be supported on the Linux platform.
:on-schedule-message-pump-work (fn [CefBrowserProcessHandler,long]) -> void Called from any thread when work has been scheduled for the browser process main (UI) thread. This callback is used in combination with CefSettings. 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.
:get-default-client (fn [CefBrowserProcessHandler]) -> CefClient Return the default client for use with a newly created browser window. If null is returned the browser will be unmanaged (no callbacks will be executed for that browser) and application shutdown will be blocked until the browser window is closed manually. This function is currently only used with the chrome runtime.
Make a CefBrowserProcessHandler Structure used to implement browser process callbacks. The functions of this structure will be called on the browser process main thread unless otherwise indicated. :get-cookieable-schemes (fn [CefBrowserProcessHandler,Pointer,Pointer]) -> void Called on the browser process UI thread to retrieve the list of schemes that should support cookies. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Providing an NULL |schemes| value and setting |include_defaults| to false (0) will disable all loading and saving of cookies. This state will apply to the cef_cookie_manager_t associated with the global cef_request_context_t. It will also be used as the initial state for any new cef_request_context_ts created by the client. After creating a new cef_request_context_t the cef_cookie_manager_t::SetSupportedSchemes function may be called on the associated cef_cookie_manager_t to futher override these values. :on-context-initialized (fn [CefBrowserProcessHandler]) -> void Called on the browser process UI thread immediately after the CEF context has been initialized. :on-before-child-process-launch (fn [CefBrowserProcessHandler,CefCommandLine]) -> void 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 or plugin process. Provides an opportunity to modify the child process command line. Do not keep a reference to |command_line| outside of this function. :get-print-handler (fn [CefBrowserProcessHandler]) -> CefPrintHandler Return the handler for printing on Linux. If a print handler is not provided then printing will not be supported on the Linux platform. :on-schedule-message-pump-work (fn [CefBrowserProcessHandler,long]) -> void Called from any thread when work has been scheduled for the browser process main (UI) thread. This callback is used in combination with CefSettings. 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. :get-default-client (fn [CefBrowserProcessHandler]) -> CefClient Return the default client for use with a newly created browser window. If null is returned the browser will be unmanaged (no callbacks will be executed for that browser) and application shutdown will be blocked until the browser window is closed manually. This function is currently only used with the chrome runtime.
(map->browser-settings)
(map->browser-settings
{:as m
:keys [size windowless-frame-rate standard-font-family fixed-font-family
serif-font-family sans-serif-font-family cursive-font-family
fantasy-font-family default-font-size default-fixed-font-size
minimum-font-size minimum-logical-font-size default-encoding
remote-fonts javascript javascript-close-windows
javascript-access-clipboard javascript-dom-paste plugins
universal-access-from-file-urls file-access-from-file-urls
web-security image-loading image-shrink-standalone-to-fit
text-area-resize tab-to-links local-storage databases
application-cache webgl background-color accept-language-list]})
Make a CefBrowserSettings Browser initialization settings. Specify NULL or 0 to get the recommended default values. The consequences of using custom values may not be well tested. Many of these and other settings can also configured using command- line switches.
:size size_t Size of this structure.
:windowless-frame-rate int The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This value can also be changed dynamically via CefBrowserHost::SetWindowlessFrameRate.
:standard-font-family cef_string_t The below values map to WebPreferences settings. Font settings.
:default-encoding cef_string_t Default encoding for Web content. If empty "ISO-8859-1" will be used. Also configurable using the "default-encoding" command-line switch.
:remote-fonts cef_state_t Controls the loading of fonts from remote sources. Also configurable using the "disable-remote-fonts" command-line switch.
:javascript cef_state_t Controls whether JavaScript can be executed. Also configurable using the "disable-javascript" command-line switch.
:javascript-close-windows cef_state_t Controls whether JavaScript can be used to close windows that were not opened via JavaScript. JavaScript can still be used to close windows that were opened via JavaScript or that have no back/forward history. Also configurable using the "disable-javascript-close-windows" command-line switch.
:javascript-access-clipboard cef_state_t Controls whether JavaScript can access the clipboard. Also configurable using the "disable-javascript-access-clipboard" command-line switch.
:javascript-dom-paste cef_state_t Controls whether DOM pasting is supported in the editor via execCommand("paste"). The |javascript_access_clipboard| setting must also be enabled. Also configurable using the "disable-javascript-dom-paste" command-line switch.
:plugins cef_state_t Controls whether any plugins will be loaded. Also configurable using the "disable-plugins" command-line switch.
:universal-access-from-file-urls cef_state_t Controls whether file URLs will have access to all URLs. Also configurable using the "allow-universal-access-from-files" command-line switch.
:file-access-from-file-urls cef_state_t Controls whether file URLs will have access to other file URLs. Also configurable using the "allow-access-from-files" command-line switch.
:web-security cef_state_t Controls whether web security restrictions (same-origin policy) will be enforced. Disabling this setting is not recommend as it will allow risky security behavior such as cross-site scripting (XSS). Also configurable using the "disable-web-security" command-line switch.
:image-loading cef_state_t Controls whether image URLs will be loaded from the network. A cached image will still be rendered if requested. Also configurable using the "disable-image-loading" command-line switch.
:image-shrink-standalone-to-fit cef_state_t Controls whether standalone images will be shrunk to fit the page. Also configurable using the "image-shrink-standalone-to-fit" command-line switch.
:text-area-resize cef_state_t Controls whether text areas can be resized. Also configurable using the "disable-text-area-resize" command-line switch.
:tab-to-links cef_state_t Controls whether the tab key can advance focus to links. Also configurable using the "disable-tab-to-links" command-line switch.
:local-storage cef_state_t Controls whether local storage can be used. Also configurable using the "disable-local-storage" command-line switch.
:databases cef_state_t Controls whether databases can be used. Also configurable using the "disable-databases" command-line switch.
:application-cache cef_state_t Controls whether the application cache can be used. Also configurable using the "disable-application-cache" command-line switch.
:webgl cef_state_t Controls whether WebGL can be used. Note that WebGL requires hardware support and may not work on all systems even when enabled. Also configurable using the "disable-webgl" command-line switch.
:background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the CefSettings.background_color value will be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled.
:accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be set globally using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used.
Make a CefBrowserSettings Browser initialization settings. Specify NULL or 0 to get the recommended default values. The consequences of using custom values may not be well tested. Many of these and other settings can also configured using command- line switches. :size size_t Size of this structure. :windowless-frame-rate int The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This value can also be changed dynamically via CefBrowserHost::SetWindowlessFrameRate. :standard-font-family cef_string_t The below values map to WebPreferences settings. Font settings. :default-encoding cef_string_t Default encoding for Web content. If empty "ISO-8859-1" will be used. Also configurable using the "default-encoding" command-line switch. :remote-fonts cef_state_t Controls the loading of fonts from remote sources. Also configurable using the "disable-remote-fonts" command-line switch. :javascript cef_state_t Controls whether JavaScript can be executed. Also configurable using the "disable-javascript" command-line switch. :javascript-close-windows cef_state_t Controls whether JavaScript can be used to close windows that were not opened via JavaScript. JavaScript can still be used to close windows that were opened via JavaScript or that have no back/forward history. Also configurable using the "disable-javascript-close-windows" command-line switch. :javascript-access-clipboard cef_state_t Controls whether JavaScript can access the clipboard. Also configurable using the "disable-javascript-access-clipboard" command-line switch. :javascript-dom-paste cef_state_t Controls whether DOM pasting is supported in the editor via execCommand("paste"). The |javascript_access_clipboard| setting must also be enabled. Also configurable using the "disable-javascript-dom-paste" command-line switch. :plugins cef_state_t Controls whether any plugins will be loaded. Also configurable using the "disable-plugins" command-line switch. :universal-access-from-file-urls cef_state_t Controls whether file URLs will have access to all URLs. Also configurable using the "allow-universal-access-from-files" command-line switch. :file-access-from-file-urls cef_state_t Controls whether file URLs will have access to other file URLs. Also configurable using the "allow-access-from-files" command-line switch. :web-security cef_state_t Controls whether web security restrictions (same-origin policy) will be enforced. Disabling this setting is not recommend as it will allow risky security behavior such as cross-site scripting (XSS). Also configurable using the "disable-web-security" command-line switch. :image-loading cef_state_t Controls whether image URLs will be loaded from the network. A cached image will still be rendered if requested. Also configurable using the "disable-image-loading" command-line switch. :image-shrink-standalone-to-fit cef_state_t Controls whether standalone images will be shrunk to fit the page. Also configurable using the "image-shrink-standalone-to-fit" command-line switch. :text-area-resize cef_state_t Controls whether text areas can be resized. Also configurable using the "disable-text-area-resize" command-line switch. :tab-to-links cef_state_t Controls whether the tab key can advance focus to links. Also configurable using the "disable-tab-to-links" command-line switch. :local-storage cef_state_t Controls whether local storage can be used. Also configurable using the "disable-local-storage" command-line switch. :databases cef_state_t Controls whether databases can be used. Also configurable using the "disable-databases" command-line switch. :application-cache cef_state_t Controls whether the application cache can be used. Also configurable using the "disable-application-cache" command-line switch. :webgl cef_state_t Controls whether WebGL can be used. Note that WebGL requires hardware support and may not work on all systems even when enabled. Also configurable using the "disable-webgl" command-line switch. :background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the CefSettings.background_color value will be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled. :accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be set globally using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used.
(map->callback)
(map->callback {:as m :keys [cont cancel]})
Make a CefCallback Generic callback structure used for asynchronous continuation.
:cont (fn [CefCallback]) -> void Continue processing.
:cancel (fn [CefCallback]) -> void Cancel processing.
Make a CefCallback Generic callback structure used for asynchronous continuation. :cont (fn [CefCallback]) -> void Continue processing. :cancel (fn [CefCallback]) -> void Cancel processing.
(map->client)
(map->client {:as m
:keys [get-audio-handler get-context-menu-handler
get-dialog-handler get-display-handler get-download-handler
get-drag-handler get-find-handler get-focus-handler
get-jsdialog-handler get-keyboard-handler
get-life-span-handler get-load-handler get-render-handler
get-request-handler on-process-message-received]})
Make a CefClient Implement this structure to provide handler implementations.
:get-audio-handler (fn [CefClient]) -> CefAudioHandler Return the handler for audio rendering events.
:get-context-menu-handler (fn [CefClient]) -> CefContextMenuHandler Return the handler for context menus. If no handler is provided the default implementation will be used.
:get-dialog-handler (fn [CefClient]) -> CefDialogHandler Return the handler for dialogs. If no handler is provided the default implementation will be used.
:get-display-handler (fn [CefClient]) -> CefDisplayHandler Return the handler for browser display state events.
:get-download-handler (fn [CefClient]) -> CefDownloadHandler Return the handler for download events. If no handler is returned downloads will not be allowed.
:get-drag-handler (fn [CefClient]) -> CefDragHandler Return the handler for drag events.
:get-find-handler (fn [CefClient]) -> CefFindHandler Return the handler for find result events.
:get-focus-handler (fn [CefClient]) -> CefFocusHandler Return the handler for focus events.
:get-jsdialog-handler (fn [CefClient]) -> CefJsdialogHandler Return the handler for JavaScript dialogs. If no handler is provided the default implementation will be used.
:get-keyboard-handler (fn [CefClient]) -> CefKeyboardHandler Return the handler for keyboard events.
:get-life-span-handler (fn [CefClient]) -> CefLifeSpanHandler Return the handler for browser life span events.
:get-load-handler (fn [CefClient]) -> CefLoadHandler Return the handler for browser load status events.
:get-render-handler (fn [CefClient]) -> CefRenderHandler Return the handler for off-screen rendering events.
:get-request-handler (fn [CefClient]) -> CefRequestHandler Return the handler for browser request events.
:on-process-message-received (fn [CefClient,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
Make a CefClient Implement this structure to provide handler implementations. :get-audio-handler (fn [CefClient]) -> CefAudioHandler Return the handler for audio rendering events. :get-context-menu-handler (fn [CefClient]) -> CefContextMenuHandler Return the handler for context menus. If no handler is provided the default implementation will be used. :get-dialog-handler (fn [CefClient]) -> CefDialogHandler Return the handler for dialogs. If no handler is provided the default implementation will be used. :get-display-handler (fn [CefClient]) -> CefDisplayHandler Return the handler for browser display state events. :get-download-handler (fn [CefClient]) -> CefDownloadHandler Return the handler for download events. If no handler is returned downloads will not be allowed. :get-drag-handler (fn [CefClient]) -> CefDragHandler Return the handler for drag events. :get-find-handler (fn [CefClient]) -> CefFindHandler Return the handler for find result events. :get-focus-handler (fn [CefClient]) -> CefFocusHandler Return the handler for focus events. :get-jsdialog-handler (fn [CefClient]) -> CefJsdialogHandler Return the handler for JavaScript dialogs. If no handler is provided the default implementation will be used. :get-keyboard-handler (fn [CefClient]) -> CefKeyboardHandler Return the handler for keyboard events. :get-life-span-handler (fn [CefClient]) -> CefLifeSpanHandler Return the handler for browser life span events. :get-load-handler (fn [CefClient]) -> CefLoadHandler Return the handler for browser load status events. :get-render-handler (fn [CefClient]) -> CefRenderHandler Return the handler for off-screen rendering events. :get-request-handler (fn [CefClient]) -> CefRequestHandler Return the handler for browser request events. :on-process-message-received (fn [CefClient,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
(map->command-line)
(map->command-line {:as m
:keys [is-valid is-read-only copy init-from-argv
init-from-string reset get-argv
get-command-line-string get-program set-program
has-switches has-switch get-switch-value get-switches
append-switch append-switch-with-value has-arguments
get-arguments append-argument prepend-wrapper]})
Make a CefCommandLine 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 are considered case-insensitive. This structure can be used before cef_initialize() is called.
:is-valid (fn [CefCommandLine]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-read-only (fn [CefCommandLine]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:copy (fn [CefCommandLine]) -> CefCommandLine Returns a writable copy of this object.
:init-from-argv (fn [CefCommandLine,int,Pointer]) -> void 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.
:init-from-string (fn [CefCommandLine,CefStringUtf16]) -> void Initialize the command line with the string returned by calling GetCommandLineW(). This function is only supported on Windows.
:reset (fn [CefCommandLine]) -> void Reset the command-line switches and arguments but leave the program component unchanged.
:get-argv (fn [CefCommandLine,Pointer]) -> void Retrieve the original command line string as a vector of strings. The argv array: { program, [(--|-|/)switch[=value]], [--], [argument] }
:get-command-line-string (fn [CefCommandLine]) -> CefStringUtf16 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().
:get-program (fn [CefCommandLine]) -> CefStringUtf16 Get the program part of the command line string (the first item). The resulting string must be freed by calling cef_string_userfree_free().
:set-program (fn [CefCommandLine,CefStringUtf16]) -> void Set the program part of the command line string (the first item).
:has-switches (fn [CefCommandLine]) -> int Returns true (1) if the command line has switches.
:has-switch (fn [CefCommandLine,CefStringUtf16]) -> int Returns true (1) if the command line contains the given switch.
:get-switch-value (fn [CefCommandLine,CefStringUtf16]) -> CefStringUtf16 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().
:get-switches (fn [CefCommandLine,Pointer]) -> void Returns the map of switch names and values. If a switch has no value an NULL string is returned.
:append-switch (fn [CefCommandLine,CefStringUtf16]) -> void Add a switch to the end of the command line. If the switch has no value pass an NULL value string.
:append-switch-with-value (fn [CefCommandLine,CefStringUtf16,CefStringUtf16]) -> void Add a switch with the specified value to the end of the command line.
:has-arguments (fn [CefCommandLine]) -> int True if there are remaining command line arguments.
:get-arguments (fn [CefCommandLine,Pointer]) -> void Get the remaining command line arguments.
:append-argument (fn [CefCommandLine,CefStringUtf16]) -> void Add an argument to the end of the command line.
:prepend-wrapper (fn [CefCommandLine,CefStringUtf16]) -> void Insert a command before the current command. Common for debuggers, like "valgrind" or "gdb --args".
Make a CefCommandLine 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 are considered case-insensitive. This structure can be used before cef_initialize() is called. :is-valid (fn [CefCommandLine]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-read-only (fn [CefCommandLine]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :copy (fn [CefCommandLine]) -> CefCommandLine Returns a writable copy of this object. :init-from-argv (fn [CefCommandLine,int,Pointer]) -> void 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. :init-from-string (fn [CefCommandLine,CefStringUtf16]) -> void Initialize the command line with the string returned by calling GetCommandLineW(). This function is only supported on Windows. :reset (fn [CefCommandLine]) -> void Reset the command-line switches and arguments but leave the program component unchanged. :get-argv (fn [CefCommandLine,Pointer]) -> void Retrieve the original command line string as a vector of strings. The argv array: { program, [(--|-|/)switch[=value]]*, [--], [argument]* } :get-command-line-string (fn [CefCommandLine]) -> CefStringUtf16 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(). :get-program (fn [CefCommandLine]) -> CefStringUtf16 Get the program part of the command line string (the first item). The resulting string must be freed by calling cef_string_userfree_free(). :set-program (fn [CefCommandLine,CefStringUtf16]) -> void Set the program part of the command line string (the first item). :has-switches (fn [CefCommandLine]) -> int Returns true (1) if the command line has switches. :has-switch (fn [CefCommandLine,CefStringUtf16]) -> int Returns true (1) if the command line contains the given switch. :get-switch-value (fn [CefCommandLine,CefStringUtf16]) -> CefStringUtf16 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(). :get-switches (fn [CefCommandLine,Pointer]) -> void Returns the map of switch names and values. If a switch has no value an NULL string is returned. :append-switch (fn [CefCommandLine,CefStringUtf16]) -> void Add a switch to the end of the command line. If the switch has no value pass an NULL value string. :append-switch-with-value (fn [CefCommandLine,CefStringUtf16,CefStringUtf16]) -> void Add a switch with the specified value to the end of the command line. :has-arguments (fn [CefCommandLine]) -> int True if there are remaining command line arguments. :get-arguments (fn [CefCommandLine,Pointer]) -> void Get the remaining command line arguments. :append-argument (fn [CefCommandLine,CefStringUtf16]) -> void Add an argument to the end of the command line. :prepend-wrapper (fn [CefCommandLine,CefStringUtf16]) -> void Insert a command before the current command. Common for debuggers, like "valgrind" or "gdb --args".
(map->completion-callback)
(map->completion-callback {:as m :keys [on-complete]})
Make a CefCompletionCallback Generic callback structure used for asynchronous completion.
:on-complete (fn [CefCompletionCallback]) -> void Method that will be called once the task is complete.
Make a CefCompletionCallback Generic callback structure used for asynchronous completion. :on-complete (fn [CefCompletionCallback]) -> void Method that will be called once the task is complete.
(map->composition-underline)
(map->composition-underline {:as m
:keys [range color background-color thick style]})
Make a CefCompositionUnderline Structure representing IME composition underline information. This is a thin wrapper around Blink's WebCompositionUnderline class and should be kept in sync with that.
:range cef_range_t Underline character range.
:color cef_color_t Text color.
:background-color cef_color_t Background color.
:thick int Set to true (1) for thick underline.
:style cef_composition_underline_style_t Style.
Make a CefCompositionUnderline Structure representing IME composition underline information. This is a thin wrapper around Blink's WebCompositionUnderline class and should be kept in sync with that. :range cef_range_t Underline character range. :color cef_color_t Text color. :background-color cef_color_t Background color. :thick int Set to true (1) for thick underline. :style cef_composition_underline_style_t Style.
(map->context-menu-handler)
(map->context-menu-handler {:as m
:keys [on-before-context-menu run-context-menu
on-context-menu-command
on-context-menu-dismissed]})
Make a CefContextMenuHandler Implement this structure to handle context menu events. The functions of this structure will be called on the UI thread.
:on-before-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel]) -> void 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.
:run-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel,CefRunContextMenuCallback]) -> int 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.
:on-context-menu-command (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,int,int]) -> int 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.
:on-context-menu-dismissed (fn [CefContextMenuHandler,CefBrowser,CefFrame]) -> void Called when the context menu is dismissed irregardless of whether the menu was NULL or a command was selected.
Make a CefContextMenuHandler Implement this structure to handle context menu events. The functions of this structure will be called on the UI thread. :on-before-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel]) -> void 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. :run-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel,CefRunContextMenuCallback]) -> int 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. :on-context-menu-command (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,int,int]) -> int 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. :on-context-menu-dismissed (fn [CefContextMenuHandler,CefBrowser,CefFrame]) -> void Called when the context menu is dismissed irregardless of whether the menu was NULL or a command was selected.
(map->context-menu-params)
(map->context-menu-params
{:as m
:keys [get-xcoord get-ycoord get-type-flags get-link-url
get-unfiltered-link-url get-source-url has-image-contents
get-title-text get-page-url get-frame-url get-frame-charset
get-media-type get-media-state-flags get-selection-text
get-misspelled-word get-dictionary-suggestions is-editable
is-spell-check-enabled get-edit-state-flags is-custom-menu
is-pepper-menu]})
Make a CefContextMenuParams Provides information about the context menu state. The ethods of this structure can only be accessed on browser process the UI thread.
:get-xcoord (fn [CefContextMenuParams]) -> int Returns the X coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin.
:get-ycoord (fn [CefContextMenuParams]) -> int Returns the Y coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin.
:get-type-flags (fn [CefContextMenuParams]) -> int Returns flags representing the type of node that the context menu was invoked on.
:get-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-unfiltered-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-source-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:has-image-contents (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an image which has non- NULL contents.
:get-title-text (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-page-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-frame-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-frame-charset (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-media-type (fn [CefContextMenuParams]) -> int Returns the type of context node that the context menu was invoked on.
:get-media-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the media element, if any, that the context menu was invoked on.
:get-selection-text (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-misspelled-word (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-dictionary-suggestions (fn [CefContextMenuParams,Pointer]) -> int 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.
:is-editable (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node.
:is-spell-check-enabled (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node where spell-check is enabled.
:get-edit-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the editable node, if any, that the context menu was invoked on.
:is-custom-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu contains items specified by the renderer process (for example, plugin placeholder or pepper plugin menu items).
:is-pepper-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked from a pepper plugin.
Make a CefContextMenuParams Provides information about the context menu state. The ethods of this structure can only be accessed on browser process the UI thread. :get-xcoord (fn [CefContextMenuParams]) -> int Returns the X coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin. :get-ycoord (fn [CefContextMenuParams]) -> int Returns the Y coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin. :get-type-flags (fn [CefContextMenuParams]) -> int Returns flags representing the type of node that the context menu was invoked on. :get-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-unfiltered-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-source-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :has-image-contents (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an image which has non- NULL contents. :get-title-text (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-page-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-frame-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-frame-charset (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-media-type (fn [CefContextMenuParams]) -> int Returns the type of context node that the context menu was invoked on. :get-media-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the media element, if any, that the context menu was invoked on. :get-selection-text (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-misspelled-word (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-dictionary-suggestions (fn [CefContextMenuParams,Pointer]) -> int 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. :is-editable (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node. :is-spell-check-enabled (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node where spell-check is enabled. :get-edit-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the editable node, if any, that the context menu was invoked on. :is-custom-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu contains items specified by the renderer process (for example, plugin placeholder or pepper plugin menu items). :is-pepper-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked from a pepper plugin.
(map->cookie)
(map->cookie {:as m
:keys [name value domain path secure httponly creation last-access
has-expires expires same-site priority]})
Make a CefCookie Cookie information.
:name cef_string_t The cookie name.
:value cef_string_t The cookie value.
:domain cef_string_t If |domain| is empty a host cookie will be created instead of a domain cookie. Domain cookies are stored with a leading "." and are visible to sub-domains whereas host cookies are not.
:path cef_string_t If |path| is non-empty only URLs at or below the path will get the cookie value.
:secure int If |secure| is true the cookie will only be sent for HTTPS requests.
:httponly int If |httponly| is true the cookie will only be sent for HTTP requests.
:creation cef_time_t The cookie creation date. This is automatically populated by the system on cookie creation.
:last-access cef_time_t The cookie last access date. This is automatically populated by the system on access.
:has-expires int The cookie expiration date is only valid if |has_expires| is true.
:same-site cef_cookie_same_site_t Same site.
:priority cef_cookie_priority_t Priority.
Make a CefCookie Cookie information. :name cef_string_t The cookie name. :value cef_string_t The cookie value. :domain cef_string_t If |domain| is empty a host cookie will be created instead of a domain cookie. Domain cookies are stored with a leading "." and are visible to sub-domains whereas host cookies are not. :path cef_string_t If |path| is non-empty only URLs at or below the path will get the cookie value. :secure int If |secure| is true the cookie will only be sent for HTTPS requests. :httponly int If |httponly| is true the cookie will only be sent for HTTP requests. :creation cef_time_t The cookie creation date. This is automatically populated by the system on cookie creation. :last-access cef_time_t The cookie last access date. This is automatically populated by the system on access. :has-expires int The cookie expiration date is only valid if |has_expires| is true. :same-site cef_cookie_same_site_t Same site. :priority cef_cookie_priority_t Priority.
(map->cookie-access-filter)
(map->cookie-access-filter {:as m :keys [can-send-cookie can-save-cookie]})
Make a CefCookieAccessFilter 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.
:can-send-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefCookie]) -> int 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.
:can-save-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefResponse,CefCookie]) -> int 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.
Make a CefCookieAccessFilter 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. :can-send-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefCookie]) -> int 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. :can-save-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefResponse,CefCookie]) -> int 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.
(map->cookie-manager)
(map->cookie-manager {:as m
:keys [set-supported-schemes visit-all-cookies
visit-url-cookies set-cookie delete-cookies
flush-store]})
Make a CefCookieManager Structure used for managing cookies. The functions of this structure may be called on any thread unless otherwise indicated.
:set-supported-schemes (fn [CefCookieManager,Pointer,int,CefCompletionCallback]) -> void Set the schemes supported by this manager. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Calling this function with an NULL |schemes| value and |include_defaults| set to false (0) will disable all loading and saving of cookies for this manager. If |callback| is non-NULL it will be executed asnychronously on the UI thread after the change has been applied. Must be called before any cookies are accessed.
:visit-all-cookies (fn [CefCookieManager,CefCookieVisitor]) -> int 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.
:visit-url-cookies (fn [CefCookieManager,CefStringUtf16,int,CefCookieVisitor]) -> int 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.
:set-cookie (fn [CefCookieManager,CefStringUtf16,CefCookie,CefSetCookieCallback]) -> int 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.
:delete-cookies (fn [CefCookieManager,CefStringUtf16,CefStringUtf16,CefDeleteCookiesCallback]) -> int 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.
:flush-store (fn [CefCookieManager,CefCompletionCallback]) -> int 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.
Make a CefCookieManager Structure used for managing cookies. The functions of this structure may be called on any thread unless otherwise indicated. :set-supported-schemes (fn [CefCookieManager,Pointer,int,CefCompletionCallback]) -> void Set the schemes supported by this manager. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Calling this function with an NULL |schemes| value and |include_defaults| set to false (0) will disable all loading and saving of cookies for this manager. If |callback| is non-NULL it will be executed asnychronously on the UI thread after the change has been applied. Must be called before any cookies are accessed. :visit-all-cookies (fn [CefCookieManager,CefCookieVisitor]) -> int 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. :visit-url-cookies (fn [CefCookieManager,CefStringUtf16,int,CefCookieVisitor]) -> int 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. :set-cookie (fn [CefCookieManager,CefStringUtf16,CefCookie,CefSetCookieCallback]) -> int 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. :delete-cookies (fn [CefCookieManager,CefStringUtf16,CefStringUtf16,CefDeleteCookiesCallback]) -> int 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. :flush-store (fn [CefCookieManager,CefCompletionCallback]) -> int 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.
(map->cookie-visitor)
(map->cookie-visitor {:as m :keys [visit]})
Make a CefCookieVisitor Structure to implement for visiting cookie values. The functions of this structure will always be called on the UI thread.
:visit (fn [CefCookieVisitor,CefCookie,int,int,Pointer]) -> int 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.
Make a CefCookieVisitor Structure to implement for visiting cookie values. The functions of this structure will always be called on the UI thread. :visit (fn [CefCookieVisitor,CefCookie,int,int,Pointer]) -> int 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.
(map->cursor-info)
(map->cursor-info {:as m :keys [hotspot image-scale-factor buffer size]})
Make a CefCursorInfo Structure representing cursor information. |buffer| will be |size.width|*|size.height|*4 bytes in size and represents a BGRA image with an upper-left origin.
Make a CefCursorInfo Structure representing cursor information. |buffer| will be |size.width|*|size.height|*4 bytes in size and represents a BGRA image with an upper-left origin.
(map->delete-cookies-callback)
(map->delete-cookies-callback {:as m :keys [on-complete]})
Make a CefDeleteCookiesCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::delete_cookies().
:on-complete (fn [CefDeleteCookiesCallback,int]) -> void Method that will be called upon completion. |num_deleted| will be the number of cookies that were deleted.
Make a CefDeleteCookiesCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::delete_cookies(). :on-complete (fn [CefDeleteCookiesCallback,int]) -> void Method that will be called upon completion. |num_deleted| will be the number of cookies that were deleted.
(map->dev-tools-message-observer)
(map->dev-tools-message-observer
{:as m
:keys [on-dev-tools-message on-dev-tools-method-result on-dev-tools-event
on-dev-tools-agent-attached on-dev-tools-agent-detached]})
Make a CefDevToolsMessageObserver Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The functions of this structure will be called on the browser process UI thread.
:on-dev-tools-message (fn [CefDevToolsMessageObserver,CefBrowser,Pointer,SizeT]) -> int 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).
:on-dev-tools-method-result (fn [CefDevToolsMessageObserver,CefBrowser,int,int,Pointer,SizeT]) -> void 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.
:on-dev-tools-event (fn [CefDevToolsMessageObserver,CefBrowser,CefStringUtf16,Pointer,SizeT]) -> void 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.
:on-dev-tools-agent-attached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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.
:on-dev-tools-agent-detached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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.
Make a CefDevToolsMessageObserver Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The functions of this structure will be called on the browser process UI thread. :on-dev-tools-message (fn [CefDevToolsMessageObserver,CefBrowser,Pointer,SizeT]) -> int 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). :on-dev-tools-method-result (fn [CefDevToolsMessageObserver,CefBrowser,int,int,Pointer,SizeT]) -> void 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. :on-dev-tools-event (fn [CefDevToolsMessageObserver,CefBrowser,CefStringUtf16,Pointer,SizeT]) -> void 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. :on-dev-tools-agent-attached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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. :on-dev-tools-agent-detached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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.
(map->dialog-handler)
(map->dialog-handler {:as m :keys [on-file-dialog]})
Make a CefDialogHandler Implement this structure to handle dialog events. The functions of this structure will be called on the browser process UI thread.
:on-file-dialog (fn [CefDialogHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefFileDialogCallback]) -> int 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 any combination of (a) valid lower-cased MIME types (e.g. "text/" or "image/"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that should be selected by default. 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).
Make a CefDialogHandler Implement this structure to handle dialog events. The functions of this structure will be called on the browser process UI thread. :on-file-dialog (fn [CefDialogHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefFileDialogCallback]) -> int 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 any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that should be selected by default. 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).
(map->dictionary-value)
(map->dictionary-value {:as m
:keys [is-valid is-owned is-read-only is-same is-equal
copy get-size clear has-key get-keys remove
get-type get-value get-bool get-int get-double
get-string get-binary get-dictionary get-list
set-value set-null set-bool set-int set-double
set-string set-binary set-dictionary set-list]})
Make a CefDictionaryValue Structure representing a dictionary value. Can be used on any process and thread.
:is-valid (fn [CefDictionaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0).
:is-owned (fn [CefDictionaryValue]) -> int Returns true (1) if this object is currently owned by another object.
:is-read-only (fn [CefDictionaryValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:is-same (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa.
:is-equal (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefDictionaryValue,int]) -> CefDictionaryValue Returns a writable copy of this object. If |exclude_NULL_children| is true (1) any NULL dictionaries or lists will be excluded from the copy.
:get-size (fn [CefDictionaryValue]) -> SizeT Returns the number of values.
:clear (fn [CefDictionaryValue]) -> int Removes all values. Returns true (1) on success.
:has-key (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns true (1) if the current dictionary has a value for the given key.
:get-keys (fn [CefDictionaryValue,Pointer]) -> int Reads all keys for this dictionary into the specified vector.
:remove (fn [CefDictionaryValue,CefStringUtf16]) -> int Removes the value at the specified key. Returns true (1) is the value was removed successfully.
:get-type (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value type for the specified key.
:get-value (fn [CefDictionaryValue,CefStringUtf16]) -> CefValue Returns the value at the specified key. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object.
:get-bool (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type bool.
:get-int (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type int.
:get-double (fn [CefDictionaryValue,CefStringUtf16]) -> double Returns the value at the specified key as type double.
:get-string (fn [CefDictionaryValue,CefStringUtf16]) -> CefStringUtf16 Returns the value at the specified key as type string. The resulting string must be freed by calling cef_string_userfree_free().
:get-binary (fn [CefDictionaryValue,CefStringUtf16]) -> CefBinaryValue Returns the value at the specified key as type binary. The returned value will reference existing data.
:get-dictionary (fn [CefDictionaryValue,CefStringUtf16]) -> CefDictionaryValue Returns the value at the specified key as type dictionary. The returned value will reference existing data and modifications to the value will modify this object.
:get-list (fn [CefDictionaryValue,CefStringUtf16]) -> CefListValue Returns the value at the specified key as type list. The returned value will reference existing data and modifications to the value will modify this object.
:set-value (fn [CefDictionaryValue,CefStringUtf16,CefValue]) -> int Sets the value at the specified key. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object.
:set-null (fn [CefDictionaryValue,CefStringUtf16]) -> int Sets the value at the specified key as type null. Returns true (1) if the value was set successfully.
:set-bool (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type bool. Returns true (1) if the value was set successfully.
:set-int (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type int. Returns true (1) if the value was set successfully.
:set-double (fn [CefDictionaryValue,CefStringUtf16,double]) -> int Sets the value at the specified key as type double. Returns true (1) if the value was set successfully.
:set-string (fn [CefDictionaryValue,CefStringUtf16,CefStringUtf16]) -> int Sets the value at the specified key as type string. Returns true (1) if the value was set successfully.
:set-binary (fn [CefDictionaryValue,CefStringUtf16,CefBinaryValue]) -> int Sets the value at the specified key as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-dictionary (fn [CefDictionaryValue,CefStringUtf16,CefDictionaryValue]) -> int Sets the value at the specified key as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-list (fn [CefDictionaryValue,CefStringUtf16,CefListValue]) -> int Sets the value at the specified key as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
Make a CefDictionaryValue Structure representing a dictionary value. Can be used on any process and thread. :is-valid (fn [CefDictionaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0). :is-owned (fn [CefDictionaryValue]) -> int Returns true (1) if this object is currently owned by another object. :is-read-only (fn [CefDictionaryValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :is-same (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa. :is-equal (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefDictionaryValue,int]) -> CefDictionaryValue Returns a writable copy of this object. If |exclude_NULL_children| is true (1) any NULL dictionaries or lists will be excluded from the copy. :get-size (fn [CefDictionaryValue]) -> SizeT Returns the number of values. :clear (fn [CefDictionaryValue]) -> int Removes all values. Returns true (1) on success. :has-key (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns true (1) if the current dictionary has a value for the given key. :get-keys (fn [CefDictionaryValue,Pointer]) -> int Reads all keys for this dictionary into the specified vector. :remove (fn [CefDictionaryValue,CefStringUtf16]) -> int Removes the value at the specified key. Returns true (1) is the value was removed successfully. :get-type (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value type for the specified key. :get-value (fn [CefDictionaryValue,CefStringUtf16]) -> CefValue Returns the value at the specified key. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object. :get-bool (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type bool. :get-int (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type int. :get-double (fn [CefDictionaryValue,CefStringUtf16]) -> double Returns the value at the specified key as type double. :get-string (fn [CefDictionaryValue,CefStringUtf16]) -> CefStringUtf16 Returns the value at the specified key as type string. The resulting string must be freed by calling cef_string_userfree_free(). :get-binary (fn [CefDictionaryValue,CefStringUtf16]) -> CefBinaryValue Returns the value at the specified key as type binary. The returned value will reference existing data. :get-dictionary (fn [CefDictionaryValue,CefStringUtf16]) -> CefDictionaryValue Returns the value at the specified key as type dictionary. The returned value will reference existing data and modifications to the value will modify this object. :get-list (fn [CefDictionaryValue,CefStringUtf16]) -> CefListValue Returns the value at the specified key as type list. The returned value will reference existing data and modifications to the value will modify this object. :set-value (fn [CefDictionaryValue,CefStringUtf16,CefValue]) -> int Sets the value at the specified key. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object. :set-null (fn [CefDictionaryValue,CefStringUtf16]) -> int Sets the value at the specified key as type null. Returns true (1) if the value was set successfully. :set-bool (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type bool. Returns true (1) if the value was set successfully. :set-int (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type int. Returns true (1) if the value was set successfully. :set-double (fn [CefDictionaryValue,CefStringUtf16,double]) -> int Sets the value at the specified key as type double. Returns true (1) if the value was set successfully. :set-string (fn [CefDictionaryValue,CefStringUtf16,CefStringUtf16]) -> int Sets the value at the specified key as type string. Returns true (1) if the value was set successfully. :set-binary (fn [CefDictionaryValue,CefStringUtf16,CefBinaryValue]) -> int Sets the value at the specified key as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-dictionary (fn [CefDictionaryValue,CefStringUtf16,CefDictionaryValue]) -> int Sets the value at the specified key as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-list (fn [CefDictionaryValue,CefStringUtf16,CefListValue]) -> int Sets the value at the specified key as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
(map->display-handler)
(map->display-handler {:as m
:keys [on-address-change on-title-change
on-favicon-urlchange on-fullscreen-mode-change
on-tooltip on-status-message on-console-message
on-auto-resize on-loading-progress-change
on-cursor-change]})
Make a CefDisplayHandler Implement this structure to handle events related to browser display state. The functions of this structure will be called on the UI thread.
:on-address-change (fn [CefDisplayHandler,CefBrowser,CefFrame,CefStringUtf16]) -> void Called when a frame's address has changed.
:on-title-change (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the page title changes.
:on-favicon-urlchange (fn [CefDisplayHandler,CefBrowser,Pointer]) -> void Called when the page icon changes.
:on-fullscreen-mode-change (fn [CefDisplayHandler,CefBrowser,int]) -> void 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. The client is responsible for resizing the browser if desired.
:on-tooltip (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> int 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.
:on-status-message (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the browser receives a status message. |value| contains the text that will be displayed in the status message.
:on-console-message (fn [CefDisplayHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,int]) -> int Called to display a console message. Return true (1) to stop the message from being output to the console.
:on-auto-resize (fn [CefDisplayHandler,CefBrowser,CefSize]) -> int 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.
:on-loading-progress-change (fn [CefDisplayHandler,CefBrowser,double]) -> void Called when the overall page loading progress has changed. |progress| ranges from 0.0 to 1.0.
:on-cursor-change (fn [CefDisplayHandler,CefBrowser,Pointer,int,CefCursorInfo]) -> int 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.
Make a CefDisplayHandler Implement this structure to handle events related to browser display state. The functions of this structure will be called on the UI thread. :on-address-change (fn [CefDisplayHandler,CefBrowser,CefFrame,CefStringUtf16]) -> void Called when a frame's address has changed. :on-title-change (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the page title changes. :on-favicon-urlchange (fn [CefDisplayHandler,CefBrowser,Pointer]) -> void Called when the page icon changes. :on-fullscreen-mode-change (fn [CefDisplayHandler,CefBrowser,int]) -> void 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. The client is responsible for resizing the browser if desired. :on-tooltip (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> int 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. :on-status-message (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the browser receives a status message. |value| contains the text that will be displayed in the status message. :on-console-message (fn [CefDisplayHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,int]) -> int Called to display a console message. Return true (1) to stop the message from being output to the console. :on-auto-resize (fn [CefDisplayHandler,CefBrowser,CefSize]) -> int 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. :on-loading-progress-change (fn [CefDisplayHandler,CefBrowser,double]) -> void Called when the overall page loading progress has changed. |progress| ranges from 0.0 to 1.0. :on-cursor-change (fn [CefDisplayHandler,CefBrowser,Pointer,int,CefCursorInfo]) -> int 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.
(map->domdocument)
(map->domdocument {:as m
:keys [get-type get-document get-body get-head get-title
get-element-by-id get-focused-node has-selection
get-selection-start-offset get-selection-end-offset
get-selection-as-markup get-selection-as-text
get-base-url get-complete-url]})
Make a CefDomdocument Structure used to represent a DOM document. The functions of this structure should only be called on the render process main thread thread.
:get-type (fn [CefDomdocument]) -> int Returns the document type.
:get-document (fn [CefDomdocument]) -> CefDomnode Returns the root document node.
:get-body (fn [CefDomdocument]) -> CefDomnode Returns the BODY node of an HTML document.
:get-head (fn [CefDomdocument]) -> CefDomnode Returns the HEAD node of an HTML document.
:get-title (fn [CefDomdocument]) -> CefStringUtf16 Returns the title of an HTML document. The resulting string must be freed by calling cef_string_userfree_free().
:get-element-by-id (fn [CefDomdocument,CefStringUtf16]) -> CefDomnode Returns the document element with the specified ID value.
:get-focused-node (fn [CefDomdocument]) -> CefDomnode Returns the node that currently has keyboard focus.
:has-selection (fn [CefDomdocument]) -> int Returns true (1) if a portion of the document is selected.
:get-selection-start-offset (fn [CefDomdocument]) -> int Returns the selection offset within the start node.
:get-selection-end-offset (fn [CefDomdocument]) -> int Returns the selection offset within the end node.
:get-selection-as-markup (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as markup. The resulting string must be freed by calling cef_string_userfree_free().
:get-selection-as-text (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as text. The resulting string must be freed by calling cef_string_userfree_free().
:get-base-url (fn [CefDomdocument]) -> CefStringUtf16 Returns the base URL for the document. The resulting string must be freed by calling cef_string_userfree_free().
:get-complete-url (fn [CefDomdocument,CefStringUtf16]) -> CefStringUtf16 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().
Make a CefDomdocument Structure used to represent a DOM document. The functions of this structure should only be called on the render process main thread thread. :get-type (fn [CefDomdocument]) -> int Returns the document type. :get-document (fn [CefDomdocument]) -> CefDomnode Returns the root document node. :get-body (fn [CefDomdocument]) -> CefDomnode Returns the BODY node of an HTML document. :get-head (fn [CefDomdocument]) -> CefDomnode Returns the HEAD node of an HTML document. :get-title (fn [CefDomdocument]) -> CefStringUtf16 Returns the title of an HTML document. The resulting string must be freed by calling cef_string_userfree_free(). :get-element-by-id (fn [CefDomdocument,CefStringUtf16]) -> CefDomnode Returns the document element with the specified ID value. :get-focused-node (fn [CefDomdocument]) -> CefDomnode Returns the node that currently has keyboard focus. :has-selection (fn [CefDomdocument]) -> int Returns true (1) if a portion of the document is selected. :get-selection-start-offset (fn [CefDomdocument]) -> int Returns the selection offset within the start node. :get-selection-end-offset (fn [CefDomdocument]) -> int Returns the selection offset within the end node. :get-selection-as-markup (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as markup. The resulting string must be freed by calling cef_string_userfree_free(). :get-selection-as-text (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as text. The resulting string must be freed by calling cef_string_userfree_free(). :get-base-url (fn [CefDomdocument]) -> CefStringUtf16 Returns the base URL for the document. The resulting string must be freed by calling cef_string_userfree_free(). :get-complete-url (fn [CefDomdocument,CefStringUtf16]) -> CefStringUtf16 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().
(map->domnode)
(map->domnode
{:as m
:keys [get-type is-text is-element is-editable is-form-control-element
get-form-control-element-type is-same get-name get-value set-value
get-as-markup get-document get-parent get-previous-sibling
get-next-sibling has-children get-first-child get-last-child
get-element-tag-name has-element-attributes has-element-attribute
get-element-attribute get-element-attributes set-element-attribute
get-element-inner-text get-element-bounds]})
Make a CefDomnode Structure used to represent a DOM node. The functions of this structure should only be called on the render process main thread.
:get-type (fn [CefDomnode]) -> int Returns the type for this node.
:is-text (fn [CefDomnode]) -> int Returns true (1) if this is a text node.
:is-element (fn [CefDomnode]) -> int Returns true (1) if this is an element node.
:is-editable (fn [CefDomnode]) -> int Returns true (1) if this is an editable node.
:is-form-control-element (fn [CefDomnode]) -> int Returns true (1) if this is a form control element node.
:get-form-control-element-type (fn [CefDomnode]) -> CefStringUtf16 Returns the type of this form control element node. The resulting string must be freed by calling cef_string_userfree_free().
:is-same (fn [CefDomnode,CefDomnode]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:get-name (fn [CefDomnode]) -> CefStringUtf16 Returns the name of this node. The resulting string must be freed by calling cef_string_userfree_free().
:get-value (fn [CefDomnode]) -> CefStringUtf16 Returns the value of this node. The resulting string must be freed by calling cef_string_userfree_free().
:set-value (fn [CefDomnode,CefStringUtf16]) -> int Set the value of this node. Returns true (1) on success.
:get-as-markup (fn [CefDomnode]) -> CefStringUtf16 Returns the contents of this node as markup. The resulting string must be freed by calling cef_string_userfree_free().
:get-document (fn [CefDomnode]) -> CefDomdocument Returns the document associated with this node.
:get-parent (fn [CefDomnode]) -> CefDomnode Returns the parent node.
:get-previous-sibling (fn [CefDomnode]) -> CefDomnode Returns the previous sibling node.
:get-next-sibling (fn [CefDomnode]) -> CefDomnode Returns the next sibling node.
:has-children (fn [CefDomnode]) -> int Returns true (1) if this node has child nodes.
:get-first-child (fn [CefDomnode]) -> CefDomnode Return the first child node.
:get-last-child (fn [CefDomnode]) -> CefDomnode Returns the last child node.
:get-element-tag-name (fn [CefDomnode]) -> CefStringUtf16 The following functions are valid only for element nodes. Returns the tag name of this element. The resulting string must be freed by calling cef_string_userfree_free().
:has-element-attributes (fn [CefDomnode]) -> int Returns true (1) if this element has attributes.
:has-element-attribute (fn [CefDomnode,CefStringUtf16]) -> int Returns true (1) if this element has an attribute named |attrName|.
:get-element-attribute (fn [CefDomnode,CefStringUtf16]) -> CefStringUtf16 Returns the element attribute named |attrName|. The resulting string must be freed by calling cef_string_userfree_free().
:get-element-attributes (fn [CefDomnode,Pointer]) -> void Returns a map of all element attributes.
:set-element-attribute (fn [CefDomnode,CefStringUtf16,CefStringUtf16]) -> int Set the value for the element attribute named |attrName|. Returns true (1) on success.
:get-element-inner-text (fn [CefDomnode]) -> CefStringUtf16 Returns the inner text of the element. The resulting string must be freed by calling cef_string_userfree_free().
:get-element-bounds (fn [CefDomnode]) -> CefRect Returns the bounds of the element.
Make a CefDomnode Structure used to represent a DOM node. The functions of this structure should only be called on the render process main thread. :get-type (fn [CefDomnode]) -> int Returns the type for this node. :is-text (fn [CefDomnode]) -> int Returns true (1) if this is a text node. :is-element (fn [CefDomnode]) -> int Returns true (1) if this is an element node. :is-editable (fn [CefDomnode]) -> int Returns true (1) if this is an editable node. :is-form-control-element (fn [CefDomnode]) -> int Returns true (1) if this is a form control element node. :get-form-control-element-type (fn [CefDomnode]) -> CefStringUtf16 Returns the type of this form control element node. The resulting string must be freed by calling cef_string_userfree_free(). :is-same (fn [CefDomnode,CefDomnode]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :get-name (fn [CefDomnode]) -> CefStringUtf16 Returns the name of this node. The resulting string must be freed by calling cef_string_userfree_free(). :get-value (fn [CefDomnode]) -> CefStringUtf16 Returns the value of this node. The resulting string must be freed by calling cef_string_userfree_free(). :set-value (fn [CefDomnode,CefStringUtf16]) -> int Set the value of this node. Returns true (1) on success. :get-as-markup (fn [CefDomnode]) -> CefStringUtf16 Returns the contents of this node as markup. The resulting string must be freed by calling cef_string_userfree_free(). :get-document (fn [CefDomnode]) -> CefDomdocument Returns the document associated with this node. :get-parent (fn [CefDomnode]) -> CefDomnode Returns the parent node. :get-previous-sibling (fn [CefDomnode]) -> CefDomnode Returns the previous sibling node. :get-next-sibling (fn [CefDomnode]) -> CefDomnode Returns the next sibling node. :has-children (fn [CefDomnode]) -> int Returns true (1) if this node has child nodes. :get-first-child (fn [CefDomnode]) -> CefDomnode Return the first child node. :get-last-child (fn [CefDomnode]) -> CefDomnode Returns the last child node. :get-element-tag-name (fn [CefDomnode]) -> CefStringUtf16 The following functions are valid only for element nodes. Returns the tag name of this element. The resulting string must be freed by calling cef_string_userfree_free(). :has-element-attributes (fn [CefDomnode]) -> int Returns true (1) if this element has attributes. :has-element-attribute (fn [CefDomnode,CefStringUtf16]) -> int Returns true (1) if this element has an attribute named |attrName|. :get-element-attribute (fn [CefDomnode,CefStringUtf16]) -> CefStringUtf16 Returns the element attribute named |attrName|. The resulting string must be freed by calling cef_string_userfree_free(). :get-element-attributes (fn [CefDomnode,Pointer]) -> void Returns a map of all element attributes. :set-element-attribute (fn [CefDomnode,CefStringUtf16,CefStringUtf16]) -> int Set the value for the element attribute named |attrName|. Returns true (1) on success. :get-element-inner-text (fn [CefDomnode]) -> CefStringUtf16 Returns the inner text of the element. The resulting string must be freed by calling cef_string_userfree_free(). :get-element-bounds (fn [CefDomnode]) -> CefRect Returns the bounds of the element.
(map->domvisitor)
(map->domvisitor {:as m :keys [visit]})
Make a CefDomvisitor Structure to implement for visiting the DOM. The functions of this structure will be called on the render process main thread.
:visit (fn [CefDomvisitor,CefDomdocument]) -> void 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.
Make a CefDomvisitor Structure to implement for visiting the DOM. The functions of this structure will be called on the render process main thread. :visit (fn [CefDomvisitor,CefDomdocument]) -> void 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.
(map->download-handler)
(map->download-handler {:as m :keys [on-before-download on-download-updated]})
Make a CefDownloadHandler Structure used to handle file downloads. The functions of this structure will called on the browser process UI thread.
:on-before-download (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefStringUtf16,CefBeforeDownloadCallback]) -> void Called before a download begins. |suggested_name| is the suggested name for the download file. By default the download will be canceled. Execute |callback| either asynchronously or in this function to continue the download if desired. Do not keep a reference to |download_item| outside of this function.
:on-download-updated (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefDownloadItemCallback]) -> void 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.
Make a CefDownloadHandler Structure used to handle file downloads. The functions of this structure will called on the browser process UI thread. :on-before-download (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefStringUtf16,CefBeforeDownloadCallback]) -> void Called before a download begins. |suggested_name| is the suggested name for the download file. By default the download will be canceled. Execute |callback| either asynchronously or in this function to continue the download if desired. Do not keep a reference to |download_item| outside of this function. :on-download-updated (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefDownloadItemCallback]) -> void 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.
(map->download-image-callback)
(map->download-image-callback {:as m :keys [on-download-image-finished]})
Make a CefDownloadImageCallback Callback structure for cef_browser_host_t::DownloadImage. The functions of this structure will be called on the browser process UI thread.
:on-download-image-finished (fn [CefDownloadImageCallback,CefStringUtf16,int,CefImage]) -> void Method that will be executed when the image download has completed. |image_url| is the URL that was downloaded and |http_status_code| is the resulting HTTP status code. |image| is the resulting image, possibly at multiple scale factors, or NULL if the download failed.
Make a CefDownloadImageCallback Callback structure for cef_browser_host_t::DownloadImage. The functions of this structure will be called on the browser process UI thread. :on-download-image-finished (fn [CefDownloadImageCallback,CefStringUtf16,int,CefImage]) -> void Method that will be executed when the image download has completed. |image_url| is the URL that was downloaded and |http_status_code| is the resulting HTTP status code. |image| is the resulting image, possibly at multiple scale factors, or NULL if the download failed.
(map->download-item)
(map->download-item
{:as m
:keys [is-valid is-in-progress is-complete is-canceled get-current-speed
get-percent-complete get-total-bytes get-received-bytes get-start-time
get-end-time get-full-path get-id get-url get-original-url
get-suggested-file-name get-content-disposition get-mime-type]})
Make a CefDownloadItem Structure used to represent a download item.
:is-valid (fn [CefDownloadItem]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-in-progress (fn [CefDownloadItem]) -> int Returns true (1) if the download is in progress.
:is-complete (fn [CefDownloadItem]) -> int Returns true (1) if the download is complete.
:is-canceled (fn [CefDownloadItem]) -> int Returns true (1) if the download has been canceled or interrupted.
:get-current-speed (fn [CefDownloadItem]) -> long Returns a simple speed estimate in bytes/s.
:get-percent-complete (fn [CefDownloadItem]) -> int Returns the rough percent complete or -1 if the receive total size is unknown.
:get-total-bytes (fn [CefDownloadItem]) -> long Returns the total number of bytes.
:get-received-bytes (fn [CefDownloadItem]) -> long Returns the number of received bytes.
:get-start-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download started.
:get-end-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download ended.
:get-full-path (fn [CefDownloadItem]) -> CefStringUtf16 Returns the full path to the downloaded or downloading file. The resulting string must be freed by calling cef_string_userfree_free().
:get-id (fn [CefDownloadItem]) -> int Returns the unique identifier for this download.
:get-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the URL. The resulting string must be freed by calling cef_string_userfree_free().
:get-original-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the original URL before any redirections. The resulting string must be freed by calling cef_string_userfree_free().
:get-suggested-file-name (fn [CefDownloadItem]) -> CefStringUtf16 Returns the suggested file name. The resulting string must be freed by calling cef_string_userfree_free().
:get-content-disposition (fn [CefDownloadItem]) -> CefStringUtf16 Returns the content disposition. The resulting string must be freed by calling cef_string_userfree_free().
:get-mime-type (fn [CefDownloadItem]) -> CefStringUtf16 Returns the mime type. The resulting string must be freed by calling cef_string_userfree_free().
Make a CefDownloadItem Structure used to represent a download item. :is-valid (fn [CefDownloadItem]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-in-progress (fn [CefDownloadItem]) -> int Returns true (1) if the download is in progress. :is-complete (fn [CefDownloadItem]) -> int Returns true (1) if the download is complete. :is-canceled (fn [CefDownloadItem]) -> int Returns true (1) if the download has been canceled or interrupted. :get-current-speed (fn [CefDownloadItem]) -> long Returns a simple speed estimate in bytes/s. :get-percent-complete (fn [CefDownloadItem]) -> int Returns the rough percent complete or -1 if the receive total size is unknown. :get-total-bytes (fn [CefDownloadItem]) -> long Returns the total number of bytes. :get-received-bytes (fn [CefDownloadItem]) -> long Returns the number of received bytes. :get-start-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download started. :get-end-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download ended. :get-full-path (fn [CefDownloadItem]) -> CefStringUtf16 Returns the full path to the downloaded or downloading file. The resulting string must be freed by calling cef_string_userfree_free(). :get-id (fn [CefDownloadItem]) -> int Returns the unique identifier for this download. :get-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the URL. The resulting string must be freed by calling cef_string_userfree_free(). :get-original-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the original URL before any redirections. The resulting string must be freed by calling cef_string_userfree_free(). :get-suggested-file-name (fn [CefDownloadItem]) -> CefStringUtf16 Returns the suggested file name. The resulting string must be freed by calling cef_string_userfree_free(). :get-content-disposition (fn [CefDownloadItem]) -> CefStringUtf16 Returns the content disposition. The resulting string must be freed by calling cef_string_userfree_free(). :get-mime-type (fn [CefDownloadItem]) -> CefStringUtf16 Returns the mime type. The resulting string must be freed by calling cef_string_userfree_free().
(map->download-item-callback)
(map->download-item-callback {:as m :keys [cancel pause resume]})
Make a CefDownloadItemCallback Callback structure used to asynchronously cancel a download.
:cancel (fn [CefDownloadItemCallback]) -> void Call to cancel the download.
:pause (fn [CefDownloadItemCallback]) -> void Call to pause the download.
:resume (fn [CefDownloadItemCallback]) -> void Call to resume the download.
Make a CefDownloadItemCallback Callback structure used to asynchronously cancel a download. :cancel (fn [CefDownloadItemCallback]) -> void Call to cancel the download. :pause (fn [CefDownloadItemCallback]) -> void Call to pause the download. :resume (fn [CefDownloadItemCallback]) -> void Call to resume the download.
(map->drag-data)
(map->drag-data
{:as m
:keys [clone is-read-only is-link is-fragment is-file get-link-url
get-link-title get-link-metadata get-fragment-text get-fragment-html
get-fragment-base-url get-file-name get-file-contents get-file-names
set-link-url set-link-title set-link-metadata set-fragment-text
set-fragment-html set-fragment-base-url reset-file-contents add-file
get-image get-image-hotspot has-image]})
Make a CefDragData Structure used to represent drag data. The functions of this structure may be called on any thread.
:clone (fn [CefDragData]) -> CefDragData Returns a copy of the current object.
:is-read-only (fn [CefDragData]) -> int Returns true (1) if this object is read-only.
:is-link (fn [CefDragData]) -> int Returns true (1) if the drag data is a link.
:is-fragment (fn [CefDragData]) -> int Returns true (1) if the drag data is a text or html fragment.
:is-file (fn [CefDragData]) -> int Returns true (1) if the drag data is a file.
:get-link-url (fn [CefDragData]) -> CefStringUtf16 Return the link URL that is being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-link-title (fn [CefDragData]) -> CefStringUtf16 Return the title associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-link-metadata (fn [CefDragData]) -> CefStringUtf16 Return the metadata, if any, associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-fragment-text (fn [CefDragData]) -> CefStringUtf16 Return the plain text fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-fragment-html (fn [CefDragData]) -> CefStringUtf16 Return the text/html fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-fragment-base-url (fn [CefDragData]) -> CefStringUtf16 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().
:get-file-name (fn [CefDragData]) -> CefStringUtf16 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().
:get-file-contents (fn [CefDragData,CefStreamWriter]) -> SizeT 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.
:get-file-names (fn [CefDragData,Pointer]) -> int Retrieve the list of file names that are being dragged into the browser window.
:set-link-url (fn [CefDragData,CefStringUtf16]) -> void Set the link URL that is being dragged.
:set-link-title (fn [CefDragData,CefStringUtf16]) -> void Set the title associated with the link being dragged.
:set-link-metadata (fn [CefDragData,CefStringUtf16]) -> void Set the metadata associated with the link being dragged.
:set-fragment-text (fn [CefDragData,CefStringUtf16]) -> void Set the plain text fragment that is being dragged.
:set-fragment-html (fn [CefDragData,CefStringUtf16]) -> void Set the text/html fragment that is being dragged.
:set-fragment-base-url (fn [CefDragData,CefStringUtf16]) -> void Set the base URL that the fragment came from.
:reset-file-contents (fn [CefDragData]) -> void 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.
:add-file (fn [CefDragData,CefStringUtf16,CefStringUtf16]) -> void Add a file that is being dragged into the webview.
:get-image (fn [CefDragData]) -> CefImage Get the image representation of drag data. May return NULL if no image representation is available.
:get-image-hotspot (fn [CefDragData]) -> CefPoint Get the image hotspot (drag start location relative to image dimensions).
:has-image (fn [CefDragData]) -> int Returns true (1) if an image representation of drag data is available.
Make a CefDragData Structure used to represent drag data. The functions of this structure may be called on any thread. :clone (fn [CefDragData]) -> CefDragData Returns a copy of the current object. :is-read-only (fn [CefDragData]) -> int Returns true (1) if this object is read-only. :is-link (fn [CefDragData]) -> int Returns true (1) if the drag data is a link. :is-fragment (fn [CefDragData]) -> int Returns true (1) if the drag data is a text or html fragment. :is-file (fn [CefDragData]) -> int Returns true (1) if the drag data is a file. :get-link-url (fn [CefDragData]) -> CefStringUtf16 Return the link URL that is being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-link-title (fn [CefDragData]) -> CefStringUtf16 Return the title associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-link-metadata (fn [CefDragData]) -> CefStringUtf16 Return the metadata, if any, associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-fragment-text (fn [CefDragData]) -> CefStringUtf16 Return the plain text fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-fragment-html (fn [CefDragData]) -> CefStringUtf16 Return the text/html fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-fragment-base-url (fn [CefDragData]) -> CefStringUtf16 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(). :get-file-name (fn [CefDragData]) -> CefStringUtf16 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(). :get-file-contents (fn [CefDragData,CefStreamWriter]) -> SizeT 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. :get-file-names (fn [CefDragData,Pointer]) -> int Retrieve the list of file names that are being dragged into the browser window. :set-link-url (fn [CefDragData,CefStringUtf16]) -> void Set the link URL that is being dragged. :set-link-title (fn [CefDragData,CefStringUtf16]) -> void Set the title associated with the link being dragged. :set-link-metadata (fn [CefDragData,CefStringUtf16]) -> void Set the metadata associated with the link being dragged. :set-fragment-text (fn [CefDragData,CefStringUtf16]) -> void Set the plain text fragment that is being dragged. :set-fragment-html (fn [CefDragData,CefStringUtf16]) -> void Set the text/html fragment that is being dragged. :set-fragment-base-url (fn [CefDragData,CefStringUtf16]) -> void Set the base URL that the fragment came from. :reset-file-contents (fn [CefDragData]) -> void 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. :add-file (fn [CefDragData,CefStringUtf16,CefStringUtf16]) -> void Add a file that is being dragged into the webview. :get-image (fn [CefDragData]) -> CefImage Get the image representation of drag data. May return NULL if no image representation is available. :get-image-hotspot (fn [CefDragData]) -> CefPoint Get the image hotspot (drag start location relative to image dimensions). :has-image (fn [CefDragData]) -> int Returns true (1) if an image representation of drag data is available.
(map->drag-handler)
(map->drag-handler {:as m :keys [on-drag-enter on-draggable-regions-changed]})
Make a CefDragHandler Implement this structure to handle events related to dragging. The functions of this structure will be called on the UI thread.
:on-drag-enter (fn [CefDragHandler,CefBrowser,CefDragData,int]) -> int 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.
:on-draggable-regions-changed (fn [CefDragHandler,CefBrowser,CefFrame,SizeT,CefDraggableRegion]) -> void 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.
Make a CefDragHandler Implement this structure to handle events related to dragging. The functions of this structure will be called on the UI thread. :on-drag-enter (fn [CefDragHandler,CefBrowser,CefDragData,int]) -> int 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. :on-draggable-regions-changed (fn [CefDragHandler,CefBrowser,CefFrame,SizeT,CefDraggableRegion]) -> void 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.
(map->draggable-region)
(map->draggable-region {:as m :keys [bounds draggable]})
Make a CefDraggableRegion Structure representing a draggable region.
:bounds cef_rect_t Bounds of the region.
:draggable int True (1) this this region is draggable and false (0) otherwise.
Make a CefDraggableRegion Structure representing a draggable region. :bounds cef_rect_t Bounds of the region. :draggable int True (1) this this region is draggable and false (0) otherwise.
(map->extension)
(map->extension {:as m
:keys [get-identifier get-path get-manifest is-same get-handler
get-loader-context is-loaded unload]})
Make a CefExtension Object representing an extension. Methods may be called on any thread unless otherwise indicated.
:get-identifier (fn [CefExtension]) -> CefStringUtf16 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().
:get-path (fn [CefExtension]) -> CefStringUtf16 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().
:get-manifest (fn [CefExtension]) -> CefDictionaryValue Returns the extension manifest contents as a cef_dictionary_value_t object. See https://developer.chrome.com/extensions/manifest for details.
:is-same (fn [CefExtension,CefExtension]) -> int 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.
:get-handler (fn [CefExtension]) -> CefExtensionHandler Returns the handler for this extension. Will return NULL for internal extensions or if no handler was passed to cef_request_context_t::LoadExtension.
:get-loader-context (fn [CefExtension]) -> CefRequestContext 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.
:is-loaded (fn [CefExtension]) -> int Returns true (1) if this extension is currently loaded. Must be called on the browser process UI thread.
:unload (fn [CefExtension]) -> void 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.
Make a CefExtension Object representing an extension. Methods may be called on any thread unless otherwise indicated. :get-identifier (fn [CefExtension]) -> CefStringUtf16 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(). :get-path (fn [CefExtension]) -> CefStringUtf16 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(). :get-manifest (fn [CefExtension]) -> CefDictionaryValue Returns the extension manifest contents as a cef_dictionary_value_t object. See https://developer.chrome.com/extensions/manifest for details. :is-same (fn [CefExtension,CefExtension]) -> int 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. :get-handler (fn [CefExtension]) -> CefExtensionHandler Returns the handler for this extension. Will return NULL for internal extensions or if no handler was passed to cef_request_context_t::LoadExtension. :get-loader-context (fn [CefExtension]) -> CefRequestContext 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. :is-loaded (fn [CefExtension]) -> int Returns true (1) if this extension is currently loaded. Must be called on the browser process UI thread. :unload (fn [CefExtension]) -> void 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.
(map->extension-handler)
(map->extension-handler
{:as m
:keys [on-extension-load-failed on-extension-loaded on-extension-unloaded
on-before-background-browser on-before-browser get-active-browser
can-access-browser get-extension-resource]})
Make a CefExtensionHandler 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.
:on-extension-load-failed (fn [CefExtensionHandler,int]) -> void Called if the cef_request_context_t::LoadExtension request fails. |result| will be the error code.
:on-extension-loaded (fn [CefExtensionHandler,CefExtension]) -> void Called if the cef_request_context_t::LoadExtension request succeeds. |extension| is the loaded extension.
:on-extension-unloaded (fn [CefExtensionHandler,CefExtension]) -> void Called after the cef_extension_t::Unload request has completed.
:on-before-background-browser (fn [CefExtensionHandler,CefExtension,CefStringUtf16,Pointer,CefBrowserSettings]) -> int 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.
:on-before-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,CefBrowser,int,CefStringUtf16,int,Pointer,Pointer,CefBrowserSettings]) -> int 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.
:get-active-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int]) -> CefBrowser 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).
:can-access-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int,CefBrowser]) -> int 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).
:get-extension-resource (fn [CefExtensionHandler,CefExtension,CefBrowser,CefStringUtf16,CefGetExtensionResourceCallback]) -> int 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.
Make a CefExtensionHandler 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. :on-extension-load-failed (fn [CefExtensionHandler,int]) -> void Called if the cef_request_context_t::LoadExtension request fails. |result| will be the error code. :on-extension-loaded (fn [CefExtensionHandler,CefExtension]) -> void Called if the cef_request_context_t::LoadExtension request succeeds. |extension| is the loaded extension. :on-extension-unloaded (fn [CefExtensionHandler,CefExtension]) -> void Called after the cef_extension_t::Unload request has completed. :on-before-background-browser (fn [CefExtensionHandler,CefExtension,CefStringUtf16,Pointer,CefBrowserSettings]) -> int 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. :on-before-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,CefBrowser,int,CefStringUtf16,int,Pointer,Pointer,CefBrowserSettings]) -> int 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. :get-active-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int]) -> CefBrowser 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). :can-access-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int,CefBrowser]) -> int 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). :get-extension-resource (fn [CefExtensionHandler,CefExtension,CefBrowser,CefStringUtf16,CefGetExtensionResourceCallback]) -> int 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.
(map->file-dialog-callback)
(map->file-dialog-callback {:as m :keys [cont cancel]})
Make a CefFileDialogCallback Callback structure for asynchronous continuation of file dialog requests.
:cont (fn [CefFileDialogCallback,int,Pointer]) -> void Continue the file selection. |selected_accept_filter| should be the 0-based index of the value selected from the accept filters array passed to cef_dialog_handler_t::OnFileDialog. |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().
:cancel (fn [CefFileDialogCallback]) -> void Cancel the file selection.
Make a CefFileDialogCallback Callback structure for asynchronous continuation of file dialog requests. :cont (fn [CefFileDialogCallback,int,Pointer]) -> void Continue the file selection. |selected_accept_filter| should be the 0-based index of the value selected from the accept filters array passed to cef_dialog_handler_t::OnFileDialog. |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(). :cancel (fn [CefFileDialogCallback]) -> void Cancel the file selection.
(map->find-handler)
(map->find-handler {:as m :keys [on-find-result]})
Make a CefFindHandler Implement this structure to handle events related to find results. The functions of this structure will be called on the UI thread.
:on-find-result (fn [CefFindHandler,CefBrowser,int,int,CefRect,int,int]) -> void Called to report find results returned by cef_browser_host_t::find(). |identifer| is the identifier passed to find(), |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.
Make a CefFindHandler Implement this structure to handle events related to find results. The functions of this structure will be called on the UI thread. :on-find-result (fn [CefFindHandler,CefBrowser,int,int,CefRect,int,int]) -> void Called to report find results returned by cef_browser_host_t::find(). |identifer| is the identifier passed to find(), |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.
(map->focus-handler)
(map->focus-handler {:as m :keys [on-take-focus on-set-focus on-got-focus]})
Make a CefFocusHandler Implement this structure to handle events related to focus. The functions of this structure will be called on the UI thread.
:on-take-focus (fn [CefFocusHandler,CefBrowser,int]) -> void 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.
:on-set-focus (fn [CefFocusHandler,CefBrowser,int]) -> int 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.
:on-got-focus (fn [CefFocusHandler,CefBrowser]) -> void Called when the browser component has received focus.
Make a CefFocusHandler Implement this structure to handle events related to focus. The functions of this structure will be called on the UI thread. :on-take-focus (fn [CefFocusHandler,CefBrowser,int]) -> void 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. :on-set-focus (fn [CefFocusHandler,CefBrowser,int]) -> int 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. :on-got-focus (fn [CefFocusHandler,CefBrowser]) -> void Called when the browser component has received focus.
(map->frame)
(map->frame {:as m
:keys [is-valid undo redo cut copy paste del select-all view-source
get-source get-text load-request load-url
execute-java-script is-main is-focused get-name
get-identifier get-parent get-url get-browser get-v8context
visit-dom create-urlrequest send-process-message]})
Make a CefFrame 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.
:is-valid (fn [CefFrame]) -> int True if this object is currently attached to a valid frame.
:undo (fn [CefFrame]) -> void Execute undo in this frame.
:redo (fn [CefFrame]) -> void Execute redo in this frame.
:cut (fn [CefFrame]) -> void Execute cut in this frame.
:copy (fn [CefFrame]) -> void Execute copy in this frame.
:paste (fn [CefFrame]) -> void Execute paste in this frame.
:del (fn [CefFrame]) -> void Execute delete in this frame.
:select-all (fn [CefFrame]) -> void Execute select all in this frame.
:view-source (fn [CefFrame]) -> void 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.
:get-source (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's HTML source as a string sent to the specified visitor.
:get-text (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's display text as a string sent to the specified visitor.
:load-request (fn [CefFrame,CefRequest]) -> void 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).
:load-url (fn [CefFrame,CefStringUtf16]) -> void Load the specified |url|.
:execute-java-script (fn [CefFrame,CefStringUtf16,CefStringUtf16,int]) -> void 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.
:is-main (fn [CefFrame]) -> int Returns true (1) if this is the main (top-level) frame.
:is-focused (fn [CefFrame]) -> int Returns true (1) if this is the focused frame.
:get-name (fn [CefFrame]) -> CefStringUtf16 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().
:get-identifier (fn [CefFrame]) -> long Returns the globally unique identifier for this frame or < 0 if the underlying frame does not yet exist.
:get-parent (fn [CefFrame]) -> CefFrame Returns the parent of this frame or NULL if this is the main (top-level) frame.
:get-url (fn [CefFrame]) -> CefStringUtf16 Returns the URL currently loaded in this frame. The resulting string must be freed by calling cef_string_userfree_free().
:get-browser (fn [CefFrame]) -> CefBrowser Returns the browser that this frame belongs to.
:get-v8context (fn [CefFrame]) -> CefV8context Get the V8 context associated with the frame. This function can only be called from the render process.
:visit-dom (fn [CefFrame,CefDomvisitor]) -> void Visit the DOM document. This function can only be called from the render process.
:create-urlrequest (fn [CefFrame,CefRequest,CefUrlrequestClient]) -> CefUrlrequest Create a new URL request that will be treated as originating from this frame and the associated browser. This request may be intercepted by the client via cef_resource_request_handler_t or cef_scheme_handler_factory_t. 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). Requests may originate from both the browser process and the render process. For requests originating from the browser process:
:send-process-message (fn [CefFrame,int,CefProcessMessage]) -> void Send a message to the specified |target_process|. 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.
Make a CefFrame 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. :is-valid (fn [CefFrame]) -> int True if this object is currently attached to a valid frame. :undo (fn [CefFrame]) -> void Execute undo in this frame. :redo (fn [CefFrame]) -> void Execute redo in this frame. :cut (fn [CefFrame]) -> void Execute cut in this frame. :copy (fn [CefFrame]) -> void Execute copy in this frame. :paste (fn [CefFrame]) -> void Execute paste in this frame. :del (fn [CefFrame]) -> void Execute delete in this frame. :select-all (fn [CefFrame]) -> void Execute select all in this frame. :view-source (fn [CefFrame]) -> void 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. :get-source (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's HTML source as a string sent to the specified visitor. :get-text (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's display text as a string sent to the specified visitor. :load-request (fn [CefFrame,CefRequest]) -> void 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). :load-url (fn [CefFrame,CefStringUtf16]) -> void Load the specified |url|. :execute-java-script (fn [CefFrame,CefStringUtf16,CefStringUtf16,int]) -> void 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. :is-main (fn [CefFrame]) -> int Returns true (1) if this is the main (top-level) frame. :is-focused (fn [CefFrame]) -> int Returns true (1) if this is the focused frame. :get-name (fn [CefFrame]) -> CefStringUtf16 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(). :get-identifier (fn [CefFrame]) -> long Returns the globally unique identifier for this frame or < 0 if the underlying frame does not yet exist. :get-parent (fn [CefFrame]) -> CefFrame Returns the parent of this frame or NULL if this is the main (top-level) frame. :get-url (fn [CefFrame]) -> CefStringUtf16 Returns the URL currently loaded in this frame. The resulting string must be freed by calling cef_string_userfree_free(). :get-browser (fn [CefFrame]) -> CefBrowser Returns the browser that this frame belongs to. :get-v8context (fn [CefFrame]) -> CefV8context Get the V8 context associated with the frame. This function can only be called from the render process. :visit-dom (fn [CefFrame,CefDomvisitor]) -> void Visit the DOM document. This function can only be called from the render process. :create-urlrequest (fn [CefFrame,CefRequest,CefUrlrequestClient]) -> CefUrlrequest Create a new URL request that will be treated as originating from this frame and the associated browser. This request may be intercepted by the client via cef_resource_request_handler_t or cef_scheme_handler_factory_t. 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). Requests may originate from both the browser process and the render process. For requests originating from the browser process: - POST data may only contain a single element of type PDE_TYPE_FILE or PDE_TYPE_BYTES. For requests originating from the render process: - POST data may only contain a single element of type PDE_TYPE_BYTES. - If the response contains Content-Disposition or Mime-Type header values that would not normally be rendered then the response may receive special handling inside the browser (for example, via the file download code path instead of the URL request code path). The |request| object will be marked as read-only after calling this function. :send-process-message (fn [CefFrame,int,CefProcessMessage]) -> void Send a message to the specified |target_process|. 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.
(map->get-extension-resource-callback)
(map->get-extension-resource-callback {:as m :keys [cont cancel]})
Make a CefGetExtensionResourceCallback Callback structure used for asynchronous continuation of cef_extension_handler_t::GetExtensionResource.
:cont (fn [CefGetExtensionResourceCallback,CefStreamReader]) -> void Continue the request. Read the resource contents from |stream|.
:cancel (fn [CefGetExtensionResourceCallback]) -> void Cancel the request.
Make a CefGetExtensionResourceCallback Callback structure used for asynchronous continuation of cef_extension_handler_t::GetExtensionResource. :cont (fn [CefGetExtensionResourceCallback,CefStreamReader]) -> void Continue the request. Read the resource contents from |stream|. :cancel (fn [CefGetExtensionResourceCallback]) -> void Cancel the request.
(map->image)
(map->image {:as m
:keys [is-empty is-same add-bitmap add-png add-jpeg get-width
get-height has-representation remove-representation
get-representation-info get-as-bitmap get-as-png
get-as-jpeg]})
Make a CefImage 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.
:is-empty (fn [CefImage]) -> int Returns true (1) if this Image is NULL.
:is-same (fn [CefImage,CefImage]) -> int Returns true (1) if this Image and |that| Image share the same underlying storage. Will also return true (1) if both images are NULL.
:add-bitmap (fn [CefImage,float,int,int,int,int,Pointer,SizeT]) -> int 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.
:add-png (fn [CefImage,float,Pointer,SizeT]) -> int 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.
:add-jpeg (fn [CefImage,float,Pointer,SizeT]) -> int 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.
:get-width (fn [CefImage]) -> SizeT Returns the image width in density independent pixel (DIP) units.
:get-height (fn [CefImage]) -> SizeT Returns the image height in density independent pixel (DIP) units.
:has-representation (fn [CefImage,float]) -> int Returns true (1) if this image contains a representation for |scale_factor|.
:remove-representation (fn [CefImage,float]) -> int Removes the representation for |scale_factor|. Returns true (1) on success.
:get-representation-info (fn [CefImage,float,Pointer,Pointer,Pointer]) -> int 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.
:get-as-bitmap (fn [CefImage,float,int,int,Pointer,Pointer]) -> CefBinaryValue 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.
:get-as-png (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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.
:get-as-jpeg (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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.
Make a CefImage 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. :is-empty (fn [CefImage]) -> int Returns true (1) if this Image is NULL. :is-same (fn [CefImage,CefImage]) -> int Returns true (1) if this Image and |that| Image share the same underlying storage. Will also return true (1) if both images are NULL. :add-bitmap (fn [CefImage,float,int,int,int,int,Pointer,SizeT]) -> int 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. :add-png (fn [CefImage,float,Pointer,SizeT]) -> int 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. :add-jpeg (fn [CefImage,float,Pointer,SizeT]) -> int 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. :get-width (fn [CefImage]) -> SizeT Returns the image width in density independent pixel (DIP) units. :get-height (fn [CefImage]) -> SizeT Returns the image height in density independent pixel (DIP) units. :has-representation (fn [CefImage,float]) -> int Returns true (1) if this image contains a representation for |scale_factor|. :remove-representation (fn [CefImage,float]) -> int Removes the representation for |scale_factor|. Returns true (1) on success. :get-representation-info (fn [CefImage,float,Pointer,Pointer,Pointer]) -> int 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. :get-as-bitmap (fn [CefImage,float,int,int,Pointer,Pointer]) -> CefBinaryValue 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. :get-as-png (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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. :get-as-jpeg (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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.
(map->insets)
(map->insets {:as m :keys [top left bottom right]})
Make a CefInsets Structure representing insets.
Make a CefInsets Structure representing insets.
(map->jsdialog-callback)
(map->jsdialog-callback {:as m :keys [cont]})
Make a CefJsdialogCallback Callback structure used for asynchronous continuation of JavaScript dialog requests.
:cont (fn [CefJsdialogCallback,int,CefStringUtf16]) -> void 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.
Make a CefJsdialogCallback Callback structure used for asynchronous continuation of JavaScript dialog requests. :cont (fn [CefJsdialogCallback,int,CefStringUtf16]) -> void 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.
(map->jsdialog-handler)
(map->jsdialog-handler {:as m
:keys [on-jsdialog on-before-unload-dialog
on-reset-dialog-state on-dialog-closed]})
Make a CefJsdialogHandler Implement this structure to handle events related to JavaScript dialogs. The functions of this structure will be called on the UI thread.
:on-jsdialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefJsdialogCallback,Pointer]) -> int 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.
:on-before-unload-dialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefJsdialogCallback]) -> int 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.
:on-reset-dialog-state (fn [CefJsdialogHandler,CefBrowser]) -> void 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.
:on-dialog-closed (fn [CefJsdialogHandler,CefBrowser]) -> void Called when the default implementation dialog is closed.
Make a CefJsdialogHandler Implement this structure to handle events related to JavaScript dialogs. The functions of this structure will be called on the UI thread. :on-jsdialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefJsdialogCallback,Pointer]) -> int 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. :on-before-unload-dialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefJsdialogCallback]) -> int 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. :on-reset-dialog-state (fn [CefJsdialogHandler,CefBrowser]) -> void 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. :on-dialog-closed (fn [CefJsdialogHandler,CefBrowser]) -> void Called when the default implementation dialog is closed.
(map->key-event)
(map->key-event {:as m
:keys [type modifiers windows-key-code native-key-code
is-system-key character unmodified-character
focus-on-editable-field]})
Make a CefKeyEvent Structure representing keyboard event information.
:type cef_key_event_type_t The type of keyboard event.
:modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
:windows-key-code int The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values.
:native-key-code int The actual key code genenerated by the platform.
:is-system-key int Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). This value will always be false on non-Windows platforms.
:character char16 The character generated by the keystroke.
:unmodified-character char16 Same as |character| but unmodified by any concurrently-held modifiers (except shift). This is useful for working out shortcut keys.
:focus-on-editable-field int True if the focus is currently on an editable field on the page. This is useful for determining if standard key events should be intercepted.
Make a CefKeyEvent Structure representing keyboard event information. :type cef_key_event_type_t The type of keyboard event. :modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values. :windows-key-code int The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. :native-key-code int The actual key code genenerated by the platform. :is-system-key int Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). This value will always be false on non-Windows platforms. :character char16 The character generated by the keystroke. :unmodified-character char16 Same as |character| but unmodified by any concurrently-held modifiers (except shift). This is useful for working out shortcut keys. :focus-on-editable-field int True if the focus is currently on an editable field on the page. This is useful for determining if standard key events should be intercepted.
(map->keyboard-handler)
(map->keyboard-handler {:as m :keys [on-pre-key-event on-key-event]})
Make a CefKeyboardHandler Implement this structure to handle events related to keyboard input. The functions of this structure will be called on the UI thread.
:on-pre-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer,Pointer]) -> int 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).
:on-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer]) -> int 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.
Make a CefKeyboardHandler Implement this structure to handle events related to keyboard input. The functions of this structure will be called on the UI thread. :on-pre-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer,Pointer]) -> int 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). :on-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer]) -> int 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.
(map->life-span-handler)
(map->life-span-handler
{:as m :keys [on-before-popup on-after-created do-close on-before-close]})
Make a CefLifeSpanHandler 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.
:on-before-popup (fn [CefLifeSpanHandler,CefBrowser,CefFrame,CefStringUtf16,CefStringUtf16,int,int,CefPopupFeatures,Pointer,Pointer,CefBrowserSettings,Pointer,Pointer]) -> int 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.
:on-after-created (fn [CefLifeSpanHandler,CefBrowser]) -> void Called after a new browser is created. This callback will be the first notification that references |browser|.
:do-close (fn [CefLifeSpanHandler,CefBrowser]) -> int Called when a browser has recieved 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.
:on-before-close (fn [CefLifeSpanHandler,CefBrowser]) -> void 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 GetIdentifier or IsSame) after this callback returns. This callback will be the last notification that references |browser| on the UI thread. 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 function is called. See do_close() documentation for additional usage information.
Make a CefLifeSpanHandler 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. :on-before-popup (fn [CefLifeSpanHandler,CefBrowser,CefFrame,CefStringUtf16,CefStringUtf16,int,int,CefPopupFeatures,Pointer,Pointer,CefBrowserSettings,Pointer,Pointer]) -> int 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. :on-after-created (fn [CefLifeSpanHandler,CefBrowser]) -> void Called after a new browser is created. This callback will be the first notification that references |browser|. :do-close (fn [CefLifeSpanHandler,CefBrowser]) -> int Called when a browser has recieved 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. :on-before-close (fn [CefLifeSpanHandler,CefBrowser]) -> void 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 GetIdentifier or IsSame) after this callback returns. This callback will be the last notification that references |browser| on the UI thread. 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 function is called. See do_close() documentation for additional usage information.
(map->list-value)
(map->list-value
{:as m
:keys [is-valid is-owned is-read-only is-same is-equal copy set-size get-size
clear remove get-type get-value get-bool get-int get-double get-string
get-binary get-dictionary get-list set-value set-null set-bool set-int
set-double set-string set-binary set-dictionary set-list]})
Make a CefListValue Structure representing a list value. Can be used on any process and thread.
:is-valid (fn [CefListValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0).
:is-owned (fn [CefListValue]) -> int Returns true (1) if this object is currently owned by another object.
:is-read-only (fn [CefListValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:is-same (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa.
:is-equal (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefListValue]) -> CefListValue Returns a writable copy of this object.
:set-size (fn [CefListValue,SizeT]) -> int Sets the number of values. If the number of values is expanded all new value slots will default to type null. Returns true (1) on success.
:get-size (fn [CefListValue]) -> SizeT Returns the number of values.
:clear (fn [CefListValue]) -> int Removes all values. Returns true (1) on success.
:remove (fn [CefListValue,SizeT]) -> int Removes the value at the specified index.
:get-type (fn [CefListValue,SizeT]) -> int Returns the value type at the specified index.
:get-value (fn [CefListValue,SizeT]) -> CefValue Returns the value at the specified index. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object.
:get-bool (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type bool.
:get-int (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type int.
:get-double (fn [CefListValue,SizeT]) -> double Returns the value at the specified index as type double.
:get-string (fn [CefListValue,SizeT]) -> CefStringUtf16 Returns the value at the specified index as type string. The resulting string must be freed by calling cef_string_userfree_free().
:get-binary (fn [CefListValue,SizeT]) -> CefBinaryValue Returns the value at the specified index as type binary. The returned value will reference existing data.
:get-dictionary (fn [CefListValue,SizeT]) -> CefDictionaryValue Returns the value at the specified index as type dictionary. The returned value will reference existing data and modifications to the value will modify this object.
:get-list (fn [CefListValue,SizeT]) -> CefListValue Returns the value at the specified index as type list. The returned value will reference existing data and modifications to the value will modify this object.
:set-value (fn [CefListValue,SizeT,CefValue]) -> int Sets the value at the specified index. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object.
:set-null (fn [CefListValue,SizeT]) -> int Sets the value at the specified index as type null. Returns true (1) if the value was set successfully.
:set-bool (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type bool. Returns true (1) if the value was set successfully.
:set-int (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type int. Returns true (1) if the value was set successfully.
:set-double (fn [CefListValue,SizeT,double]) -> int Sets the value at the specified index as type double. Returns true (1) if the value was set successfully.
:set-string (fn [CefListValue,SizeT,CefStringUtf16]) -> int Sets the value at the specified index as type string. Returns true (1) if the value was set successfully.
:set-binary (fn [CefListValue,SizeT,CefBinaryValue]) -> int Sets the value at the specified index as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-dictionary (fn [CefListValue,SizeT,CefDictionaryValue]) -> int Sets the value at the specified index as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-list (fn [CefListValue,SizeT,CefListValue]) -> int Sets the value at the specified index as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
Make a CefListValue Structure representing a list value. Can be used on any process and thread. :is-valid (fn [CefListValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0). :is-owned (fn [CefListValue]) -> int Returns true (1) if this object is currently owned by another object. :is-read-only (fn [CefListValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :is-same (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa. :is-equal (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefListValue]) -> CefListValue Returns a writable copy of this object. :set-size (fn [CefListValue,SizeT]) -> int Sets the number of values. If the number of values is expanded all new value slots will default to type null. Returns true (1) on success. :get-size (fn [CefListValue]) -> SizeT Returns the number of values. :clear (fn [CefListValue]) -> int Removes all values. Returns true (1) on success. :remove (fn [CefListValue,SizeT]) -> int Removes the value at the specified index. :get-type (fn [CefListValue,SizeT]) -> int Returns the value type at the specified index. :get-value (fn [CefListValue,SizeT]) -> CefValue Returns the value at the specified index. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object. :get-bool (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type bool. :get-int (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type int. :get-double (fn [CefListValue,SizeT]) -> double Returns the value at the specified index as type double. :get-string (fn [CefListValue,SizeT]) -> CefStringUtf16 Returns the value at the specified index as type string. The resulting string must be freed by calling cef_string_userfree_free(). :get-binary (fn [CefListValue,SizeT]) -> CefBinaryValue Returns the value at the specified index as type binary. The returned value will reference existing data. :get-dictionary (fn [CefListValue,SizeT]) -> CefDictionaryValue Returns the value at the specified index as type dictionary. The returned value will reference existing data and modifications to the value will modify this object. :get-list (fn [CefListValue,SizeT]) -> CefListValue Returns the value at the specified index as type list. The returned value will reference existing data and modifications to the value will modify this object. :set-value (fn [CefListValue,SizeT,CefValue]) -> int Sets the value at the specified index. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object. :set-null (fn [CefListValue,SizeT]) -> int Sets the value at the specified index as type null. Returns true (1) if the value was set successfully. :set-bool (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type bool. Returns true (1) if the value was set successfully. :set-int (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type int. Returns true (1) if the value was set successfully. :set-double (fn [CefListValue,SizeT,double]) -> int Sets the value at the specified index as type double. Returns true (1) if the value was set successfully. :set-string (fn [CefListValue,SizeT,CefStringUtf16]) -> int Sets the value at the specified index as type string. Returns true (1) if the value was set successfully. :set-binary (fn [CefListValue,SizeT,CefBinaryValue]) -> int Sets the value at the specified index as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-dictionary (fn [CefListValue,SizeT,CefDictionaryValue]) -> int Sets the value at the specified index as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-list (fn [CefListValue,SizeT,CefListValue]) -> int Sets the value at the specified index as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
(map->load-handler)
(map->load-handler {:as m
:keys [on-loading-state-change on-load-start on-load-end
on-load-error]})
Make a CefLoadHandler 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).
:on-loading-state-change (fn [CefLoadHandler,CefBrowser,int,int,int]) -> void 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.
:on-load-start (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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.
:on-load-end (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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.
:on-load-error (fn [CefLoadHandler,CefBrowser,CefFrame,int,CefStringUtf16,CefStringUtf16]) -> void 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.
Make a CefLoadHandler 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). :on-loading-state-change (fn [CefLoadHandler,CefBrowser,int,int,int]) -> void 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. :on-load-start (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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. :on-load-end (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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. :on-load-error (fn [CefLoadHandler,CefBrowser,CefFrame,int,CefStringUtf16,CefStringUtf16]) -> void 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.
(map->main-args)
(map->main-args {:as m :keys [argc argv]})
Make a CefMainArgs Structure representing CefExecuteProcess arguments.
Make a CefMainArgs Structure representing CefExecuteProcess arguments.
(map->media-observer)
(map->media-observer {:as m
:keys [on-sinks on-routes on-route-state-changed
on-route-message-received]})
Make a CefMediaObserver 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.
:on-sinks (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media sinks has changed or cef_media_router_t::NotifyCurrentSinks was called.
:on-routes (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media routes has changed or cef_media_router_t::NotifyCurrentRoutes was called.
:on-route-state-changed (fn [CefMediaObserver,CefMediaRoute,int]) -> void The connection state of |route| has changed.
:on-route-message-received (fn [CefMediaObserver,CefMediaRoute,Pointer,SizeT]) -> void A message was recieved over |route|. |message| is only valid for the scope of this callback and should be copied if necessary.
Make a CefMediaObserver 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. :on-sinks (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media sinks has changed or cef_media_router_t::NotifyCurrentSinks was called. :on-routes (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media routes has changed or cef_media_router_t::NotifyCurrentRoutes was called. :on-route-state-changed (fn [CefMediaObserver,CefMediaRoute,int]) -> void The connection state of |route| has changed. :on-route-message-received (fn [CefMediaObserver,CefMediaRoute,Pointer,SizeT]) -> void A message was recieved over |route|. |message| is only valid for the scope of this callback and should be copied if necessary.
(map->media-route)
(map->media-route
{:as m :keys [get-id get-source get-sink send-route-message terminate]})
Make a CefMediaRoute 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.
:get-id (fn [CefMediaRoute]) -> CefStringUtf16 Returns the ID for this route. The resulting string must be freed by calling cef_string_userfree_free().
:get-source (fn [CefMediaRoute]) -> CefMediaSource Returns the source associated with this route.
:get-sink (fn [CefMediaRoute]) -> CefMediaSink Returns the sink associated with this route.
:send-route-message (fn [CefMediaRoute,Pointer,SizeT]) -> void Send a message over this route. |message| will be copied if necessary.
:terminate (fn [CefMediaRoute]) -> void Terminate this route. Will result in an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
Make a CefMediaRoute 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. :get-id (fn [CefMediaRoute]) -> CefStringUtf16 Returns the ID for this route. The resulting string must be freed by calling cef_string_userfree_free(). :get-source (fn [CefMediaRoute]) -> CefMediaSource Returns the source associated with this route. :get-sink (fn [CefMediaRoute]) -> CefMediaSink Returns the sink associated with this route. :send-route-message (fn [CefMediaRoute,Pointer,SizeT]) -> void Send a message over this route. |message| will be copied if necessary. :terminate (fn [CefMediaRoute]) -> void Terminate this route. Will result in an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
(map->media-route-create-callback)
(map->media-route-create-callback {:as m
:keys [on-media-route-create-finished]})
Make a CefMediaRouteCreateCallback Callback structure for cef_media_router_t::CreateRoute. The functions of this structure will be called on the browser process UI thread.
:on-media-route-create-finished (fn [CefMediaRouteCreateCallback,int,CefStringUtf16,CefMediaRoute]) -> void 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.
Make a CefMediaRouteCreateCallback Callback structure for cef_media_router_t::CreateRoute. The functions of this structure will be called on the browser process UI thread. :on-media-route-create-finished (fn [CefMediaRouteCreateCallback,int,CefStringUtf16,CefMediaRoute]) -> void 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.
(map->media-router)
(map->media-router {:as m
:keys [add-observer get-source notify-current-sinks
create-route notify-current-routes]})
Make a CefMediaRouter 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.
:add-observer (fn [CefMediaRouter,CefMediaObserver]) -> CefRegistration Add an observer for MediaRouter events. The observer will remain registered until the returned Registration object is destroyed.
:get-source (fn [CefMediaRouter,CefStringUtf16]) -> CefMediaSource 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>").
:notify-current-sinks (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnSinks on all registered observers.
:create-route (fn [CefMediaRouter,CefMediaSource,CefMediaSink,CefMediaRouteCreateCallback]) -> void 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.
:notify-current-routes (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
Make a CefMediaRouter 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. :add-observer (fn [CefMediaRouter,CefMediaObserver]) -> CefRegistration Add an observer for MediaRouter events. The observer will remain registered until the returned Registration object is destroyed. :get-source (fn [CefMediaRouter,CefStringUtf16]) -> CefMediaSource 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>"). :notify-current-sinks (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnSinks on all registered observers. :create-route (fn [CefMediaRouter,CefMediaSource,CefMediaSink,CefMediaRouteCreateCallback]) -> void 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. :notify-current-routes (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
(map->media-sink)
(map->media-sink {:as m
:keys [get-id get-name get-description get-icon-type
get-device-info is-cast-sink is-dial-sink
is-compatible-with]})
Make a CefMediaSink 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.
:get-id (fn [CefMediaSink]) -> CefStringUtf16 Returns the ID for this sink. The resulting string must be freed by calling cef_string_userfree_free().
:get-name (fn [CefMediaSink]) -> CefStringUtf16 Returns the name of this sink. The resulting string must be freed by calling cef_string_userfree_free().
:get-description (fn [CefMediaSink]) -> CefStringUtf16 Returns the description of this sink. The resulting string must be freed by calling cef_string_userfree_free().
:get-icon-type (fn [CefMediaSink]) -> int Returns the icon type for this sink.
:get-device-info (fn [CefMediaSink,CefMediaSinkDeviceInfoCallback]) -> void Asynchronously retrieves device info.
:is-cast-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via Cast.
:is-dial-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via DIAL.
:is-compatible-with (fn [CefMediaSink,CefMediaSource]) -> int Returns true (1) if this sink is compatible with |source|.
Make a CefMediaSink 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. :get-id (fn [CefMediaSink]) -> CefStringUtf16 Returns the ID for this sink. The resulting string must be freed by calling cef_string_userfree_free(). :get-name (fn [CefMediaSink]) -> CefStringUtf16 Returns the name of this sink. The resulting string must be freed by calling cef_string_userfree_free(). :get-description (fn [CefMediaSink]) -> CefStringUtf16 Returns the description of this sink. The resulting string must be freed by calling cef_string_userfree_free(). :get-icon-type (fn [CefMediaSink]) -> int Returns the icon type for this sink. :get-device-info (fn [CefMediaSink,CefMediaSinkDeviceInfoCallback]) -> void Asynchronously retrieves device info. :is-cast-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via Cast. :is-dial-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via DIAL. :is-compatible-with (fn [CefMediaSink,CefMediaSource]) -> int Returns true (1) if this sink is compatible with |source|.
(map->media-sink-device-info)
(map->media-sink-device-info {:as m :keys [ip-address port model-name]})
Make a CefMediaSinkDeviceInfo Device information for a MediaSink object.
Make a CefMediaSinkDeviceInfo Device information for a MediaSink object.
(map->media-sink-device-info-callback)
(map->media-sink-device-info-callback {:as m :keys [on-media-sink-device-info]})
Make a CefMediaSinkDeviceInfoCallback Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of this structure will be called on the browser process UI thread.
:on-media-sink-device-info (fn [CefMediaSinkDeviceInfoCallback,CefMediaSinkDeviceInfo]) -> void Method that will be executed asyncronously once device information has been retrieved.
Make a CefMediaSinkDeviceInfoCallback Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of this structure will be called on the browser process UI thread. :on-media-sink-device-info (fn [CefMediaSinkDeviceInfoCallback,CefMediaSinkDeviceInfo]) -> void Method that will be executed asyncronously once device information has been retrieved.
(map->media-source)
(map->media-source {:as m :keys [get-id is-cast-source is-dial-source]})
Make a CefMediaSource 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.
:get-id (fn [CefMediaSource]) -> CefStringUtf16 Returns the ID (media source URN or URL) for this source. The resulting string must be freed by calling cef_string_userfree_free().
:is-cast-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via Cast.
:is-dial-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via DIAL.
Make a CefMediaSource 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. :get-id (fn [CefMediaSource]) -> CefStringUtf16 Returns the ID (media source URN or URL) for this source. The resulting string must be freed by calling cef_string_userfree_free(). :is-cast-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via Cast. :is-dial-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via DIAL.
(map->menu-model)
(map->menu-model
{:as m
:keys [is-sub-menu clear get-count add-separator add-item add-check-item
add-radio-item add-sub-menu insert-separator-at insert-item-at
insert-check-item-at insert-radio-item-at insert-sub-menu-at remove
remove-at get-index-of get-command-id-at set-command-id-at get-label
get-label-at set-label set-label-at get-type get-type-at get-group-id
get-group-id-at set-group-id set-group-id-at get-sub-menu
get-sub-menu-at is-visible is-visible-at set-visible set-visible-at
is-enabled is-enabled-at set-enabled set-enabled-at is-checked
is-checked-at set-checked set-checked-at has-accelerator
has-accelerator-at set-accelerator set-accelerator-at
remove-accelerator remove-accelerator-at get-accelerator
get-accelerator-at set-color set-color-at get-color get-color-at
set-font-list set-font-list-at]})
Make a CefMenuModel 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.
:is-sub-menu (fn [CefMenuModel]) -> int Returns true (1) if this menu is a submenu.
:clear (fn [CefMenuModel]) -> int Clears the menu. Returns true (1) on success.
:get-count (fn [CefMenuModel]) -> int Returns the number of items in this menu.
:add-separator (fn [CefMenuModel]) -> int Add a separator to the menu. Returns true (1) on success.
:add-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add an item to the menu. Returns true (1) on success.
:add-check-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add a check item to the menu. Returns true (1) on success.
:add-radio-item (fn [CefMenuModel,int,CefStringUtf16,int]) -> int 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.
:add-sub-menu (fn [CefMenuModel,int,CefStringUtf16]) -> CefMenuModel Add a sub-menu to the menu. The new sub-menu is returned.
:insert-separator-at (fn [CefMenuModel,int]) -> int Insert a separator in the menu at the specified |index|. Returns true (1) on success.
:insert-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert an item in the menu at the specified |index|. Returns true (1) on success.
:insert-check-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert a check item in the menu at the specified |index|. Returns true (1) on success.
:insert-radio-item-at (fn [CefMenuModel,int,int,CefStringUtf16,int]) -> int 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.
:insert-sub-menu-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> CefMenuModel Insert a sub-menu in the menu at the specified |index|. The new sub-menu is returned.
:remove (fn [CefMenuModel,int]) -> int Removes the item with the specified |command_id|. Returns true (1) on success.
:remove-at (fn [CefMenuModel,int]) -> int Removes the item at the specified |index|. Returns true (1) on success.
:get-index-of (fn [CefMenuModel,int]) -> int Returns the index associated with the specified |command_id| or -1 if not found due to the command id not existing in the menu.
:get-command-id-at (fn [CefMenuModel,int]) -> int Returns the command id at the specified |index| or -1 if not found due to invalid range or the index being a separator.
:set-command-id-at (fn [CefMenuModel,int,int]) -> int Sets the command id at the specified |index|. Returns true (1) on success.
:get-label (fn [CefMenuModel,int]) -> CefStringUtf16 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().
:get-label-at (fn [CefMenuModel,int]) -> CefStringUtf16 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().
:set-label (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the label for the specified |command_id|. Returns true (1) on success.
:set-label-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Set the label at the specified |index|. Returns true (1) on success.
:get-type (fn [CefMenuModel,int]) -> int Returns the item type for the specified |command_id|.
:get-type-at (fn [CefMenuModel,int]) -> int Returns the item type at the specified |index|.
:get-group-id (fn [CefMenuModel,int]) -> int Returns the group id for the specified |command_id| or -1 if invalid.
:get-group-id-at (fn [CefMenuModel,int]) -> int Returns the group id at the specified |index| or -1 if invalid.
:set-group-id (fn [CefMenuModel,int,int]) -> int Sets the group id for the specified |command_id|. Returns true (1) on success.
:set-group-id-at (fn [CefMenuModel,int,int]) -> int Sets the group id at the specified |index|. Returns true (1) on success.
:get-sub-menu (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu for the specified |command_id| or NULL if invalid.
:get-sub-menu-at (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu at the specified |index| or NULL if invalid.
:is-visible (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is visible.
:is-visible-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is visible.
:set-visible (fn [CefMenuModel,int,int]) -> int Change the visibility of the specified |command_id|. Returns true (1) on success.
:set-visible-at (fn [CefMenuModel,int,int]) -> int Change the visibility at the specified |index|. Returns true (1) on success.
:is-enabled (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is enabled.
:is-enabled-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is enabled.
:set-enabled (fn [CefMenuModel,int,int]) -> int Change the enabled status of the specified |command_id|. Returns true (1) on success.
:set-enabled-at (fn [CefMenuModel,int,int]) -> int Change the enabled status at the specified |index|. Returns true (1) on success.
:is-checked (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is checked. Only applies to check and radio items.
:is-checked-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is checked. Only applies to check and radio items.
:set-checked (fn [CefMenuModel,int,int]) -> int Check the specified |command_id|. Only applies to check and radio items. Returns true (1) on success.
:set-checked-at (fn [CefMenuModel,int,int]) -> int Check the specified |index|. Only applies to check and radio items. Returns true (1) on success.
:has-accelerator (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| has a keyboard accelerator assigned.
:has-accelerator-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| has a keyboard accelerator assigned.
:set-accelerator (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator for the specified |command_id|. |key_code| can be any virtual key or character value. Returns true (1) on success.
:set-accelerator-at (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator at the specified |index|. |key_code| can be any virtual key or character value. Returns true (1) on success.
:remove-accelerator (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator for the specified |command_id|. Returns true (1) on success.
:remove-accelerator-at (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator at the specified |index|. Returns true (1) on success.
:get-accelerator (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |command_id|. Returns true (1) on success.
:get-accelerator-at (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |index|. Returns true (1) on success.
:set-color (fn [CefMenuModel,int,int,int]) -> int 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.
:set-color-at (fn [CefMenuModel,int,int,int]) -> int 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.
:get-color (fn [CefMenuModel,int,int,int]) -> int 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.
:get-color-at (fn [CefMenuModel,int,int,int]) -> int 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.
:set-font-list (fn [CefMenuModel,int,CefStringUtf16]) -> int 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
:set-font-list-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the font list for the specified |index|. Specify an |index| value of -1 to set the default font. If |font_list| is NULL the system font will be used. Returns true (1) on success. The format is "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma- separated list of font family names, - STYLES is an optional space- separated list of style names (case-sensitive "Bold" and "Italic" are supported), and
Make a CefMenuModel 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. :is-sub-menu (fn [CefMenuModel]) -> int Returns true (1) if this menu is a submenu. :clear (fn [CefMenuModel]) -> int Clears the menu. Returns true (1) on success. :get-count (fn [CefMenuModel]) -> int Returns the number of items in this menu. :add-separator (fn [CefMenuModel]) -> int Add a separator to the menu. Returns true (1) on success. :add-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add an item to the menu. Returns true (1) on success. :add-check-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add a check item to the menu. Returns true (1) on success. :add-radio-item (fn [CefMenuModel,int,CefStringUtf16,int]) -> int 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. :add-sub-menu (fn [CefMenuModel,int,CefStringUtf16]) -> CefMenuModel Add a sub-menu to the menu. The new sub-menu is returned. :insert-separator-at (fn [CefMenuModel,int]) -> int Insert a separator in the menu at the specified |index|. Returns true (1) on success. :insert-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert an item in the menu at the specified |index|. Returns true (1) on success. :insert-check-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert a check item in the menu at the specified |index|. Returns true (1) on success. :insert-radio-item-at (fn [CefMenuModel,int,int,CefStringUtf16,int]) -> int 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. :insert-sub-menu-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> CefMenuModel Insert a sub-menu in the menu at the specified |index|. The new sub-menu is returned. :remove (fn [CefMenuModel,int]) -> int Removes the item with the specified |command_id|. Returns true (1) on success. :remove-at (fn [CefMenuModel,int]) -> int Removes the item at the specified |index|. Returns true (1) on success. :get-index-of (fn [CefMenuModel,int]) -> int Returns the index associated with the specified |command_id| or -1 if not found due to the command id not existing in the menu. :get-command-id-at (fn [CefMenuModel,int]) -> int Returns the command id at the specified |index| or -1 if not found due to invalid range or the index being a separator. :set-command-id-at (fn [CefMenuModel,int,int]) -> int Sets the command id at the specified |index|. Returns true (1) on success. :get-label (fn [CefMenuModel,int]) -> CefStringUtf16 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(). :get-label-at (fn [CefMenuModel,int]) -> CefStringUtf16 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(). :set-label (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the label for the specified |command_id|. Returns true (1) on success. :set-label-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Set the label at the specified |index|. Returns true (1) on success. :get-type (fn [CefMenuModel,int]) -> int Returns the item type for the specified |command_id|. :get-type-at (fn [CefMenuModel,int]) -> int Returns the item type at the specified |index|. :get-group-id (fn [CefMenuModel,int]) -> int Returns the group id for the specified |command_id| or -1 if invalid. :get-group-id-at (fn [CefMenuModel,int]) -> int Returns the group id at the specified |index| or -1 if invalid. :set-group-id (fn [CefMenuModel,int,int]) -> int Sets the group id for the specified |command_id|. Returns true (1) on success. :set-group-id-at (fn [CefMenuModel,int,int]) -> int Sets the group id at the specified |index|. Returns true (1) on success. :get-sub-menu (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu for the specified |command_id| or NULL if invalid. :get-sub-menu-at (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu at the specified |index| or NULL if invalid. :is-visible (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is visible. :is-visible-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is visible. :set-visible (fn [CefMenuModel,int,int]) -> int Change the visibility of the specified |command_id|. Returns true (1) on success. :set-visible-at (fn [CefMenuModel,int,int]) -> int Change the visibility at the specified |index|. Returns true (1) on success. :is-enabled (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is enabled. :is-enabled-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is enabled. :set-enabled (fn [CefMenuModel,int,int]) -> int Change the enabled status of the specified |command_id|. Returns true (1) on success. :set-enabled-at (fn [CefMenuModel,int,int]) -> int Change the enabled status at the specified |index|. Returns true (1) on success. :is-checked (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is checked. Only applies to check and radio items. :is-checked-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is checked. Only applies to check and radio items. :set-checked (fn [CefMenuModel,int,int]) -> int Check the specified |command_id|. Only applies to check and radio items. Returns true (1) on success. :set-checked-at (fn [CefMenuModel,int,int]) -> int Check the specified |index|. Only applies to check and radio items. Returns true (1) on success. :has-accelerator (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| has a keyboard accelerator assigned. :has-accelerator-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| has a keyboard accelerator assigned. :set-accelerator (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator for the specified |command_id|. |key_code| can be any virtual key or character value. Returns true (1) on success. :set-accelerator-at (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator at the specified |index|. |key_code| can be any virtual key or character value. Returns true (1) on success. :remove-accelerator (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator for the specified |command_id|. Returns true (1) on success. :remove-accelerator-at (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator at the specified |index|. Returns true (1) on success. :get-accelerator (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |command_id|. Returns true (1) on success. :get-accelerator-at (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |index|. Returns true (1) on success. :set-color (fn [CefMenuModel,int,int,int]) -> int 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. :set-color-at (fn [CefMenuModel,int,int,int]) -> int 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. :get-color (fn [CefMenuModel,int,int,int]) -> int 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. :get-color-at (fn [CefMenuModel,int,int,int]) -> int 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. :set-font-list (fn [CefMenuModel,int,CefStringUtf16]) -> int 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" :set-font-list-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the font list for the specified |index|. Specify an |index| value of -1 to set the default font. If |font_list| is NULL the system font will be used. Returns true (1) on success. The format is "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma- separated list of font family names, - STYLES is an optional space- separated list of style names (case-sensitive "Bold" and "Italic" are supported), and - SIZE is an integer font size in pixels with the suffix "px". Here are examples of valid font description strings: - "Arial, Helvetica, Bold Italic 14px" - "Arial, 14px"
(map->menu-model-delegate)
(map->menu-model-delegate {:as m
:keys [execute-command mouse-outside-menu
unhandled-open-submenu unhandled-close-submenu
menu-will-show menu-closed format-label]})
Make a CefMenuModelDelegate 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.
:execute-command (fn [CefMenuModelDelegate,CefMenuModel,int,int]) -> void Perform the action associated with the specified |command_id| and optional |event_flags|.
:mouse-outside-menu (fn [CefMenuModelDelegate,CefMenuModel,CefPoint]) -> void Called when the user moves the mouse outside the menu and over the owning window.
:unhandled-open-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled open submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language.
:unhandled-close-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled close submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language.
:menu-will-show (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu is about to show.
:menu-closed (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu has closed.
:format-label (fn [CefMenuModelDelegate,CefMenuModel,CefStringUtf16]) -> int Optionally modify a menu item label. Return true (1) if |label| was modified.
Make a CefMenuModelDelegate 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. :execute-command (fn [CefMenuModelDelegate,CefMenuModel,int,int]) -> void Perform the action associated with the specified |command_id| and optional |event_flags|. :mouse-outside-menu (fn [CefMenuModelDelegate,CefMenuModel,CefPoint]) -> void Called when the user moves the mouse outside the menu and over the owning window. :unhandled-open-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled open submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language. :unhandled-close-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled close submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language. :menu-will-show (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu is about to show. :menu-closed (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu has closed. :format-label (fn [CefMenuModelDelegate,CefMenuModel,CefStringUtf16]) -> int Optionally modify a menu item label. Return true (1) if |label| was modified.
(map->mouse-event)
(map->mouse-event {:as m :keys [x y modifiers]})
Make a CefMouseEvent Structure representing mouse event information.
:x int X coordinate relative to the left side of the view.
:y int Y coordinate relative to the top side of the view.
:modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
Make a CefMouseEvent Structure representing mouse event information. :x int X coordinate relative to the left side of the view. :y int Y coordinate relative to the top side of the view. :modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
(map->navigation-entry)
(map->navigation-entry {:as m
:keys [is-valid get-url get-display-url get-original-url
get-title get-transition-type has-post-data
get-completion-time get-http-status-code
get-sslstatus]})
Make a CefNavigationEntry Structure used to represent an entry in navigation history.
:is-valid (fn [CefNavigationEntry]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:get-url (fn [CefNavigationEntry]) -> CefStringUtf16 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().
:get-display-url (fn [CefNavigationEntry]) -> CefStringUtf16 Returns a display-friendly version of the URL. The resulting string must be freed by calling cef_string_userfree_free().
:get-original-url (fn [CefNavigationEntry]) -> CefStringUtf16 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().
:get-title (fn [CefNavigationEntry]) -> CefStringUtf16 Returns the title set by the page. This value may be NULL. The resulting string must be freed by calling cef_string_userfree_free().
:get-transition-type (fn [CefNavigationEntry]) -> int Returns the transition type which indicates what the user did to move to this page from the previous page.
:has-post-data (fn [CefNavigationEntry]) -> int Returns true (1) if this navigation includes post data.
:get-completion-time (fn [CefNavigationEntry]) -> CefTime 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.
:get-http-status-code (fn [CefNavigationEntry]) -> int 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.
:get-sslstatus (fn [CefNavigationEntry]) -> CefSslstatus Returns the SSL information for this navigation entry.
Make a CefNavigationEntry Structure used to represent an entry in navigation history. :is-valid (fn [CefNavigationEntry]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :get-url (fn [CefNavigationEntry]) -> CefStringUtf16 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(). :get-display-url (fn [CefNavigationEntry]) -> CefStringUtf16 Returns a display-friendly version of the URL. The resulting string must be freed by calling cef_string_userfree_free(). :get-original-url (fn [CefNavigationEntry]) -> CefStringUtf16 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(). :get-title (fn [CefNavigationEntry]) -> CefStringUtf16 Returns the title set by the page. This value may be NULL. The resulting string must be freed by calling cef_string_userfree_free(). :get-transition-type (fn [CefNavigationEntry]) -> int Returns the transition type which indicates what the user did to move to this page from the previous page. :has-post-data (fn [CefNavigationEntry]) -> int Returns true (1) if this navigation includes post data. :get-completion-time (fn [CefNavigationEntry]) -> CefTime 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. :get-http-status-code (fn [CefNavigationEntry]) -> int 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. :get-sslstatus (fn [CefNavigationEntry]) -> CefSslstatus Returns the SSL information for this navigation entry.
(map->navigation-entry-visitor)
(map->navigation-entry-visitor {:as m :keys [visit]})
Make a CefNavigationEntryVisitor Callback structure for cef_browser_host_t::GetNavigationEntries. The functions of this structure will be called on the browser process UI thread.
:visit (fn [CefNavigationEntryVisitor,CefNavigationEntry,int,int,int]) -> int Method that will be executed. Do not keep a reference to |entry| outside of this callback. Return true (1) to continue visiting entries or false (0) to stop. |current| is true (1) if this entry is the currently loaded navigation entry. |index| is the 0-based index of this entry and |total| is the total number of entries.
Make a CefNavigationEntryVisitor Callback structure for cef_browser_host_t::GetNavigationEntries. The functions of this structure will be called on the browser process UI thread. :visit (fn [CefNavigationEntryVisitor,CefNavigationEntry,int,int,int]) -> int Method that will be executed. Do not keep a reference to |entry| outside of this callback. Return true (1) to continue visiting entries or false (0) to stop. |current| is true (1) if this entry is the currently loaded navigation entry. |index| is the 0-based index of this entry and |total| is the total number of entries.
(map->pdf-print-callback)
(map->pdf-print-callback {:as m :keys [on-pdf-print-finished]})
Make a CefPdfPrintCallback Callback structure for cef_browser_host_t::PrintToPDF. The functions of this structure will be called on the browser process UI thread.
:on-pdf-print-finished (fn [CefPdfPrintCallback,CefStringUtf16,int]) -> void Method that will be executed when the PDF printing has completed. |path| is the output path. |ok| will be true (1) if the printing completed successfully or false (0) otherwise.
Make a CefPdfPrintCallback Callback structure for cef_browser_host_t::PrintToPDF. The functions of this structure will be called on the browser process UI thread. :on-pdf-print-finished (fn [CefPdfPrintCallback,CefStringUtf16,int]) -> void Method that will be executed when the PDF printing has completed. |path| is the output path. |ok| will be true (1) if the printing completed successfully or false (0) otherwise.
(map->pdf-print-settings)
(map->pdf-print-settings {:as m
:keys [header-footer-title header-footer-url
page-width page-height scale-factor margin-top
margin-right margin-bottom margin-left
margin-type header-footer-enabled
selection-only landscape backgrounds-enabled]})
Make a CefPdfPrintSettings Structure representing PDF print settings.
:header-footer-title cef_string_t Page title to display in the header. Only used if |header_footer_enabled| is set to true (1).
:header-footer-url cef_string_t URL to display in the footer. Only used if |header_footer_enabled| is set to true (1).
:page-width int Output page size in microns. If either of these values is less than or equal to zero then the default paper size (A4) will be used.
:scale-factor int The percentage to scale the PDF by before printing (e.g. 50 is 50%). If this value is less than or equal to zero the default value of 100 will be used.
:margin-top int Margins in points. Only used if |margin_type| is set to PDF_PRINT_MARGIN_CUSTOM.
:margin-type cef_pdf_print_margin_type_t Margin type.
:header-footer-enabled int Set to true (1) to print headers and footers or false (0) to not print headers and footers.
:selection-only int Set to true (1) to print the selection only or false (0) to print all.
:landscape int Set to true (1) for landscape mode or false (0) for portrait mode.
:backgrounds-enabled int Set to true (1) to print background graphics or false (0) to not print background graphics.
Make a CefPdfPrintSettings Structure representing PDF print settings. :header-footer-title cef_string_t Page title to display in the header. Only used if |header_footer_enabled| is set to true (1). :header-footer-url cef_string_t URL to display in the footer. Only used if |header_footer_enabled| is set to true (1). :page-width int Output page size in microns. If either of these values is less than or equal to zero then the default paper size (A4) will be used. :scale-factor int The percentage to scale the PDF by before printing (e.g. 50 is 50%). If this value is less than or equal to zero the default value of 100 will be used. :margin-top int Margins in points. Only used if |margin_type| is set to PDF_PRINT_MARGIN_CUSTOM. :margin-type cef_pdf_print_margin_type_t Margin type. :header-footer-enabled int Set to true (1) to print headers and footers or false (0) to not print headers and footers. :selection-only int Set to true (1) to print the selection only or false (0) to print all. :landscape int Set to true (1) for landscape mode or false (0) for portrait mode. :backgrounds-enabled int Set to true (1) to print background graphics or false (0) to not print background graphics.
(map->point)
(map->point {:as m :keys [x y]})
Make a CefPoint Structure representing a point.
Make a CefPoint Structure representing a point.
(map->popup-features)
(map->popup-features {:as m
:keys [x xSet y ySet width widthSet height heightSet
menuBarVisible statusBarVisible toolBarVisible
scrollbarsVisible]})
Make a CefPopupFeatures Popup window features.
Make a CefPopupFeatures Popup window features.
(map->post-data)
(map->post-data {:as m
:keys [is-read-only has-excluded-elements get-element-count
get-elements remove-element add-element
remove-elements]})
Make a CefPostData Structure used to represent post data for a web request. The functions of this structure may be called on any thread.
:is-read-only (fn [CefPostData]) -> int Returns true (1) if this object is read-only.
:has-excluded-elements (fn [CefPostData]) -> int 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.
:get-element-count (fn [CefPostData]) -> SizeT Returns the number of existing post data elements.
:get-elements (fn [CefPostData,Pointer,Pointer]) -> void Retrieve the post data elements.
:remove-element (fn [CefPostData,CefPostDataElement]) -> int Remove the specified post data element. Returns true (1) if the removal succeeds.
:add-element (fn [CefPostData,CefPostDataElement]) -> int Add the specified post data element. Returns true (1) if the add succeeds.
:remove-elements (fn [CefPostData]) -> void Remove all existing post data elements.
Make a CefPostData Structure used to represent post data for a web request. The functions of this structure may be called on any thread. :is-read-only (fn [CefPostData]) -> int Returns true (1) if this object is read-only. :has-excluded-elements (fn [CefPostData]) -> int 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. :get-element-count (fn [CefPostData]) -> SizeT Returns the number of existing post data elements. :get-elements (fn [CefPostData,Pointer,Pointer]) -> void Retrieve the post data elements. :remove-element (fn [CefPostData,CefPostDataElement]) -> int Remove the specified post data element. Returns true (1) if the removal succeeds. :add-element (fn [CefPostData,CefPostDataElement]) -> int Add the specified post data element. Returns true (1) if the add succeeds. :remove-elements (fn [CefPostData]) -> void Remove all existing post data elements.
(map->post-data-element)
(map->post-data-element {:as m
:keys [is-read-only set-to-empty set-to-file
set-to-bytes get-type get-file get-bytes-count
get-bytes]})
Make a CefPostDataElement Structure used to represent a single element in the request post data. The functions of this structure may be called on any thread.
:is-read-only (fn [CefPostDataElement]) -> int Returns true (1) if this object is read-only.
:set-to-empty (fn [CefPostDataElement]) -> void Remove all contents from the post data element.
:set-to-file (fn [CefPostDataElement,CefStringUtf16]) -> void The post data element will represent a file.
:set-to-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> void The post data element will represent bytes. The bytes passed in will be copied.
:get-type (fn [CefPostDataElement]) -> int Return the type of this post data element.
:get-file (fn [CefPostDataElement]) -> CefStringUtf16 Return the file name. The resulting string must be freed by calling cef_string_userfree_free().
:get-bytes-count (fn [CefPostDataElement]) -> SizeT Return the number of bytes.
:get-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> SizeT Read up to |size| bytes into |bytes| and return the number of bytes actually read.
Make a CefPostDataElement Structure used to represent a single element in the request post data. The functions of this structure may be called on any thread. :is-read-only (fn [CefPostDataElement]) -> int Returns true (1) if this object is read-only. :set-to-empty (fn [CefPostDataElement]) -> void Remove all contents from the post data element. :set-to-file (fn [CefPostDataElement,CefStringUtf16]) -> void The post data element will represent a file. :set-to-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> void The post data element will represent bytes. The bytes passed in will be copied. :get-type (fn [CefPostDataElement]) -> int Return the type of this post data element. :get-file (fn [CefPostDataElement]) -> CefStringUtf16 Return the file name. The resulting string must be freed by calling cef_string_userfree_free(). :get-bytes-count (fn [CefPostDataElement]) -> SizeT Return the number of bytes. :get-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> SizeT Read up to |size| bytes into |bytes| and return the number of bytes actually read.
(map->print-dialog-callback)
(map->print-dialog-callback {:as m :keys [cont cancel]})
Make a CefPrintDialogCallback Callback structure for asynchronous continuation of print dialog requests.
:cont (fn [CefPrintDialogCallback,CefPrintSettings]) -> void Continue printing with the specified |settings|.
:cancel (fn [CefPrintDialogCallback]) -> void Cancel the printing.
Make a CefPrintDialogCallback Callback structure for asynchronous continuation of print dialog requests. :cont (fn [CefPrintDialogCallback,CefPrintSettings]) -> void Continue printing with the specified |settings|. :cancel (fn [CefPrintDialogCallback]) -> void Cancel the printing.
(map->print-handler)
(map->print-handler {:as m
:keys [on-print-start on-print-settings on-print-dialog
on-print-job on-print-reset get-pdf-paper-size]})
Make a CefPrintHandler 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.
:on-print-start (fn [CefPrintHandler,CefBrowser]) -> void 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).
:on-print-settings (fn [CefPrintHandler,CefBrowser,CefPrintSettings,int]) -> void 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.
:on-print-dialog (fn [CefPrintHandler,CefBrowser,int,CefPrintDialogCallback]) -> int 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.
:on-print-job (fn [CefPrintHandler,CefBrowser,CefStringUtf16,CefStringUtf16,CefPrintJobCallback]) -> int 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.
:on-print-reset (fn [CefPrintHandler,CefBrowser]) -> void Reset client state related to printing.
:get-pdf-paper-size (fn [CefPrintHandler,int]) -> CefSize Return the PDF paper size in device units. Used in combination with cef_browser_host_t::print_to_pdf().
Make a CefPrintHandler 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. :on-print-start (fn [CefPrintHandler,CefBrowser]) -> void 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). :on-print-settings (fn [CefPrintHandler,CefBrowser,CefPrintSettings,int]) -> void 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. :on-print-dialog (fn [CefPrintHandler,CefBrowser,int,CefPrintDialogCallback]) -> int 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. :on-print-job (fn [CefPrintHandler,CefBrowser,CefStringUtf16,CefStringUtf16,CefPrintJobCallback]) -> int 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. :on-print-reset (fn [CefPrintHandler,CefBrowser]) -> void Reset client state related to printing. :get-pdf-paper-size (fn [CefPrintHandler,int]) -> CefSize Return the PDF paper size in device units. Used in combination with cef_browser_host_t::print_to_pdf().
(map->print-job-callback)
(map->print-job-callback {:as m :keys [cont]})
Make a CefPrintJobCallback Callback structure for asynchronous continuation of print job requests.
:cont (fn [CefPrintJobCallback]) -> void Indicate completion of the print job.
Make a CefPrintJobCallback Callback structure for asynchronous continuation of print job requests. :cont (fn [CefPrintJobCallback]) -> void Indicate completion of the print job.
(map->print-settings)
(map->print-settings
{:as m
:keys [is-valid is-read-only set-orientation is-landscape
set-printer-printable-area set-device-name get-device-name set-dpi
get-dpi set-page-ranges get-page-ranges-count get-page-ranges
set-selection-only is-selection-only set-collate will-collate
set-color-model get-color-model set-copies get-copies set-duplex-mode
get-duplex-mode]})
Make a CefPrintSettings Structure representing print settings.
:is-valid (fn [CefPrintSettings]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-read-only (fn [CefPrintSettings]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:set-orientation (fn [CefPrintSettings,int]) -> void Set the page orientation.
:is-landscape (fn [CefPrintSettings]) -> int Returns true (1) if the orientation is landscape.
:set-printer-printable-area (fn [CefPrintSettings,CefSize,CefRect,int]) -> void 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.
:set-device-name (fn [CefPrintSettings,CefStringUtf16]) -> void Set the device name.
:get-device-name (fn [CefPrintSettings]) -> CefStringUtf16 Get the device name. The resulting string must be freed by calling cef_string_userfree_free().
:set-dpi (fn [CefPrintSettings,int]) -> void Set the DPI (dots per inch).
:get-dpi (fn [CefPrintSettings]) -> int Get the DPI (dots per inch).
:set-page-ranges (fn [CefPrintSettings,SizeT,CefRange]) -> void Set the page ranges.
:get-page-ranges-count (fn [CefPrintSettings]) -> SizeT Returns the number of page ranges that currently exist.
:get-page-ranges (fn [CefPrintSettings,Pointer,CefRange]) -> void Retrieve the page ranges.
:set-selection-only (fn [CefPrintSettings,int]) -> void Set whether only the selection will be printed.
:is-selection-only (fn [CefPrintSettings]) -> int Returns true (1) if only the selection will be printed.
:set-collate (fn [CefPrintSettings,int]) -> void Set whether pages will be collated.
:will-collate (fn [CefPrintSettings]) -> int Returns true (1) if pages will be collated.
:set-color-model (fn [CefPrintSettings,int]) -> void Set the color model.
:get-color-model (fn [CefPrintSettings]) -> int Get the color model.
:set-copies (fn [CefPrintSettings,int]) -> void Set the number of copies.
:get-copies (fn [CefPrintSettings]) -> int Get the number of copies.
:set-duplex-mode (fn [CefPrintSettings,int]) -> void Set the duplex mode.
:get-duplex-mode (fn [CefPrintSettings]) -> int Get the duplex mode.
Make a CefPrintSettings Structure representing print settings. :is-valid (fn [CefPrintSettings]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-read-only (fn [CefPrintSettings]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :set-orientation (fn [CefPrintSettings,int]) -> void Set the page orientation. :is-landscape (fn [CefPrintSettings]) -> int Returns true (1) if the orientation is landscape. :set-printer-printable-area (fn [CefPrintSettings,CefSize,CefRect,int]) -> void 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. :set-device-name (fn [CefPrintSettings,CefStringUtf16]) -> void Set the device name. :get-device-name (fn [CefPrintSettings]) -> CefStringUtf16 Get the device name. The resulting string must be freed by calling cef_string_userfree_free(). :set-dpi (fn [CefPrintSettings,int]) -> void Set the DPI (dots per inch). :get-dpi (fn [CefPrintSettings]) -> int Get the DPI (dots per inch). :set-page-ranges (fn [CefPrintSettings,SizeT,CefRange]) -> void Set the page ranges. :get-page-ranges-count (fn [CefPrintSettings]) -> SizeT Returns the number of page ranges that currently exist. :get-page-ranges (fn [CefPrintSettings,Pointer,CefRange]) -> void Retrieve the page ranges. :set-selection-only (fn [CefPrintSettings,int]) -> void Set whether only the selection will be printed. :is-selection-only (fn [CefPrintSettings]) -> int Returns true (1) if only the selection will be printed. :set-collate (fn [CefPrintSettings,int]) -> void Set whether pages will be collated. :will-collate (fn [CefPrintSettings]) -> int Returns true (1) if pages will be collated. :set-color-model (fn [CefPrintSettings,int]) -> void Set the color model. :get-color-model (fn [CefPrintSettings]) -> int Get the color model. :set-copies (fn [CefPrintSettings,int]) -> void Set the number of copies. :get-copies (fn [CefPrintSettings]) -> int Get the number of copies. :set-duplex-mode (fn [CefPrintSettings,int]) -> void Set the duplex mode. :get-duplex-mode (fn [CefPrintSettings]) -> int Get the duplex mode.
(map->process-message)
(map->process-message
{:as m :keys [is-valid is-read-only copy get-name get-argument-list]})
Make a CefProcessMessage Structure representing a message. Can be used on any process and thread.
:is-valid (fn [CefProcessMessage]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-read-only (fn [CefProcessMessage]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:copy (fn [CefProcessMessage]) -> CefProcessMessage Returns a writable copy of this object.
:get-name (fn [CefProcessMessage]) -> CefStringUtf16 Returns the message name. The resulting string must be freed by calling cef_string_userfree_free().
:get-argument-list (fn [CefProcessMessage]) -> CefListValue Returns the list of arguments.
Make a CefProcessMessage Structure representing a message. Can be used on any process and thread. :is-valid (fn [CefProcessMessage]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-read-only (fn [CefProcessMessage]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :copy (fn [CefProcessMessage]) -> CefProcessMessage Returns a writable copy of this object. :get-name (fn [CefProcessMessage]) -> CefStringUtf16 Returns the message name. The resulting string must be freed by calling cef_string_userfree_free(). :get-argument-list (fn [CefProcessMessage]) -> CefListValue Returns the list of arguments.
(map->range)
(map->range {:as m :keys [from to]})
Make a CefRange Structure representing a range.
Make a CefRange Structure representing a range.
(map->read-handler)
(map->read-handler {:as m :keys [read seek tell eof may-block]})
Make a CefReadHandler Structure the client can implement to provide a custom stream reader. The functions of this structure may be called on any thread.
:read (fn [CefReadHandler,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data.
:seek (fn [CefReadHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure.
:tell (fn [CefReadHandler]) -> long Return the current offset position.
:eof (fn [CefReadHandler]) -> int Return non-zero if at end of file.
:may-block (fn [CefReadHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
Make a CefReadHandler Structure the client can implement to provide a custom stream reader. The functions of this structure may be called on any thread. :read (fn [CefReadHandler,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data. :seek (fn [CefReadHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure. :tell (fn [CefReadHandler]) -> long Return the current offset position. :eof (fn [CefReadHandler]) -> int Return non-zero if at end of file. :may-block (fn [CefReadHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
(map->rect)
(map->rect {:as m :keys [x y width height]})
Make a CefRect Structure representing a rectangle.
Make a CefRect Structure representing a rectangle.
(map->register-cdm-callback)
(map->register-cdm-callback {:as m :keys [on-cdm-registration-complete]})
Make a CefRegisterCdmCallback Implement this structure to receive notification when CDM registration is complete. The functions of this structure will be called on the browser process UI thread.
:on-cdm-registration-complete (fn [CefRegisterCdmCallback,int,CefStringUtf16]) -> void Method that will be called when CDM registration is complete. |result| will be CEF_CDM_REGISTRATION_ERROR_NONE if registration completed successfully. Otherwise, |result| and |error_message| will contain additional information about why registration failed.
Make a CefRegisterCdmCallback Implement this structure to receive notification when CDM registration is complete. The functions of this structure will be called on the browser process UI thread. :on-cdm-registration-complete (fn [CefRegisterCdmCallback,int,CefStringUtf16]) -> void Method that will be called when CDM registration is complete. |result| will be CEF_CDM_REGISTRATION_ERROR_NONE if registration completed successfully. Otherwise, |result| and |error_message| will contain additional information about why registration failed.
(map->registration)
(map->registration {:as m :keys []})
Make a CefRegistration Generic callback structure used for managing the lifespan of a registration.
Make a CefRegistration Generic callback structure used for managing the lifespan of a registration.
(map->render-handler)
(map->render-handler
{:as m
:keys [get-accessibility-handler get-root-screen-rect get-view-rect
get-screen-point get-screen-info on-popup-show on-popup-size on-paint
on-accelerated-paint start-dragging update-drag-cursor
on-scroll-offset-changed on-ime-composition-range-changed
on-text-selection-changed on-virtual-keyboard-requested]})
Make a CefRenderHandler Implement this structure to handle events when window rendering is disabled. The functions of this structure will be called on the UI thread.
:get-accessibility-handler (fn [CefRenderHandler]) -> CefAccessibilityHandler Return the handler for accessibility notifications. If no handler is provided the default implementation will be used.
:get-root-screen-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> int Called to retrieve the root window rectangle in screen coordinates. Return true (1) if the rectangle was provided. If this function returns false (0) the rectangle from GetViewRect will be used.
:get-view-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called to retrieve the view rectangle which is relative to screen coordinates. This function must always provide a non-NULL rectangle.
:get-screen-point (fn [CefRenderHandler,CefBrowser,int,int,Pointer,Pointer]) -> int Called to retrieve the translation from view coordinates to actual screen coordinates. Return true (1) if the screen coordinates were provided.
:get-screen-info (fn [CefRenderHandler,CefBrowser,CefScreenInfo]) -> int 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.
:on-popup-show (fn [CefRenderHandler,CefBrowser,int]) -> void 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).
:on-popup-size (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called when the browser wants to move or resize the popup widget. |rect| contains the new location and size in view coordinates.
:on-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer,int,int]) -> void 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).
:on-accelerated-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer]) -> void 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. |shared_handle| is the handle for a D3D11 Texture2D that can be accessed via ID3D11Device using the OpenSharedResource function. This function is only called when cef_window_tInfo::shared_texture_enabled is set to true (1), and is currently only supported on Windows.
:start-dragging (fn [CefRenderHandler,CefBrowser,CefDragData,int,int,int]) -> int 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::DragSourceEnded 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.
:update-drag-cursor (fn [CefRenderHandler,CefBrowser,int]) -> void 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).
:on-scroll-offset-changed (fn [CefRenderHandler,CefBrowser,double,double]) -> void Called when the scroll offset has changed.
:on-ime-composition-range-changed (fn [CefRenderHandler,CefBrowser,CefRange,SizeT,CefRect]) -> void 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.
:on-text-selection-changed (fn [CefRenderHandler,CefBrowser,CefStringUtf16,CefRange]) -> void Called when text selection has changed for the specified |browser|. |selected_text| is the currently selected text and |selected_range| is the character range.
:on-virtual-keyboard-requested (fn [CefRenderHandler,CefBrowser,int]) -> void 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.
Make a CefRenderHandler Implement this structure to handle events when window rendering is disabled. The functions of this structure will be called on the UI thread. :get-accessibility-handler (fn [CefRenderHandler]) -> CefAccessibilityHandler Return the handler for accessibility notifications. If no handler is provided the default implementation will be used. :get-root-screen-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> int Called to retrieve the root window rectangle in screen coordinates. Return true (1) if the rectangle was provided. If this function returns false (0) the rectangle from GetViewRect will be used. :get-view-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called to retrieve the view rectangle which is relative to screen coordinates. This function must always provide a non-NULL rectangle. :get-screen-point (fn [CefRenderHandler,CefBrowser,int,int,Pointer,Pointer]) -> int Called to retrieve the translation from view coordinates to actual screen coordinates. Return true (1) if the screen coordinates were provided. :get-screen-info (fn [CefRenderHandler,CefBrowser,CefScreenInfo]) -> int 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. :on-popup-show (fn [CefRenderHandler,CefBrowser,int]) -> void 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). :on-popup-size (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called when the browser wants to move or resize the popup widget. |rect| contains the new location and size in view coordinates. :on-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer,int,int]) -> void 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). :on-accelerated-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer]) -> void 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. |shared_handle| is the handle for a D3D11 Texture2D that can be accessed via ID3D11Device using the OpenSharedResource function. This function is only called when cef_window_tInfo::shared_texture_enabled is set to true (1), and is currently only supported on Windows. :start-dragging (fn [CefRenderHandler,CefBrowser,CefDragData,int,int,int]) -> int 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. :update-drag-cursor (fn [CefRenderHandler,CefBrowser,int]) -> void 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). :on-scroll-offset-changed (fn [CefRenderHandler,CefBrowser,double,double]) -> void Called when the scroll offset has changed. :on-ime-composition-range-changed (fn [CefRenderHandler,CefBrowser,CefRange,SizeT,CefRect]) -> void 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. :on-text-selection-changed (fn [CefRenderHandler,CefBrowser,CefStringUtf16,CefRange]) -> void Called when text selection has changed for the specified |browser|. |selected_text| is the currently selected text and |selected_range| is the character range. :on-virtual-keyboard-requested (fn [CefRenderHandler,CefBrowser,int]) -> void 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.
(map->render-process-handler)
(map->render-process-handler
{:as m
:keys [on-web-kit-initialized on-browser-created on-browser-destroyed
get-load-handler on-context-created on-context-released
on-uncaught-exception on-focused-node-changed
on-process-message-received]})
Make a CefRenderProcessHandler 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.
:on-web-kit-initialized (fn [CefRenderProcessHandler]) -> void Called after WebKit has been initialized.
:on-browser-created (fn [CefRenderProcessHandler,CefBrowser,CefDictionaryValue]) -> void 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 a 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().
:on-browser-destroyed (fn [CefRenderProcessHandler,CefBrowser]) -> void Called before a browser is destroyed.
:get-load-handler (fn [CefRenderProcessHandler]) -> CefLoadHandler Return the handler for browser load status events.
:on-context-created (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void 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.
:on-context-released (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void Called immediately before the V8 context for a frame is released. No references to the context should be kept after this function is called.
:on-uncaught-exception (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context,CefV8exception,CefV8stackTrace]) -> void Called for global uncaught exceptions in a frame. Execution of this callback is disabled by default. To enable set CefSettings.uncaught_exception_stack_size > 0.
:on-focused-node-changed (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefDomnode]) -> void 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.
:on-process-message-received (fn [CefRenderProcessHandler,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
Make a CefRenderProcessHandler 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. :on-web-kit-initialized (fn [CefRenderProcessHandler]) -> void Called after WebKit has been initialized. :on-browser-created (fn [CefRenderProcessHandler,CefBrowser,CefDictionaryValue]) -> void 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 a 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(). :on-browser-destroyed (fn [CefRenderProcessHandler,CefBrowser]) -> void Called before a browser is destroyed. :get-load-handler (fn [CefRenderProcessHandler]) -> CefLoadHandler Return the handler for browser load status events. :on-context-created (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void 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. :on-context-released (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void Called immediately before the V8 context for a frame is released. No references to the context should be kept after this function is called. :on-uncaught-exception (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context,CefV8exception,CefV8stackTrace]) -> void Called for global uncaught exceptions in a frame. Execution of this callback is disabled by default. To enable set CefSettings.uncaught_exception_stack_size > 0. :on-focused-node-changed (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefDomnode]) -> void 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. :on-process-message-received (fn [CefRenderProcessHandler,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
(map->request)
(map->request {:as m
:keys [is-read-only get-url set-url get-method set-method
set-referrer get-referrer-url get-referrer-policy
get-post-data set-post-data get-header-map set-header-map
get-header-by-name set-header-by-name set get-flags
set-flags get-first-party-for-cookies
set-first-party-for-cookies get-resource-type
get-transition-type get-identifier]})
Make a CefRequest Structure used to represent a web request. The functions of this structure may be called on any thread.
:is-read-only (fn [CefRequest]) -> int Returns true (1) if this object is read-only.
:get-url (fn [CefRequest]) -> CefStringUtf16 Get the fully qualified URL. The resulting string must be freed by calling cef_string_userfree_free().
:set-url (fn [CefRequest,CefStringUtf16]) -> void Set the fully qualified URL.
:get-method (fn [CefRequest]) -> CefStringUtf16 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().
:set-method (fn [CefRequest,CefStringUtf16]) -> void Set the request function type.
:set-referrer (fn [CefRequest,CefStringUtf16,int]) -> void 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.
:get-referrer-url (fn [CefRequest]) -> CefStringUtf16 Get the referrer URL. The resulting string must be freed by calling cef_string_userfree_free().
:get-referrer-policy (fn [CefRequest]) -> int Get the referrer policy.
:get-post-data (fn [CefRequest]) -> CefPostData Get the post data.
:set-post-data (fn [CefRequest,CefPostData]) -> void Set the post data.
:get-header-map (fn [CefRequest,Pointer]) -> void Get the header values. Will not include the Referer value if any.
:set-header-map (fn [CefRequest,Pointer]) -> void Set the header values. If a Referer value exists in the header map it will be removed and ignored.
:get-header-by-name (fn [CefRequest,CefStringUtf16]) -> CefStringUtf16 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().
:set-header-by-name (fn [CefRequest,CefStringUtf16,CefStringUtf16,int]) -> void 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.
:set (fn [CefRequest,CefStringUtf16,CefStringUtf16,CefPostData,Pointer]) -> void Set all values at one time.
:get-flags (fn [CefRequest]) -> int Get the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values.
:set-flags (fn [CefRequest,int]) -> void Set the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values.
:get-first-party-for-cookies (fn [CefRequest]) -> CefStringUtf16 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().
:set-first-party-for-cookies (fn [CefRequest,CefStringUtf16]) -> void Set the URL to the first party for cookies used in combination with cef_urlrequest_t.
:get-resource-type (fn [CefRequest]) -> int Get the resource type for this request. Only available in the browser process.
:get-transition-type (fn [CefRequest]) -> int 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.
:get-identifier (fn [CefRequest]) -> long 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.
Make a CefRequest Structure used to represent a web request. The functions of this structure may be called on any thread. :is-read-only (fn [CefRequest]) -> int Returns true (1) if this object is read-only. :get-url (fn [CefRequest]) -> CefStringUtf16 Get the fully qualified URL. The resulting string must be freed by calling cef_string_userfree_free(). :set-url (fn [CefRequest,CefStringUtf16]) -> void Set the fully qualified URL. :get-method (fn [CefRequest]) -> CefStringUtf16 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(). :set-method (fn [CefRequest,CefStringUtf16]) -> void Set the request function type. :set-referrer (fn [CefRequest,CefStringUtf16,int]) -> void 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. :get-referrer-url (fn [CefRequest]) -> CefStringUtf16 Get the referrer URL. The resulting string must be freed by calling cef_string_userfree_free(). :get-referrer-policy (fn [CefRequest]) -> int Get the referrer policy. :get-post-data (fn [CefRequest]) -> CefPostData Get the post data. :set-post-data (fn [CefRequest,CefPostData]) -> void Set the post data. :get-header-map (fn [CefRequest,Pointer]) -> void Get the header values. Will not include the Referer value if any. :set-header-map (fn [CefRequest,Pointer]) -> void Set the header values. If a Referer value exists in the header map it will be removed and ignored. :get-header-by-name (fn [CefRequest,CefStringUtf16]) -> CefStringUtf16 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(). :set-header-by-name (fn [CefRequest,CefStringUtf16,CefStringUtf16,int]) -> void 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. :set (fn [CefRequest,CefStringUtf16,CefStringUtf16,CefPostData,Pointer]) -> void Set all values at one time. :get-flags (fn [CefRequest]) -> int Get the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values. :set-flags (fn [CefRequest,int]) -> void Set the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values. :get-first-party-for-cookies (fn [CefRequest]) -> CefStringUtf16 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(). :set-first-party-for-cookies (fn [CefRequest,CefStringUtf16]) -> void Set the URL to the first party for cookies used in combination with cef_urlrequest_t. :get-resource-type (fn [CefRequest]) -> int Get the resource type for this request. Only available in the browser process. :get-transition-type (fn [CefRequest]) -> int 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. :get-identifier (fn [CefRequest]) -> long 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.
(map->request-callback)
(map->request-callback {:as m :keys [cont cancel]})
Make a CefRequestCallback Callback structure used for asynchronous continuation of url requests.
:cont (fn [CefRequestCallback,int]) -> void Continue the url request. If |allow| is true (1) the request will be continued. Otherwise, the request will be canceled.
:cancel (fn [CefRequestCallback]) -> void Cancel the url request.
Make a CefRequestCallback Callback structure used for asynchronous continuation of url requests. :cont (fn [CefRequestCallback,int]) -> void Continue the url request. If |allow| is true (1) the request will be continued. Otherwise, the request will be canceled. :cancel (fn [CefRequestCallback]) -> void Cancel the url request.
(map->request-context)
(map->request-context
{:as m
:keys [is-same is-sharing-with is-global get-handler get-cache-path
get-cookie-manager register-scheme-handler-factory
clear-scheme-handler-factories purge-plugin-list-cache has-preference
get-preference get-all-preferences can-set-preference set-preference
clear-certificate-exceptions clear-http-auth-credentials
close-all-connections resolve-host load-extension did-load-extension
has-extension get-extensions get-extension get-media-router]})
Make a CefRequestContext 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.
:is-same (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is pointing to the same context as |that| object.
:is-sharing-with (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is sharing the same storage as |that| object.
:is-global (fn [CefRequestContext]) -> int 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.
:get-handler (fn [CefRequestContext]) -> CefRequestContextHandler Returns the handler for this context if any.
:get-cache-path (fn [CefRequestContext]) -> CefStringUtf16 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().
:get-cookie-manager (fn [CefRequestContext,CefCompletionCallback]) -> CefCookieManager Returns the cookie manager for this object. If |callback| is non-NULL it will be executed asnychronously on the IO thread after the manager's storage has been initialized.
:register-scheme-handler-factory (fn [CefRequestContext,CefStringUtf16,CefStringUtf16,CefSchemeHandlerFactory]) -> int 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.
:clear-scheme-handler-factories (fn [CefRequestContext]) -> int Clear all registered scheme handler factories. Returns false (0) on error. This function may be called on any thread in the browser process.
:purge-plugin-list-cache (fn [CefRequestContext,int]) -> void Tells all renderer processes associated with this context to throw away their plugin list cache. If |reload_pages| is true (1) they will also reload all pages with plugins. cef_request_context_handler_t::OnBeforePluginLoad may be called to rebuild the plugin list cache.
:has-preference (fn [CefRequestContext,CefStringUtf16]) -> int Returns true (1) if a preference with the specified |name| exists. This function must be called on the browser process UI thread.
:get-preference (fn [CefRequestContext,CefStringUtf16]) -> CefValue 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.
:get-all-preferences (fn [CefRequestContext,int]) -> CefDictionaryValue 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.
:can-set-preference (fn [CefRequestContext,CefStringUtf16]) -> int 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.
:set-preference (fn [CefRequestContext,CefStringUtf16,CefValue,CefStringUtf16]) -> int 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.
:clear-certificate-exceptions (fn [CefRequestContext,CefCompletionCallback]) -> void 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.
:clear-http-auth-credentials (fn [CefRequestContext,CefCompletionCallback]) -> void 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.
:close-all-connections (fn [CefRequestContext,CefCompletionCallback]) -> void 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.
:resolve-host (fn [CefRequestContext,CefStringUtf16,CefResolveCallback]) -> void Attempts to resolve |origin| to a list of associated IP addresses. |callback| will be executed on the UI thread after completion.
:load-extension (fn [CefRequestContext,CefStringUtf16,CefDictionaryValue,CefExtensionHandler]) -> void 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:
:did-load-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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.
:has-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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.
:get-extensions (fn [CefRequestContext,Pointer]) -> int 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.
:get-extension (fn [CefRequestContext,CefStringUtf16]) -> CefExtension 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.
:get-media-router (fn [CefRequestContext]) -> CefMediaRouter Returns the MediaRouter object associated with this context.
Make a CefRequestContext 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. :is-same (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is pointing to the same context as |that| object. :is-sharing-with (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is sharing the same storage as |that| object. :is-global (fn [CefRequestContext]) -> int 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. :get-handler (fn [CefRequestContext]) -> CefRequestContextHandler Returns the handler for this context if any. :get-cache-path (fn [CefRequestContext]) -> CefStringUtf16 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(). :get-cookie-manager (fn [CefRequestContext,CefCompletionCallback]) -> CefCookieManager Returns the cookie manager for this object. If |callback| is non-NULL it will be executed asnychronously on the IO thread after the manager's storage has been initialized. :register-scheme-handler-factory (fn [CefRequestContext,CefStringUtf16,CefStringUtf16,CefSchemeHandlerFactory]) -> int 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. :clear-scheme-handler-factories (fn [CefRequestContext]) -> int Clear all registered scheme handler factories. Returns false (0) on error. This function may be called on any thread in the browser process. :purge-plugin-list-cache (fn [CefRequestContext,int]) -> void Tells all renderer processes associated with this context to throw away their plugin list cache. If |reload_pages| is true (1) they will also reload all pages with plugins. cef_request_context_handler_t::OnBeforePluginLoad may be called to rebuild the plugin list cache. :has-preference (fn [CefRequestContext,CefStringUtf16]) -> int Returns true (1) if a preference with the specified |name| exists. This function must be called on the browser process UI thread. :get-preference (fn [CefRequestContext,CefStringUtf16]) -> CefValue 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. :get-all-preferences (fn [CefRequestContext,int]) -> CefDictionaryValue 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. :can-set-preference (fn [CefRequestContext,CefStringUtf16]) -> int 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. :set-preference (fn [CefRequestContext,CefStringUtf16,CefValue,CefStringUtf16]) -> int 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. :clear-certificate-exceptions (fn [CefRequestContext,CefCompletionCallback]) -> void 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. :clear-http-auth-credentials (fn [CefRequestContext,CefCompletionCallback]) -> void 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. :close-all-connections (fn [CefRequestContext,CefCompletionCallback]) -> void 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. :resolve-host (fn [CefRequestContext,CefStringUtf16,CefResolveCallback]) -> void Attempts to resolve |origin| to a list of associated IP addresses. |callback| will be executed on the UI thread after completion. :load-extension (fn [CefRequestContext,CefStringUtf16,CefDictionaryValue,CefExtensionHandler]) -> void 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. :did-load-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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. :has-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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. :get-extensions (fn [CefRequestContext,Pointer]) -> int 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. :get-extension (fn [CefRequestContext,CefStringUtf16]) -> CefExtension 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. :get-media-router (fn [CefRequestContext]) -> CefMediaRouter Returns the MediaRouter object associated with this context.
(map->request-context-handler)
(map->request-context-handler {:as m
:keys [on-request-context-initialized
on-before-plugin-load
get-resource-request-handler]})
Make a CefRequestContextHandler Implement this structure to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed.
:on-request-context-initialized (fn [CefRequestContextHandler,CefRequestContext]) -> void Called on the browser process UI thread immediately after the request context has been initialized.
:on-before-plugin-load (fn [CefRequestContextHandler,CefStringUtf16,CefStringUtf16,int,CefStringUtf16,CefWebPluginInfo,int]) -> int
Called on multiple browser process threads before a plugin instance is
loaded. |mime_type| is the mime type of the plugin that will be loaded.
|plugin_url| is the content URL that the plugin will load and may be NULL.
|is_main_frame| will be true (1) if the plugin is being loaded in the main
(top-level) frame, |top_origin_url| is the URL for the top-level frame that
contains the plugin when loading a specific plugin instance or NULL when
building the initial list of enabled plugins for 'navigator.plugins'
JavaScript state. |plugin_info| includes additional information about the
plugin that will be loaded. |plugin_policy| is the recommended policy.
Modify |plugin_policy| and return true (1) to change the policy. Return
false (0) to use the recommended policy. The default plugin policy can be
set at runtime using the --plugin-policy=[allow|detect|block]
command-
line flag. Decisions to mark a plugin as disabled by setting
|plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when
|top_origin_url| is NULL. To purge the plugin list cache and potentially
trigger new calls to this function call
cef_request_context_t::PurgePluginListCache.
:get-resource-request-handler (fn [CefRequestContextHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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).
Make a CefRequestContextHandler Implement this structure to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed. :on-request-context-initialized (fn [CefRequestContextHandler,CefRequestContext]) -> void Called on the browser process UI thread immediately after the request context has been initialized. :on-before-plugin-load (fn [CefRequestContextHandler,CefStringUtf16,CefStringUtf16,int,CefStringUtf16,CefWebPluginInfo,int]) -> int Called on multiple browser process threads before a plugin instance is loaded. |mime_type| is the mime type of the plugin that will be loaded. |plugin_url| is the content URL that the plugin will load and may be NULL. |is_main_frame| will be true (1) if the plugin is being loaded in the main (top-level) frame, |top_origin_url| is the URL for the top-level frame that contains the plugin when loading a specific plugin instance or NULL when building the initial list of enabled plugins for 'navigator.plugins' JavaScript state. |plugin_info| includes additional information about the plugin that will be loaded. |plugin_policy| is the recommended policy. Modify |plugin_policy| and return true (1) to change the policy. Return false (0) to use the recommended policy. The default plugin policy can be set at runtime using the `--plugin-policy=[allow|detect|block]` command- line flag. Decisions to mark a plugin as disabled by setting |plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when |top_origin_url| is NULL. To purge the plugin list cache and potentially trigger new calls to this function call cef_request_context_t::PurgePluginListCache. :get-resource-request-handler (fn [CefRequestContextHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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).
(map->request-context-settings)
(map->request-context-settings
{:as m
:keys [size cache-path persist-session-cookies persist-user-preferences
ignore-certificate-errors accept-language-list]})
Make a CefRequestContextSettings Request context initialization settings. Specify NULL or 0 to get the recommended default values.
:size size_t Size of this structure.
:cache-path cef_string_t The location where cache data for this request context will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. To share the global browser cache and related configuration set this value to match the CefSettings.cache_path value.
:persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. Can be set globally using the CefSettings.persist_session_cookies value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value.
:persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). Can be set globally using the CefSettings.persist_user_preferences value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value.
:ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Can be set globally using the CefSettings.ignore_certificate_errors value. This value will be ignored if |cache_path| matches the CefSettings.cache_path value.
:accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. Can be set globally using the CefSettings.accept_language_list value or overridden on a per- browser basis using the CefBrowserSettings.accept_language_list value. If all values are empty then "en-US,en" will be used. This value will be ignored if |cache_path| matches the CefSettings.cache_path value.
Make a CefRequestContextSettings Request context initialization settings. Specify NULL or 0 to get the recommended default values. :size size_t Size of this structure. :cache-path cef_string_t The location where cache data for this request context will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. To share the global browser cache and related configuration set this value to match the CefSettings.cache_path value. :persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. Can be set globally using the CefSettings.persist_session_cookies value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value. :persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). Can be set globally using the CefSettings.persist_user_preferences value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value. :ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Can be set globally using the CefSettings.ignore_certificate_errors value. This value will be ignored if |cache_path| matches the CefSettings.cache_path value. :accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. Can be set globally using the CefSettings.accept_language_list value or overridden on a per- browser basis using the CefBrowserSettings.accept_language_list value. If all values are empty then "en-US,en" will be used. This value will be ignored if |cache_path| matches the CefSettings.cache_path value.
(map->request-handler)
(map->request-handler
{:as m
:keys [on-before-browse on-open-urlfrom-tab get-resource-request-handler
get-auth-credentials on-quota-request on-certificate-error
on-select-client-certificate on-plugin-crashed on-render-view-ready
on-render-process-terminated on-document-available-in-main-frame]})
Make a CefRequestHandler Implement this structure to handle events related to browser requests. The functions of this structure will be called on the thread indicated.
:on-before-browse (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int]) -> int 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).
:on-open-urlfrom-tab (fn [CefRequestHandler,CefBrowser,CefFrame,CefStringUtf16,int,int]) -> int 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.
:get-resource-request-handler (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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.
:get-auth-credentials (fn [CefRequestHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int 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.
:on-quota-request (fn [CefRequestHandler,CefBrowser,CefStringUtf16,long,CefRequestCallback]) -> int Called on the IO thread when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. |origin_url| is the origin of the page making the request. |new_size| is the requested quota size in bytes. Return true (1) to continue the request and call cef_request_callback_t::cont() either in this function or at a later time to grant or deny the request. Return false (0) to cancel the request immediately.
:on-certificate-error (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,CefSslinfo,CefRequestCallback]) -> int Called on the UI thread to handle requests for URLs with an invalid SSL certificate. Return true (1) and call cef_request_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. If CefSettings.ignore_certificate_errors is set all invalid certificates will be accepted without calling this function.
:on-select-client-certificate (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,int,SizeT,Pointer,CefSelectClientCertificateCallback]) -> int 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.
:on-plugin-crashed (fn [CefRequestHandler,CefBrowser,CefStringUtf16]) -> void Called on the browser process UI thread when a plugin has crashed. |plugin_path| is the path of the plugin that crashed.
:on-render-view-ready (fn [CefRequestHandler,CefBrowser]) -> void 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.
:on-render-process-terminated (fn [CefRequestHandler,CefBrowser,int]) -> void Called on the browser process UI thread when the render process terminates unexpectedly. |status| indicates how the process terminated.
:on-document-available-in-main-frame (fn [CefRequestHandler,CefBrowser]) -> void Called on the browser process UI thread when the window.document object of the main frame has been created.
Make a CefRequestHandler Implement this structure to handle events related to browser requests. The functions of this structure will be called on the thread indicated. :on-before-browse (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int]) -> int 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). :on-open-urlfrom-tab (fn [CefRequestHandler,CefBrowser,CefFrame,CefStringUtf16,int,int]) -> int 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. :get-resource-request-handler (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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. :get-auth-credentials (fn [CefRequestHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int 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. :on-quota-request (fn [CefRequestHandler,CefBrowser,CefStringUtf16,long,CefRequestCallback]) -> int Called on the IO thread when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. |origin_url| is the origin of the page making the request. |new_size| is the requested quota size in bytes. Return true (1) to continue the request and call cef_request_callback_t::cont() either in this function or at a later time to grant or deny the request. Return false (0) to cancel the request immediately. :on-certificate-error (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,CefSslinfo,CefRequestCallback]) -> int Called on the UI thread to handle requests for URLs with an invalid SSL certificate. Return true (1) and call cef_request_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. If CefSettings.ignore_certificate_errors is set all invalid certificates will be accepted without calling this function. :on-select-client-certificate (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,int,SizeT,Pointer,CefSelectClientCertificateCallback]) -> int 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. :on-plugin-crashed (fn [CefRequestHandler,CefBrowser,CefStringUtf16]) -> void Called on the browser process UI thread when a plugin has crashed. |plugin_path| is the path of the plugin that crashed. :on-render-view-ready (fn [CefRequestHandler,CefBrowser]) -> void 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. :on-render-process-terminated (fn [CefRequestHandler,CefBrowser,int]) -> void Called on the browser process UI thread when the render process terminates unexpectedly. |status| indicates how the process terminated. :on-document-available-in-main-frame (fn [CefRequestHandler,CefBrowser]) -> void Called on the browser process UI thread when the window.document object of the main frame has been created.
(map->resolve-callback)
(map->resolve-callback {:as m :keys [on-resolve-completed]})
Make a CefResolveCallback Callback structure for cef_request_context_t::ResolveHost.
:on-resolve-completed (fn [CefResolveCallback,int,Pointer]) -> void 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.
Make a CefResolveCallback Callback structure for cef_request_context_t::ResolveHost. :on-resolve-completed (fn [CefResolveCallback,int,Pointer]) -> void 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.
(map->resource-bundle-handler)
(map->resource-bundle-handler {:as m
:keys [get-localized-string get-data-resource
get-data-resource-for-scale]})
Make a CefResourceBundleHandler 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.
:get-localized-string (fn [CefResourceBundleHandler,int,CefStringUtf16]) -> int 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.
:get-data-resource (fn [CefResourceBundleHandler,int,Pointer,Pointer]) -> int 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.
:get-data-resource-for-scale (fn [CefResourceBundleHandler,int,int,Pointer,Pointer]) -> int 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.
Make a CefResourceBundleHandler 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. :get-localized-string (fn [CefResourceBundleHandler,int,CefStringUtf16]) -> int 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. :get-data-resource (fn [CefResourceBundleHandler,int,Pointer,Pointer]) -> int 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. :get-data-resource-for-scale (fn [CefResourceBundleHandler,int,int,Pointer,Pointer]) -> int 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.
(map->resource-handler)
(map->resource-handler {:as m
:keys [open process-request get-response-headers skip
read read-response cancel]})
Make a CefResourceHandler Structure used to implement a custom request handler structure. The functions of this structure will be called on the IO thread unless otherwise indicated.
:open (fn [CefResourceHandler,CefRequest,Pointer,CefCallback]) -> int 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.
:process-request (fn [CefResourceHandler,CefRequest,CefCallback]) -> int 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.
:get-response-headers (fn [CefResourceHandler,CefResponse,Pointer,CefStringUtf16]) -> void 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.
:skip (fn [CefResourceHandler,long,Pointer,CefResourceSkipCallback]) -> int 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.
:read (fn [CefResourceHandler,Pointer,int,Pointer,CefResourceReadCallback]) -> int 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.
:read-response (fn [CefResourceHandler,Pointer,int,Pointer,CefCallback]) -> int 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.
:cancel (fn [CefResourceHandler]) -> void Request processing has been canceled.
Make a CefResourceHandler Structure used to implement a custom request handler structure. The functions of this structure will be called on the IO thread unless otherwise indicated. :open (fn [CefResourceHandler,CefRequest,Pointer,CefCallback]) -> int 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. :process-request (fn [CefResourceHandler,CefRequest,CefCallback]) -> int 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. :get-response-headers (fn [CefResourceHandler,CefResponse,Pointer,CefStringUtf16]) -> void 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. :skip (fn [CefResourceHandler,long,Pointer,CefResourceSkipCallback]) -> int 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. :read (fn [CefResourceHandler,Pointer,int,Pointer,CefResourceReadCallback]) -> int 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. :read-response (fn [CefResourceHandler,Pointer,int,Pointer,CefCallback]) -> int 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. :cancel (fn [CefResourceHandler]) -> void Request processing has been canceled.
(map->resource-read-callback)
(map->resource-read-callback {:as m :keys [cont]})
Make a CefResourceReadCallback Callback for asynchronous continuation of cef_resource_handler_t::read().
:cont (fn [CefResourceReadCallback,int]) -> void 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.
Make a CefResourceReadCallback Callback for asynchronous continuation of cef_resource_handler_t::read(). :cont (fn [CefResourceReadCallback,int]) -> void 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.
(map->resource-request-handler)
(map->resource-request-handler
{:as m
:keys [get-cookie-access-filter on-before-resource-load get-resource-handler
on-resource-redirect on-resource-response get-resource-response-filter
on-resource-load-complete on-protocol-execution]})
Make a CefResourceRequestHandler 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.
:get-cookie-access-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefCookieAccessFilter 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.
:on-before-resource-load (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefRequestCallback]) -> int 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_request_callback_t:: cont() at a later time to continue or cancel the request asynchronously. Return RV_CANCEL to cancel the request immediately.
:get-resource-handler (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefResourceHandler 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.
:on-resource-redirect (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,CefStringUtf16]) -> void 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.
:on-resource-response (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> int 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.
:get-resource-response-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> CefResponseFilter 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.
:on-resource-load-complete (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,int,long]) -> void 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.
:on-protocol-execution (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,Pointer]) -> void 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.
Make a CefResourceRequestHandler 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. :get-cookie-access-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefCookieAccessFilter 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. :on-before-resource-load (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefRequestCallback]) -> int 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_request_callback_t:: cont() at a later time to continue or cancel the request asynchronously. Return RV_CANCEL to cancel the request immediately. :get-resource-handler (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefResourceHandler 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. :on-resource-redirect (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,CefStringUtf16]) -> void 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. :on-resource-response (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> int 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. :get-resource-response-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> CefResponseFilter 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. :on-resource-load-complete (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,int,long]) -> void 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. :on-protocol-execution (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,Pointer]) -> void 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.
(map->resource-skip-callback)
(map->resource-skip-callback {:as m :keys [cont]})
Make a CefResourceSkipCallback Callback for asynchronous continuation of cef_resource_handler_t::skip().
:cont (fn [CefResourceSkipCallback,long]) -> void 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.
Make a CefResourceSkipCallback Callback for asynchronous continuation of cef_resource_handler_t::skip(). :cont (fn [CefResourceSkipCallback,long]) -> void 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.
(map->response)
(map->response {:as m
:keys [is-read-only get-error set-error get-status set-status
get-status-text set-status-text get-mime-type
set-mime-type get-charset set-charset get-header-by-name
set-header-by-name get-header-map set-header-map get-url
set-url]})
Make a CefResponse Structure used to represent a web response. The functions of this structure may be called on any thread.
:is-read-only (fn [CefResponse]) -> int Returns true (1) if this object is read-only.
:get-error (fn [CefResponse]) -> int Get the response error code. Returns ERR_NONE if there was no error.
:set-error (fn [CefResponse,int]) -> void Set the response error code. This can be used by custom scheme handlers to return errors during initial request processing.
:get-status (fn [CefResponse]) -> int Get the response status code.
:set-status (fn [CefResponse,int]) -> void Set the response status code.
:get-status-text (fn [CefResponse]) -> CefStringUtf16 Get the response status text. The resulting string must be freed by calling cef_string_userfree_free().
:set-status-text (fn [CefResponse,CefStringUtf16]) -> void Set the response status text.
:get-mime-type (fn [CefResponse]) -> CefStringUtf16 Get the response mime type. The resulting string must be freed by calling cef_string_userfree_free().
:set-mime-type (fn [CefResponse,CefStringUtf16]) -> void Set the response mime type.
:get-charset (fn [CefResponse]) -> CefStringUtf16 Get the response charset. The resulting string must be freed by calling cef_string_userfree_free().
:set-charset (fn [CefResponse,CefStringUtf16]) -> void Set the response charset.
:get-header-by-name (fn [CefResponse,CefStringUtf16]) -> CefStringUtf16 Get the value for the specified response header field. The resulting string must be freed by calling cef_string_userfree_free().
:set-header-by-name (fn [CefResponse,CefStringUtf16,CefStringUtf16,int]) -> void 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.
:get-header-map (fn [CefResponse,Pointer]) -> void Get all response header fields.
:set-header-map (fn [CefResponse,Pointer]) -> void Set all response header fields.
:get-url (fn [CefResponse]) -> CefStringUtf16 Get the resolved URL after redirects or changed as a result of HSTS. The resulting string must be freed by calling cef_string_userfree_free().
:set-url (fn [CefResponse,CefStringUtf16]) -> void Set the resolved URL after redirects or changed as a result of HSTS.
Make a CefResponse Structure used to represent a web response. The functions of this structure may be called on any thread. :is-read-only (fn [CefResponse]) -> int Returns true (1) if this object is read-only. :get-error (fn [CefResponse]) -> int Get the response error code. Returns ERR_NONE if there was no error. :set-error (fn [CefResponse,int]) -> void Set the response error code. This can be used by custom scheme handlers to return errors during initial request processing. :get-status (fn [CefResponse]) -> int Get the response status code. :set-status (fn [CefResponse,int]) -> void Set the response status code. :get-status-text (fn [CefResponse]) -> CefStringUtf16 Get the response status text. The resulting string must be freed by calling cef_string_userfree_free(). :set-status-text (fn [CefResponse,CefStringUtf16]) -> void Set the response status text. :get-mime-type (fn [CefResponse]) -> CefStringUtf16 Get the response mime type. The resulting string must be freed by calling cef_string_userfree_free(). :set-mime-type (fn [CefResponse,CefStringUtf16]) -> void Set the response mime type. :get-charset (fn [CefResponse]) -> CefStringUtf16 Get the response charset. The resulting string must be freed by calling cef_string_userfree_free(). :set-charset (fn [CefResponse,CefStringUtf16]) -> void Set the response charset. :get-header-by-name (fn [CefResponse,CefStringUtf16]) -> CefStringUtf16 Get the value for the specified response header field. The resulting string must be freed by calling cef_string_userfree_free(). :set-header-by-name (fn [CefResponse,CefStringUtf16,CefStringUtf16,int]) -> void 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. :get-header-map (fn [CefResponse,Pointer]) -> void Get all response header fields. :set-header-map (fn [CefResponse,Pointer]) -> void Set all response header fields. :get-url (fn [CefResponse]) -> CefStringUtf16 Get the resolved URL after redirects or changed as a result of HSTS. The resulting string must be freed by calling cef_string_userfree_free(). :set-url (fn [CefResponse,CefStringUtf16]) -> void Set the resolved URL after redirects or changed as a result of HSTS.
(map->response-filter)
(map->response-filter {:as m :keys [init-filter filter]})
Make a CefResponseFilter Implement this structure to filter resource response content. The functions of this structure will be called on the browser process IO thread.
:init-filter (fn [CefResponseFilter]) -> int Initialize the response filter. Will only be called a single time. The filter will not be installed if this function returns false (0).
:filter (fn [CefResponseFilter,Pointer,SizeT,Pointer,Pointer,SizeT,Pointer]) -> int Called to filter a chunk of data. Expected usage is as follows: A. Read input data from |data_in| and set |data_in_read| to the number of bytes that were read up to a maximum of |data_in_size|. |data_in| will be NULL if |data_in_size| is zero. B. Write filtered output data to |data_out| and set |data_out_written| to the number of bytes that were written up to a maximum of |data_out_size|. If no output data was written then all data must be read from |data_in| (user must set |data_in_read| = |data_in_size|). C. Return RESPONSE_FILTER_DONE if all output data was written or RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending. This function will be called repeatedly until the input buffer has been fully read (user sets |data_in_read| = |data_in_size|) and there is no more input data to filter (the resource response is complete). This function may then be called an additional time with an NULL input buffer if the user filled the output buffer (set |data_out_written| = |data_out_size|) and returned RESPONSE_FILTER_NEED_MORE_DATA to indicate that output data is still pending. Calls to this function will stop when one of the following conditions is met: A. There is no more input data to filter (the resource response is complete) and the user sets |data_out_written| = 0 or returns RESPONSE_FILTER_DONE to indicate that all data has been written, or; B. The user returns RESPONSE_FILTER_ERROR to indicate an error. Do not keep a reference to the buffers passed to this function.
Make a CefResponseFilter Implement this structure to filter resource response content. The functions of this structure will be called on the browser process IO thread. :init-filter (fn [CefResponseFilter]) -> int Initialize the response filter. Will only be called a single time. The filter will not be installed if this function returns false (0). :filter (fn [CefResponseFilter,Pointer,SizeT,Pointer,Pointer,SizeT,Pointer]) -> int Called to filter a chunk of data. Expected usage is as follows: A. Read input data from |data_in| and set |data_in_read| to the number of bytes that were read up to a maximum of |data_in_size|. |data_in| will be NULL if |data_in_size| is zero. B. Write filtered output data to |data_out| and set |data_out_written| to the number of bytes that were written up to a maximum of |data_out_size|. If no output data was written then all data must be read from |data_in| (user must set |data_in_read| = |data_in_size|). C. Return RESPONSE_FILTER_DONE if all output data was written or RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending. This function will be called repeatedly until the input buffer has been fully read (user sets |data_in_read| = |data_in_size|) and there is no more input data to filter (the resource response is complete). This function may then be called an additional time with an NULL input buffer if the user filled the output buffer (set |data_out_written| = |data_out_size|) and returned RESPONSE_FILTER_NEED_MORE_DATA to indicate that output data is still pending. Calls to this function will stop when one of the following conditions is met: A. There is no more input data to filter (the resource response is complete) and the user sets |data_out_written| = 0 or returns RESPONSE_FILTER_DONE to indicate that all data has been written, or; B. The user returns RESPONSE_FILTER_ERROR to indicate an error. Do not keep a reference to the buffers passed to this function.
(map->run-context-menu-callback)
(map->run-context-menu-callback {:as m :keys [cont cancel]})
Make a CefRunContextMenuCallback Callback structure used for continuation of custom context menu display.
:cont (fn [CefRunContextMenuCallback,int,int]) -> void Complete context menu display by selecting the specified |command_id| and |event_flags|.
:cancel (fn [CefRunContextMenuCallback]) -> void Cancel context menu display.
Make a CefRunContextMenuCallback Callback structure used for continuation of custom context menu display. :cont (fn [CefRunContextMenuCallback,int,int]) -> void Complete context menu display by selecting the specified |command_id| and |event_flags|. :cancel (fn [CefRunContextMenuCallback]) -> void Cancel context menu display.
(map->run-file-dialog-callback)
(map->run-file-dialog-callback {:as m :keys [on-file-dialog-dismissed]})
Make a CefRunFileDialogCallback Callback structure for cef_browser_host_t::RunFileDialog. The functions of this structure will be called on the browser process UI thread.
:on-file-dialog-dismissed (fn [CefRunFileDialogCallback,int,Pointer]) -> void Called asynchronously after the file dialog is dismissed. |selected_accept_filter| is the 0-based index of the value selected from the accept filters array passed to cef_browser_host_t::RunFileDialog. |file_paths| will be a single value or a list of values depending on the dialog mode. If the selection was cancelled |file_paths| will be NULL.
Make a CefRunFileDialogCallback Callback structure for cef_browser_host_t::RunFileDialog. The functions of this structure will be called on the browser process UI thread. :on-file-dialog-dismissed (fn [CefRunFileDialogCallback,int,Pointer]) -> void Called asynchronously after the file dialog is dismissed. |selected_accept_filter| is the 0-based index of the value selected from the accept filters array passed to cef_browser_host_t::RunFileDialog. |file_paths| will be a single value or a list of values depending on the dialog mode. If the selection was cancelled |file_paths| will be NULL.
(map->scheme-handler-factory)
(map->scheme-handler-factory {:as m :keys [create]})
Make a CefSchemeHandlerFactory Structure that creates cef_resource_handler_t instances for handling scheme requests. The functions of this structure will always be called on the IO thread.
:create (fn [CefSchemeHandlerFactory,CefBrowser,CefFrame,CefStringUtf16,CefRequest]) -> CefResourceHandler Return a new resource handler instance to handle the request or an NULL reference to allow default handling of the request. |browser| and |frame| will be the browser window and frame respectively that originated the request or NULL if the request did not originate from a browser window (for example, if the request came from cef_urlrequest_t). The |request| object passed to this function cannot be modified.
Make a CefSchemeHandlerFactory Structure that creates cef_resource_handler_t instances for handling scheme requests. The functions of this structure will always be called on the IO thread. :create (fn [CefSchemeHandlerFactory,CefBrowser,CefFrame,CefStringUtf16,CefRequest]) -> CefResourceHandler Return a new resource handler instance to handle the request or an NULL reference to allow default handling of the request. |browser| and |frame| will be the browser window and frame respectively that originated the request or NULL if the request did not originate from a browser window (for example, if the request came from cef_urlrequest_t). The |request| object passed to this function cannot be modified.
(map->scheme-registrar)
(map->scheme-registrar {:as m :keys [add-custom-scheme]})
Make a CefSchemeRegistrar Structure that manages custom scheme registrations.
:add-custom-scheme (fn [CefSchemeRegistrar,CefStringUtf16,int]) -> int Register a custom scheme. This function should not be called for the built- in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. See cef_scheme_options_t for possible values for |options|. This function may be called on any thread. It should only be called once per unique |scheme_name| value. If |scheme_name| is already registered or if an error occurs this function will return false (0).
Make a CefSchemeRegistrar Structure that manages custom scheme registrations. :add-custom-scheme (fn [CefSchemeRegistrar,CefStringUtf16,int]) -> int Register a custom scheme. This function should not be called for the built- in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. See cef_scheme_options_t for possible values for |options|. This function may be called on any thread. It should only be called once per unique |scheme_name| value. If |scheme_name| is already registered or if an error occurs this function will return false (0).
(map->screen-info)
(map->screen-info {:as m
:keys [device-scale-factor depth depth-per-component
is-monochrome rect available-rect]})
Make a CefScreenInfo Screen information used when window rendering is disabled. This structure is passed as a parameter to CefRenderHandler::GetScreenInfo and should be filled in by the client.
:device-scale-factor float Device scale factor. Specifies the ratio between physical and logical pixels.
:depth int The screen depth in bits per pixel.
:depth-per-component int The bits per color component. This assumes that the colors are balanced equally.
:is-monochrome int This can be true for black and white printers.
:rect cef_rect_t This is set from the rcMonitor member of MONITORINFOEX, to whit: "A RECT structure that specifies the display monitor rectangle, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values." The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views.
:available-rect cef_rect_t This is set from the rcWork member of MONITORINFOEX, to whit: "A RECT structure that specifies the work area rectangle of the display monitor that can be used by applications, expressed in virtual-screen coordinates. Windows uses this rectangle to maximize an application on the monitor. The rest of the area in rcMonitor contains system windows such as the task bar and side bars. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values". The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views.
Make a CefScreenInfo Screen information used when window rendering is disabled. This structure is passed as a parameter to CefRenderHandler::GetScreenInfo and should be filled in by the client. :device-scale-factor float Device scale factor. Specifies the ratio between physical and logical pixels. :depth int The screen depth in bits per pixel. :depth-per-component int The bits per color component. This assumes that the colors are balanced equally. :is-monochrome int This can be true for black and white printers. :rect cef_rect_t This is set from the rcMonitor member of MONITORINFOEX, to whit: "A RECT structure that specifies the display monitor rectangle, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values." The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views. :available-rect cef_rect_t This is set from the rcWork member of MONITORINFOEX, to whit: "A RECT structure that specifies the work area rectangle of the display monitor that can be used by applications, expressed in virtual-screen coordinates. Windows uses this rectangle to maximize an application on the monitor. The rest of the area in rcMonitor contains system windows such as the task bar and side bars. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values". The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views.
(map->select-client-certificate-callback)
(map->select-client-certificate-callback {:as m :keys [select]})
Make a CefSelectClientCertificateCallback Callback structure used to select a client certificate for authentication.
:select (fn [CefSelectClientCertificateCallback,CefX509certificate]) -> void Chooses the specified certificate for client certificate authentication. NULL value means that no client certificate should be used.
Make a CefSelectClientCertificateCallback Callback structure used to select a client certificate for authentication. :select (fn [CefSelectClientCertificateCallback,CefX509certificate]) -> void Chooses the specified certificate for client certificate authentication. NULL value means that no client certificate should be used.
(map->set-cookie-callback)
(map->set-cookie-callback {:as m :keys [on-complete]})
Make a CefSetCookieCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::set_cookie().
:on-complete (fn [CefSetCookieCallback,int]) -> void Method that will be called upon completion. |success| will be true (1) if the cookie was set successfully.
Make a CefSetCookieCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::set_cookie(). :on-complete (fn [CefSetCookieCallback,int]) -> void Method that will be called upon completion. |success| will be true (1) if the cookie was set successfully.
(map->settings)
(map->settings
{:as m
:keys [size no-sandbox browser-subprocess-path framework-dir-path
main-bundle-path chrome-runtime multi-threaded-message-loop
external-message-pump windowless-rendering-enabled
command-line-args-disabled cache-path root-cache-path user-data-path
persist-session-cookies persist-user-preferences user-agent
product-version locale log-file log-severity javascript-flags
resources-dir-path locales-dir-path pack-loading-disabled
remote-debugging-port uncaught-exception-stack-size
ignore-certificate-errors background-color accept-language-list
application-client-id-for-file-scanning]})
Make a CefSettings Initialization settings. Specify NULL or 0 to get the recommended default values. Many of these and other settings can also configured using command- line switches.
:size size_t Size of this structure.
:no-sandbox int Set to true (1) to disable the sandbox for sub-processes. See cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also configurable using the "no-sandbox" command-line switch.
:browser-subprocess-path cef_string_t The path to a separate executable that will be launched for sub-processes. If this value is empty on Windows or Linux then the main process executable will be used. If this value is empty on macOS then a helper executable must exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper" in the top-level app bundle. See the comments on CefExecuteProcess() for details. If this value is non-empty then it must be an absolute path. Also configurable using the "browser-subprocess-path" command-line switch.
:framework-dir-path cef_string_t The path to the CEF framework directory on macOS. If this value is empty then the framework must exist at "Contents/Frameworks/Chromium Embedded Framework.framework" in the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "framework-dir-path" command-line switch.
:main-bundle-path cef_string_t The path to the main bundle on macOS. If this value is empty then it defaults to the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "main-bundle-path" command-line switch.
:chrome-runtime int Set to true (1) to enable use of the Chrome runtime in CEF. This feature is considered experimental and is not recommended for most users at this time. See issue #2969 for details.
:multi-threaded-message-loop int Set to true (1) to have the browser process message loop run in a separate thread. If false (0) than the CefDoMessageLoopWork() function must be called from your application message loop. This option is only supported on Windows and Linux.
:external-message-pump int Set to true (1) to control browser process main (UI) thread message pump scheduling via the CefBrowserProcessHandler::OnScheduleMessagePumpWork() callback. This option is recommended for use in combination with the CefDoMessageLoopWork() function in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on CefDoMessageLoopWork). Enabling this option is not recommended for most users; leave this option disabled and use either the CefRunMessageLoop() function or multi_threaded_message_loop if possible.
:windowless-rendering-enabled int Set to true (1) to enable windowless (off-screen) rendering support. Do not enable this value if the application does not use windowless rendering as it may reduce rendering performance on some systems.
:command-line-args-disabled int Set to true (1) to disable configuration of browser process features using standard CEF and Chromium command-line arguments. Configuration can still be specified using CEF data structures or via the CefApp::OnBeforeCommandLineProcessing() method.
:cache-path cef_string_t The location where data for the global browser cache will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.cache_path value.
:root-cache-path cef_string_t The root directory that all CefSettings.cache_path and CefRequestContextSettings.cache_path values must have in common. If this value is empty and CefSettings.cache_path is non-empty then it will default to the CefSettings.cache_path value. If this value is non-empty then it must be an absolute path. Failure to set this value correctly may result in the sandbox blocking read/write access to the cache_path directory.
:user-data-path cef_string_t The location where user data such as spell checking dictionary files will be stored on disk. If this value is empty then the default platform-specific user data directory will be used ("~/.cef_user_data" directory on Linux, "~/Library/Application Support/CEF/User Data" directory on Mac OS X, "Local Settings\Application Data\CEF\User Data" directory under the user profile directory on Windows). If this value is non-empty then it must be an absolute path.
:persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-session-cookies" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_session_cookies value.
:persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-user-preferences" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_user_preferences value.
:user-agent cef_string_t Value that will be returned as the User-Agent HTTP header. If empty the default User-Agent string will be used. Also configurable using the "user-agent" command-line switch.
:product-version cef_string_t Value that will be inserted as the product portion of the default User-Agent string. If empty the Chromium product version will be used. If |userAgent| is specified this value will be ignored. Also configurable using the "product-version" command-line switch.
:locale cef_string_t The locale string that will be passed to WebKit. If empty the default locale of "en-US" will be used. This value is ignored on Linux where locale is determined using environment variable parsing with the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also configurable using the "lang" command-line switch.
:log-file cef_string_t The directory and file name to use for the debug log. If empty a default log file name and location will be used. On Windows and Linux a "debug.log" file will be written in the main executable directory. On Mac OS X a "~/Library/Logs/<app name>_debug.log" file will be written where <app name> is the name of the main app executable. Also configurable using the "log-file" command-line switch.
:log-severity cef_log_severity_t The log severity. Only messages of this severity level or higher will be logged. When set to DISABLE no messages will be written to the log file, but FATAL messages will still be output to stderr. Also configurable using the "log-severity" command-line switch with a value of "verbose", "info", "warning", "error", "fatal" or "disable".
:javascript-flags cef_string_t Custom flags that will be used when initializing the V8 JavaScript engine. The consequences of using custom flags may not be well tested. Also configurable using the "js-flags" command-line switch.
:resources-dir-path cef_string_t The fully qualified path for the resources directory. If this value is empty the cef.pak and/or devtools_resources.pak files must be located in the module directory on Windows/Linux or the app bundle Resources directory on Mac OS X. If this value is non-empty then it must be an absolute path. Also configurable using the "resources-dir-path" command-line switch.
:locales-dir-path cef_string_t The fully qualified path for the locales directory. If this value is empty the locales directory must be located in the module directory. If this value is non-empty then it must be an absolute path. This value is ignored on Mac OS X where pack files are always loaded from the app bundle Resources directory. Also configurable using the "locales-dir-path" command-line switch.
:pack-loading-disabled int Set to true (1) to disable loading of pack files for resources and locales. A resource bundle handler must be provided for the browser and render processes via CefApp::GetResourceBundleHandler() if loading of pack files is disabled. Also configurable using the "disable-pack-loading" command- line switch.
:remote-debugging-port int Set to a value between 1024 and 65535 to enable remote debugging on the specified port. For example, if 8080 is specified the remote debugging URL will be http://localhost:8080. CEF can be remotely debugged from any CEF or Chrome browser window. Also configurable using the "remote-debugging-port" command-line switch.
:uncaught-exception-stack-size int The number of stack trace frames to capture for uncaught exceptions. Specify a positive value to enable the CefRenderProcessHandler:: OnUncaughtException() callback. Specify 0 (default value) and OnUncaughtException() will not be called. Also configurable using the "uncaught-exception-stack-size" command-line switch.
:ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Also configurable using the "ignore-certificate-errors" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.ignore_certificate_errors value.
:background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the default value of opaque white be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled.
:accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be overridden on a per-browser basis using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.accept_language_list value.
:application-client-id-for-file-scanning cef_string_t GUID string used for identifying the application. This is passed to the system AV function for scanning downloaded files. By default, the GUID will be an empty string and the file will be treated as an untrusted file when the GUID is empty.
Make a CefSettings Initialization settings. Specify NULL or 0 to get the recommended default values. Many of these and other settings can also configured using command- line switches. :size size_t Size of this structure. :no-sandbox int Set to true (1) to disable the sandbox for sub-processes. See cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also configurable using the "no-sandbox" command-line switch. :browser-subprocess-path cef_string_t The path to a separate executable that will be launched for sub-processes. If this value is empty on Windows or Linux then the main process executable will be used. If this value is empty on macOS then a helper executable must exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper" in the top-level app bundle. See the comments on CefExecuteProcess() for details. If this value is non-empty then it must be an absolute path. Also configurable using the "browser-subprocess-path" command-line switch. :framework-dir-path cef_string_t The path to the CEF framework directory on macOS. If this value is empty then the framework must exist at "Contents/Frameworks/Chromium Embedded Framework.framework" in the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "framework-dir-path" command-line switch. :main-bundle-path cef_string_t The path to the main bundle on macOS. If this value is empty then it defaults to the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "main-bundle-path" command-line switch. :chrome-runtime int Set to true (1) to enable use of the Chrome runtime in CEF. This feature is considered experimental and is not recommended for most users at this time. See issue #2969 for details. :multi-threaded-message-loop int Set to true (1) to have the browser process message loop run in a separate thread. If false (0) than the CefDoMessageLoopWork() function must be called from your application message loop. This option is only supported on Windows and Linux. :external-message-pump int Set to true (1) to control browser process main (UI) thread message pump scheduling via the CefBrowserProcessHandler::OnScheduleMessagePumpWork() callback. This option is recommended for use in combination with the CefDoMessageLoopWork() function in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on CefDoMessageLoopWork). Enabling this option is not recommended for most users; leave this option disabled and use either the CefRunMessageLoop() function or multi_threaded_message_loop if possible. :windowless-rendering-enabled int Set to true (1) to enable windowless (off-screen) rendering support. Do not enable this value if the application does not use windowless rendering as it may reduce rendering performance on some systems. :command-line-args-disabled int Set to true (1) to disable configuration of browser process features using standard CEF and Chromium command-line arguments. Configuration can still be specified using CEF data structures or via the CefApp::OnBeforeCommandLineProcessing() method. :cache-path cef_string_t The location where data for the global browser cache will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.cache_path value. :root-cache-path cef_string_t The root directory that all CefSettings.cache_path and CefRequestContextSettings.cache_path values must have in common. If this value is empty and CefSettings.cache_path is non-empty then it will default to the CefSettings.cache_path value. If this value is non-empty then it must be an absolute path. Failure to set this value correctly may result in the sandbox blocking read/write access to the cache_path directory. :user-data-path cef_string_t The location where user data such as spell checking dictionary files will be stored on disk. If this value is empty then the default platform-specific user data directory will be used ("~/.cef_user_data" directory on Linux, "~/Library/Application Support/CEF/User Data" directory on Mac OS X, "Local Settings\Application Data\CEF\User Data" directory under the user profile directory on Windows). If this value is non-empty then it must be an absolute path. :persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-session-cookies" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_session_cookies value. :persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-user-preferences" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_user_preferences value. :user-agent cef_string_t Value that will be returned as the User-Agent HTTP header. If empty the default User-Agent string will be used. Also configurable using the "user-agent" command-line switch. :product-version cef_string_t Value that will be inserted as the product portion of the default User-Agent string. If empty the Chromium product version will be used. If |userAgent| is specified this value will be ignored. Also configurable using the "product-version" command-line switch. :locale cef_string_t The locale string that will be passed to WebKit. If empty the default locale of "en-US" will be used. This value is ignored on Linux where locale is determined using environment variable parsing with the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also configurable using the "lang" command-line switch. :log-file cef_string_t The directory and file name to use for the debug log. If empty a default log file name and location will be used. On Windows and Linux a "debug.log" file will be written in the main executable directory. On Mac OS X a "~/Library/Logs/<app name>_debug.log" file will be written where <app name> is the name of the main app executable. Also configurable using the "log-file" command-line switch. :log-severity cef_log_severity_t The log severity. Only messages of this severity level or higher will be logged. When set to DISABLE no messages will be written to the log file, but FATAL messages will still be output to stderr. Also configurable using the "log-severity" command-line switch with a value of "verbose", "info", "warning", "error", "fatal" or "disable". :javascript-flags cef_string_t Custom flags that will be used when initializing the V8 JavaScript engine. The consequences of using custom flags may not be well tested. Also configurable using the "js-flags" command-line switch. :resources-dir-path cef_string_t The fully qualified path for the resources directory. If this value is empty the cef.pak and/or devtools_resources.pak files must be located in the module directory on Windows/Linux or the app bundle Resources directory on Mac OS X. If this value is non-empty then it must be an absolute path. Also configurable using the "resources-dir-path" command-line switch. :locales-dir-path cef_string_t The fully qualified path for the locales directory. If this value is empty the locales directory must be located in the module directory. If this value is non-empty then it must be an absolute path. This value is ignored on Mac OS X where pack files are always loaded from the app bundle Resources directory. Also configurable using the "locales-dir-path" command-line switch. :pack-loading-disabled int Set to true (1) to disable loading of pack files for resources and locales. A resource bundle handler must be provided for the browser and render processes via CefApp::GetResourceBundleHandler() if loading of pack files is disabled. Also configurable using the "disable-pack-loading" command- line switch. :remote-debugging-port int Set to a value between 1024 and 65535 to enable remote debugging on the specified port. For example, if 8080 is specified the remote debugging URL will be http://localhost:8080. CEF can be remotely debugged from any CEF or Chrome browser window. Also configurable using the "remote-debugging-port" command-line switch. :uncaught-exception-stack-size int The number of stack trace frames to capture for uncaught exceptions. Specify a positive value to enable the CefRenderProcessHandler:: OnUncaughtException() callback. Specify 0 (default value) and OnUncaughtException() will not be called. Also configurable using the "uncaught-exception-stack-size" command-line switch. :ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Also configurable using the "ignore-certificate-errors" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.ignore_certificate_errors value. :background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the default value of opaque white be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled. :accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be overridden on a per-browser basis using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.accept_language_list value. :application-client-id-for-file-scanning cef_string_t GUID string used for identifying the application. This is passed to the system AV function for scanning downloaded files. By default, the GUID will be an empty string and the file will be treated as an untrusted file when the GUID is empty.
(map->size)
(map->size {:as m :keys [width height]})
Make a CefSize Structure representing a size.
Make a CefSize Structure representing a size.
(map->sslinfo)
(map->sslinfo {:as m :keys [get-cert-status get-x509certificate]})
Make a CefSslinfo Structure representing SSL information.
:get-cert-status (fn [CefSslinfo]) -> int Returns a bitmask containing any and all problems verifying the server certificate.
:get-x509certificate (fn [CefSslinfo]) -> CefX509certificate Returns the X.509 certificate.
Make a CefSslinfo Structure representing SSL information. :get-cert-status (fn [CefSslinfo]) -> int Returns a bitmask containing any and all problems verifying the server certificate. :get-x509certificate (fn [CefSslinfo]) -> CefX509certificate Returns the X.509 certificate.
(map->sslstatus)
(map->sslstatus {:as m
:keys [is-secure-connection get-cert-status get-sslversion
get-content-status get-x509certificate]})
Make a CefSslstatus Structure representing the SSL information for a navigation entry.
:is-secure-connection (fn [CefSslstatus]) -> int Returns true (1) if the status is related to a secure SSL/TLS connection.
:get-cert-status (fn [CefSslstatus]) -> int Returns a bitmask containing any and all problems verifying the server certificate.
:get-sslversion (fn [CefSslstatus]) -> int Returns the SSL version used for the SSL connection.
:get-content-status (fn [CefSslstatus]) -> int Returns a bitmask containing the page security content status.
:get-x509certificate (fn [CefSslstatus]) -> CefX509certificate Returns the X.509 certificate.
Make a CefSslstatus Structure representing the SSL information for a navigation entry. :is-secure-connection (fn [CefSslstatus]) -> int Returns true (1) if the status is related to a secure SSL/TLS connection. :get-cert-status (fn [CefSslstatus]) -> int Returns a bitmask containing any and all problems verifying the server certificate. :get-sslversion (fn [CefSslstatus]) -> int Returns the SSL version used for the SSL connection. :get-content-status (fn [CefSslstatus]) -> int Returns a bitmask containing the page security content status. :get-x509certificate (fn [CefSslstatus]) -> CefX509certificate Returns the X.509 certificate.
(map->stream-reader)
(map->stream-reader {:as m :keys [read seek tell eof may-block]})
Make a CefStreamReader Structure used to read data from a stream. The functions of this structure may be called on any thread.
:read (fn [CefStreamReader,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data.
:seek (fn [CefStreamReader,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure.
:tell (fn [CefStreamReader]) -> long Return the current offset position.
:eof (fn [CefStreamReader]) -> int Return non-zero if at end of file.
:may-block (fn [CefStreamReader]) -> int Returns true (1) if this reader performs work like accessing the file system which may block. Used as a hint for determining the thread to access the reader from.
Make a CefStreamReader Structure used to read data from a stream. The functions of this structure may be called on any thread. :read (fn [CefStreamReader,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data. :seek (fn [CefStreamReader,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure. :tell (fn [CefStreamReader]) -> long Return the current offset position. :eof (fn [CefStreamReader]) -> int Return non-zero if at end of file. :may-block (fn [CefStreamReader]) -> int Returns true (1) if this reader performs work like accessing the file system which may block. Used as a hint for determining the thread to access the reader from.
(map->stream-writer)
(map->stream-writer {:as m :keys [write seek tell flush may-block]})
Make a CefStreamWriter Structure used to write data to a stream. The functions of this structure may be called on any thread.
:write (fn [CefStreamWriter,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data.
:seek (fn [CefStreamWriter,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure.
:tell (fn [CefStreamWriter]) -> long Return the current offset position.
:flush (fn [CefStreamWriter]) -> int Flush the stream.
:may-block (fn [CefStreamWriter]) -> int Returns true (1) if this writer performs work like accessing the file system which may block. Used as a hint for determining the thread to access the writer from.
Make a CefStreamWriter Structure used to write data to a stream. The functions of this structure may be called on any thread. :write (fn [CefStreamWriter,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data. :seek (fn [CefStreamWriter,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure. :tell (fn [CefStreamWriter]) -> long Return the current offset position. :flush (fn [CefStreamWriter]) -> int Flush the stream. :may-block (fn [CefStreamWriter]) -> int Returns true (1) if this writer performs work like accessing the file system which may block. Used as a hint for determining the thread to access the writer from.
(map->string-utf16)
(map->string-utf16 {:as m :keys [str length dtor]})
Make a CefStringUtf16
Make a CefStringUtf16
(map->string-utf8)
(map->string-utf8 {:as m :keys [str length dtor]})
Make a CefStringUtf8
Make a CefStringUtf8
(map->string-visitor)
(map->string-visitor {:as m :keys [visit]})
Make a CefStringVisitor Implement this structure to receive string values asynchronously.
:visit (fn [CefStringVisitor,CefStringUtf16]) -> void Method that will be executed.
Make a CefStringVisitor Implement this structure to receive string values asynchronously. :visit (fn [CefStringVisitor,CefStringUtf16]) -> void Method that will be executed.
(map->string-wide)
(map->string-wide {:as m :keys [str length dtor]})
Make a CefStringWide CEF string type definitions. Whomever allocates |str| is responsible for providing an appropriate |dtor| implementation that will free the string in the same memory space. When reusing an existing string structure make sure to call |dtor| for the old value before assigning new |str| and |dtor| values. Static strings will have a NULL |dtor| value. Using the below functions if you want this managed for you.
Make a CefStringWide CEF string type definitions. Whomever allocates |str| is responsible for providing an appropriate |dtor| implementation that will free the string in the same memory space. When reusing an existing string structure make sure to call |dtor| for the old value before assigning new |str| and |dtor| values. Static strings will have a NULL |dtor| value. Using the below functions if you want this managed for you.
(map->task)
(map->task {:as m :keys [execute]})
Make a CefTask Implement this structure for asynchronous task execution. If the task is posted successfully and if the associated message loop is still running then the execute() function will be called on the target thread. If the task fails to post then the task object may be destroyed on the source thread instead of the target thread. For this reason be cautious when performing work in the task object destructor.
:execute (fn [CefTask]) -> void Method that will be executed on the target thread.
Make a CefTask Implement this structure for asynchronous task execution. If the task is posted successfully and if the associated message loop is still running then the execute() function will be called on the target thread. If the task fails to post then the task object may be destroyed on the source thread instead of the target thread. For this reason be cautious when performing work in the task object destructor. :execute (fn [CefTask]) -> void Method that will be executed on the target thread.
(map->task-runner)
(map->task-runner {:as m
:keys [is-same belongs-to-current-thread belongs-to-thread
post-task post-delayed-task]})
Make a CefTaskRunner Structure that asynchronously executes tasks on the associated thread. It is safe to call the functions of this structure on any thread. CEF maintains multiple internal threads that are used for handling different types of tasks in different processes. The cef_thread_id_t definitions in cef_types.h list the common CEF threads. Task runners are also available for other CEF threads as appropriate (for example, V8 WebWorker threads).
:is-same (fn [CefTaskRunner,CefTaskRunner]) -> int Returns true (1) if this object is pointing to the same task runner as |that| object.
:belongs-to-current-thread (fn [CefTaskRunner]) -> int Returns true (1) if this task runner belongs to the current thread.
:belongs-to-thread (fn [CefTaskRunner,int]) -> int Returns true (1) if this task runner is for the specified CEF thread.
:post-task (fn [CefTaskRunner,CefTask]) -> int Post a task for execution on the thread associated with this task runner. Execution will occur asynchronously.
:post-delayed-task (fn [CefTaskRunner,CefTask,long]) -> int Post a task for delayed execution on the thread associated with this task runner. Execution will occur asynchronously. Delayed tasks are not supported on V8 WebWorker threads and will be executed without the specified delay.
Make a CefTaskRunner Structure that asynchronously executes tasks on the associated thread. It is safe to call the functions of this structure on any thread. CEF maintains multiple internal threads that are used for handling different types of tasks in different processes. The cef_thread_id_t definitions in cef_types.h list the common CEF threads. Task runners are also available for other CEF threads as appropriate (for example, V8 WebWorker threads). :is-same (fn [CefTaskRunner,CefTaskRunner]) -> int Returns true (1) if this object is pointing to the same task runner as |that| object. :belongs-to-current-thread (fn [CefTaskRunner]) -> int Returns true (1) if this task runner belongs to the current thread. :belongs-to-thread (fn [CefTaskRunner,int]) -> int Returns true (1) if this task runner is for the specified CEF thread. :post-task (fn [CefTaskRunner,CefTask]) -> int Post a task for execution on the thread associated with this task runner. Execution will occur asynchronously. :post-delayed-task (fn [CefTaskRunner,CefTask,long]) -> int Post a task for delayed execution on the thread associated with this task runner. Execution will occur asynchronously. Delayed tasks are not supported on V8 WebWorker threads and will be executed without the specified delay.
(map->time)
(map->time {:as m
:keys [year month day-of-week day-of-month hour minute second
millisecond]})
Make a CefTime Time information. Values should always be in UTC.
:month int Four or five digit year "2007" (1601 to 30827 on Windows, 1970 to 2038 on 32-bit POSIX)
:day-of-week int 1-based month (values 1 = January, etc.)
:day-of-month int 0-based day of week (0 = Sunday, etc.)
:hour int 1-based day of month (1-31)
:minute int Hour within the current day (0-23)
:second int Minute within the current hour (0-59)
:millisecond int Second within the current minute (0-59 plus leap seconds which may take it up to 60).
Make a CefTime Time information. Values should always be in UTC. :month int Four or five digit year "2007" (1601 to 30827 on Windows, 1970 to 2038 on 32-bit POSIX) :day-of-week int 1-based month (values 1 = January, etc.) :day-of-month int 0-based day of week (0 = Sunday, etc.) :hour int 1-based day of month (1-31) :minute int Hour within the current day (0-23) :second int Minute within the current hour (0-59) :millisecond int Second within the current minute (0-59 plus leap seconds which may take it up to 60).
(map->touch-event)
(map->touch-event {:as m
:keys [id x y radius-x radius-y rotation-angle pressure type
modifiers pointer-type]})
Make a CefTouchEvent Structure representing touch event information.
:id int Id of a touch point. Must be unique per touch, can be any number except -1. Note that a maximum of 16 concurrent touches will be tracked; touches beyond that will be ignored.
:x float X coordinate relative to the left side of the view.
:y float Y coordinate relative to the top side of the view.
:radius-x float X radius in pixels. Set to 0 if not applicable.
:radius-y float Y radius in pixels. Set to 0 if not applicable.
:rotation-angle float Rotation angle in radians. Set to 0 if not applicable.
:pressure float The normalized pressure of the pointer input in the range of [0,1]. Set to 0 if not applicable.
:type cef_touch_event_type_t The state of the touch point. Touches begin with one CEF_TET_PRESSED event followed by zero or more CEF_TET_MOVED events and finally one CEF_TET_RELEASED or CEF_TET_CANCELLED event. Events not respecting this order will be ignored.
:modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
:pointer-type cef_pointer_type_t The device type that caused the event.
Make a CefTouchEvent Structure representing touch event information. :id int Id of a touch point. Must be unique per touch, can be any number except -1. Note that a maximum of 16 concurrent touches will be tracked; touches beyond that will be ignored. :x float X coordinate relative to the left side of the view. :y float Y coordinate relative to the top side of the view. :radius-x float X radius in pixels. Set to 0 if not applicable. :radius-y float Y radius in pixels. Set to 0 if not applicable. :rotation-angle float Rotation angle in radians. Set to 0 if not applicable. :pressure float The normalized pressure of the pointer input in the range of [0,1]. Set to 0 if not applicable. :type cef_touch_event_type_t The state of the touch point. Touches begin with one CEF_TET_PRESSED event followed by zero or more CEF_TET_MOVED events and finally one CEF_TET_RELEASED or CEF_TET_CANCELLED event. Events not respecting this order will be ignored. :modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values. :pointer-type cef_pointer_type_t The device type that caused the event.
(map->urlparts)
(map->urlparts {:as m
:keys [spec scheme username password host port origin path query
fragment]})
Make a CefUrlparts URL component parts.
:spec cef_string_t The complete URL specification.
:scheme cef_string_t Scheme component not including the colon (e.g., "http").
:username cef_string_t User name component.
:password cef_string_t Password component.
:host cef_string_t Host component. This may be a hostname, an IPv4 address or an IPv6 literal surrounded by square brackets (e.g., "[2001:db8::1]").
:port cef_string_t Port number component.
:origin cef_string_t Origin contains just the scheme, host, and port from a URL. Equivalent to clearing any username and password, replacing the path with a slash, and clearing everything after that. This value will be empty for non-standard URLs.
:path cef_string_t Path component including the first slash following the host.
:query cef_string_t Query string component (i.e., everything following the '?').
:fragment cef_string_t Fragment (hash) identifier component (i.e., the string following the '#').
Make a CefUrlparts URL component parts. :spec cef_string_t The complete URL specification. :scheme cef_string_t Scheme component not including the colon (e.g., "http"). :username cef_string_t User name component. :password cef_string_t Password component. :host cef_string_t Host component. This may be a hostname, an IPv4 address or an IPv6 literal surrounded by square brackets (e.g., "[2001:db8::1]"). :port cef_string_t Port number component. :origin cef_string_t Origin contains just the scheme, host, and port from a URL. Equivalent to clearing any username and password, replacing the path with a slash, and clearing everything after that. This value will be empty for non-standard URLs. :path cef_string_t Path component including the first slash following the host. :query cef_string_t Query string component (i.e., everything following the '?'). :fragment cef_string_t Fragment (hash) identifier component (i.e., the string following the '#').
(map->urlrequest)
(map->urlrequest {:as m
:keys [get-request get-client get-request-status
get-request-error get-response response-was-cached
cancel]})
Make a CefUrlrequest Structure used to make a URL request. URL requests are not associated with a browser instance so no cef_client_t callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the functions of the URL request object must be accessed on the same thread that created it.
:get-request (fn [CefUrlrequest]) -> CefRequest Returns the request object used to create this URL request. The returned object is read-only and should not be modified.
:get-client (fn [CefUrlrequest]) -> CefUrlrequestClient Returns the client.
:get-request-status (fn [CefUrlrequest]) -> int Returns the request status.
:get-request-error (fn [CefUrlrequest]) -> int Returns the request error if status is UR_CANCELED or UR_FAILED, or 0 otherwise.
:get-response (fn [CefUrlrequest]) -> CefResponse Returns the response, or NULL if no response information is available. Response information will only be available after the upload has completed. The returned object is read-only and should not be modified.
:response-was-cached (fn [CefUrlrequest]) -> int Returns true (1) if the response body was served from the cache. This includes responses for which revalidation was required.
:cancel (fn [CefUrlrequest]) -> void Cancel the request.
Make a CefUrlrequest Structure used to make a URL request. URL requests are not associated with a browser instance so no cef_client_t callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the functions of the URL request object must be accessed on the same thread that created it. :get-request (fn [CefUrlrequest]) -> CefRequest Returns the request object used to create this URL request. The returned object is read-only and should not be modified. :get-client (fn [CefUrlrequest]) -> CefUrlrequestClient Returns the client. :get-request-status (fn [CefUrlrequest]) -> int Returns the request status. :get-request-error (fn [CefUrlrequest]) -> int Returns the request error if status is UR_CANCELED or UR_FAILED, or 0 otherwise. :get-response (fn [CefUrlrequest]) -> CefResponse Returns the response, or NULL if no response information is available. Response information will only be available after the upload has completed. The returned object is read-only and should not be modified. :response-was-cached (fn [CefUrlrequest]) -> int Returns true (1) if the response body was served from the cache. This includes responses for which revalidation was required. :cancel (fn [CefUrlrequest]) -> void Cancel the request.
(map->urlrequest-client)
(map->urlrequest-client {:as m
:keys [on-request-complete on-upload-progress
on-download-progress on-download-data
get-auth-credentials]})
Make a CefUrlrequestClient Structure that should be implemented by the cef_urlrequest_t client. The functions of this structure will be called on the same thread that created the request unless otherwise documented.
:on-request-complete (fn [CefUrlrequestClient,CefUrlrequest]) -> void Notifies the client that the request has completed. Use the cef_urlrequest_t::GetRequestStatus function to determine if the request was successful or not.
:on-upload-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of upload progress. |current| denotes the number of bytes sent so far and |total| is the total size of uploading data (or -1 if chunked upload is enabled). This function will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request.
:on-download-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of download progress. |current| denotes the number of bytes received up to the call and |total| is the expected total size of the response (or -1 if not determined).
:on-download-data (fn [CefUrlrequestClient,CefUrlrequest,Pointer,SizeT]) -> void Called when some part of the response is read. |data| contains the current bytes received since the last call. This function will not be called if the UR_FLAG_NO_DOWNLOAD_DATA flag is set on the request.
:get-auth-credentials (fn [CefUrlrequestClient,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int Called on the IO thread when the browser needs credentials from the user. |isProxy| indicates whether the host is a proxy server. |host| contains the hostname and |port| contains the port number. Return true (1) to continue the request and call cef_auth_callback_t::cont() when the authentication information is available. If the request has an associated browser/frame then returning false (0) will result in a call to GetAuthCredentials on the cef_request_handler_t associated with that browser, if any. Otherwise, returning false (0) will cancel the request immediately. This function will only be called for requests initiated from the browser process.
Make a CefUrlrequestClient Structure that should be implemented by the cef_urlrequest_t client. The functions of this structure will be called on the same thread that created the request unless otherwise documented. :on-request-complete (fn [CefUrlrequestClient,CefUrlrequest]) -> void Notifies the client that the request has completed. Use the cef_urlrequest_t::GetRequestStatus function to determine if the request was successful or not. :on-upload-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of upload progress. |current| denotes the number of bytes sent so far and |total| is the total size of uploading data (or -1 if chunked upload is enabled). This function will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request. :on-download-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of download progress. |current| denotes the number of bytes received up to the call and |total| is the expected total size of the response (or -1 if not determined). :on-download-data (fn [CefUrlrequestClient,CefUrlrequest,Pointer,SizeT]) -> void Called when some part of the response is read. |data| contains the current bytes received since the last call. This function will not be called if the UR_FLAG_NO_DOWNLOAD_DATA flag is set on the request. :get-auth-credentials (fn [CefUrlrequestClient,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int Called on the IO thread when the browser needs credentials from the user. |isProxy| indicates whether the host is a proxy server. |host| contains the hostname and |port| contains the port number. Return true (1) to continue the request and call cef_auth_callback_t::cont() when the authentication information is available. If the request has an associated browser/frame then returning false (0) will result in a call to GetAuthCredentials on the cef_request_handler_t associated with that browser, if any. Otherwise, returning false (0) will cancel the request immediately. This function will only be called for requests initiated from the browser process.
(map->v8accessor)
(map->v8accessor {:as m :keys [get set]})
Make a CefV8accessor Structure that should be implemented to handle V8 accessor calls. Accessor identifiers are registered by calling cef_v8value_t::set_value(). The functions of this structure will be called on the thread associated with the V8 accessor.
:get (fn [CefV8accessor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. If retrieval succeeds set |retval| to the return value. If retrieval fails set |exception| to the exception that will be thrown. Return true (1) if accessor retrieval was handled.
:set (fn [CefV8accessor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. |value| is the new value being assigned to the accessor. If assignment fails set |exception| to the exception that will be thrown. Return true (1) if accessor assignment was handled.
Make a CefV8accessor Structure that should be implemented to handle V8 accessor calls. Accessor identifiers are registered by calling cef_v8value_t::set_value(). The functions of this structure will be called on the thread associated with the V8 accessor. :get (fn [CefV8accessor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. If retrieval succeeds set |retval| to the return value. If retrieval fails set |exception| to the exception that will be thrown. Return true (1) if accessor retrieval was handled. :set (fn [CefV8accessor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. |value| is the new value being assigned to the accessor. If assignment fails set |exception| to the exception that will be thrown. Return true (1) if accessor assignment was handled.
(map->v8array-buffer-release-callback)
(map->v8array-buffer-release-callback {:as m :keys [release-buffer]})
Make a CefV8arrayBufferReleaseCallback Callback structure that is passed to cef_v8value_t::CreateArrayBuffer.
:release-buffer (fn [CefV8arrayBufferReleaseCallback,Pointer]) -> void Called to release |buffer| when the ArrayBuffer JS object is garbage collected. |buffer| is the value that was passed to CreateArrayBuffer along with this object.
Make a CefV8arrayBufferReleaseCallback Callback structure that is passed to cef_v8value_t::CreateArrayBuffer. :release-buffer (fn [CefV8arrayBufferReleaseCallback,Pointer]) -> void Called to release |buffer| when the ArrayBuffer JS object is garbage collected. |buffer| is the value that was passed to CreateArrayBuffer along with this object.
(map->v8context)
(map->v8context {:as m
:keys [get-task-runner is-valid get-browser get-frame
get-global enter exit is-same eval]})
Make a CefV8context Structure representing a V8 context handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:get-task-runner (fn [CefV8context]) -> CefTaskRunner Returns the task runner associated with this context. V8 handles can only be accessed from the thread on which they are created. This function can be called on any render process thread.
:is-valid (fn [CefV8context]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:get-browser (fn [CefV8context]) -> CefBrowser Returns the browser for this context. This function will return an NULL reference for WebWorker contexts.
:get-frame (fn [CefV8context]) -> CefFrame Returns the frame for this context. This function will return an NULL reference for WebWorker contexts.
:get-global (fn [CefV8context]) -> CefV8value Returns the global object for this context. The context must be entered before calling this function.
:enter (fn [CefV8context]) -> int Enter this context. A context must be explicitly entered before creating a V8 Object, Array, Function or Date asynchronously. exit() must be called the same number of times as enter() before releasing this context. V8 objects belong to the context in which they are created. Returns true (1) if the scope was entered successfully.
:exit (fn [CefV8context]) -> int Exit this context. Call this function only after calling enter(). Returns true (1) if the scope was exited successfully.
:is-same (fn [CefV8context,CefV8context]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:eval (fn [CefV8context,CefStringUtf16,CefStringUtf16,int,Pointer,Pointer]) -> int Execute a string of JavaScript code in this V8 context. The |script_url| parameter is the URL where the script in question can be found, if any. The |start_line| parameter is the base line number to use for error reporting. On success |retval| will be set to the return value, if any, and the function will return true (1). On failure |exception| will be set to the exception, if any, and the function will return false (0).
Make a CefV8context Structure representing a V8 context handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :get-task-runner (fn [CefV8context]) -> CefTaskRunner Returns the task runner associated with this context. V8 handles can only be accessed from the thread on which they are created. This function can be called on any render process thread. :is-valid (fn [CefV8context]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :get-browser (fn [CefV8context]) -> CefBrowser Returns the browser for this context. This function will return an NULL reference for WebWorker contexts. :get-frame (fn [CefV8context]) -> CefFrame Returns the frame for this context. This function will return an NULL reference for WebWorker contexts. :get-global (fn [CefV8context]) -> CefV8value Returns the global object for this context. The context must be entered before calling this function. :enter (fn [CefV8context]) -> int Enter this context. A context must be explicitly entered before creating a V8 Object, Array, Function or Date asynchronously. exit() must be called the same number of times as enter() before releasing this context. V8 objects belong to the context in which they are created. Returns true (1) if the scope was entered successfully. :exit (fn [CefV8context]) -> int Exit this context. Call this function only after calling enter(). Returns true (1) if the scope was exited successfully. :is-same (fn [CefV8context,CefV8context]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :eval (fn [CefV8context,CefStringUtf16,CefStringUtf16,int,Pointer,Pointer]) -> int Execute a string of JavaScript code in this V8 context. The |script_url| parameter is the URL where the script in question can be found, if any. The |start_line| parameter is the base line number to use for error reporting. On success |retval| will be set to the return value, if any, and the function will return true (1). On failure |exception| will be set to the exception, if any, and the function will return false (0).
(map->v8exception)
(map->v8exception {:as m
:keys [get-message get-source-line get-script-resource-name
get-line-number get-start-position get-end-position
get-start-column get-end-column]})
Make a CefV8exception Structure representing a V8 exception. The functions of this structure may be called on any render process thread.
:get-message (fn [CefV8exception]) -> CefStringUtf16 Returns the exception message. The resulting string must be freed by calling cef_string_userfree_free().
:get-source-line (fn [CefV8exception]) -> CefStringUtf16 Returns the line of source code that the exception occurred within. The resulting string must be freed by calling cef_string_userfree_free().
:get-script-resource-name (fn [CefV8exception]) -> CefStringUtf16 Returns the resource name for the script from where the function causing the error originates. The resulting string must be freed by calling cef_string_userfree_free().
:get-line-number (fn [CefV8exception]) -> int Returns the 1-based number of the line where the error occurred or 0 if the line number is unknown.
:get-start-position (fn [CefV8exception]) -> int Returns the index within the script of the first character where the error occurred.
:get-end-position (fn [CefV8exception]) -> int Returns the index within the script of the last character where the error occurred.
:get-start-column (fn [CefV8exception]) -> int Returns the index within the line of the first character where the error occurred.
:get-end-column (fn [CefV8exception]) -> int Returns the index within the line of the last character where the error occurred.
Make a CefV8exception Structure representing a V8 exception. The functions of this structure may be called on any render process thread. :get-message (fn [CefV8exception]) -> CefStringUtf16 Returns the exception message. The resulting string must be freed by calling cef_string_userfree_free(). :get-source-line (fn [CefV8exception]) -> CefStringUtf16 Returns the line of source code that the exception occurred within. The resulting string must be freed by calling cef_string_userfree_free(). :get-script-resource-name (fn [CefV8exception]) -> CefStringUtf16 Returns the resource name for the script from where the function causing the error originates. The resulting string must be freed by calling cef_string_userfree_free(). :get-line-number (fn [CefV8exception]) -> int Returns the 1-based number of the line where the error occurred or 0 if the line number is unknown. :get-start-position (fn [CefV8exception]) -> int Returns the index within the script of the first character where the error occurred. :get-end-position (fn [CefV8exception]) -> int Returns the index within the script of the last character where the error occurred. :get-start-column (fn [CefV8exception]) -> int Returns the index within the line of the first character where the error occurred. :get-end-column (fn [CefV8exception]) -> int Returns the index within the line of the last character where the error occurred.
(map->v8handler)
(map->v8handler {:as m :keys [execute]})
Make a CefV8handler Structure that should be implemented to handle V8 function calls. The functions of this structure will be called on the thread associated with the V8 function.
:execute (fn [CefV8handler,CefStringUtf16,CefV8value,SizeT,Pointer,Pointer,CefStringUtf16]) -> int Handle execution of the function identified by |name|. |object| is the receiver ('this' object) of the function. |arguments| is the list of arguments passed to the function. If execution succeeds set |retval| to the function return value. If execution fails set |exception| to the exception that will be thrown. Return true (1) if execution was handled.
Make a CefV8handler Structure that should be implemented to handle V8 function calls. The functions of this structure will be called on the thread associated with the V8 function. :execute (fn [CefV8handler,CefStringUtf16,CefV8value,SizeT,Pointer,Pointer,CefStringUtf16]) -> int Handle execution of the function identified by |name|. |object| is the receiver ('this' object) of the function. |arguments| is the list of arguments passed to the function. If execution succeeds set |retval| to the function return value. If execution fails set |exception| to the exception that will be thrown. Return true (1) if execution was handled.
(map->v8interceptor)
(map->v8interceptor {:as m
:keys [get-byname get-byindex set-byname set-byindex]})
Make a CefV8interceptor Structure that should be implemented to handle V8 interceptor calls. The functions of this structure will be called on the thread associated with the V8 interceptor. Interceptor's named property handlers (with first argument of type CefString) are called when object is indexed by string. Indexed property handlers (with first argument of type int) are called when object is indexed by integer.
:get-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. If the property has an associated accessor, it will be called only if you don't set |retval|. Return true (1) if interceptor retrieval was handled, false (0) otherwise.
:get-byindex (fn [CefV8interceptor,int,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor retrieval was handled, false (0) otherwise.
:set-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. This setter will always be called, even when the property has an associated accessor. Return true (1) if interceptor assignment was handled, false (0) otherwise.
:set-byindex (fn [CefV8interceptor,int,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor assignment was handled, false (0) otherwise.
Make a CefV8interceptor Structure that should be implemented to handle V8 interceptor calls. The functions of this structure will be called on the thread associated with the V8 interceptor. Interceptor's named property handlers (with first argument of type CefString) are called when object is indexed by string. Indexed property handlers (with first argument of type int) are called when object is indexed by integer. :get-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. If the property has an associated accessor, it will be called only if you don't set |retval|. Return true (1) if interceptor retrieval was handled, false (0) otherwise. :get-byindex (fn [CefV8interceptor,int,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor retrieval was handled, false (0) otherwise. :set-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. This setter will always be called, even when the property has an associated accessor. Return true (1) if interceptor assignment was handled, false (0) otherwise. :set-byindex (fn [CefV8interceptor,int,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor assignment was handled, false (0) otherwise.
(map->v8stack-frame)
(map->v8stack-frame {:as m
:keys [is-valid get-script-name
get-script-name-or-source-url get-function-name
get-line-number get-column is-eval is-constructor]})
Make a CefV8stackFrame Structure representing a V8 stack frame handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:is-valid (fn [CefV8stackFrame]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:get-script-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function. The resulting string must be freed by calling cef_string_userfree_free().
:get-script-name-or-source-url (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function or the sourceURL value if the script name is undefined and its source ends with a "//@ sourceURL=..." string. The resulting string must be freed by calling cef_string_userfree_free().
:get-function-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the function. The resulting string must be freed by calling cef_string_userfree_free().
:get-line-number (fn [CefV8stackFrame]) -> int Returns the 1-based line number for the function call or 0 if unknown.
:get-column (fn [CefV8stackFrame]) -> int Returns the 1-based column offset on the line for the function call or 0 if unknown.
:is-eval (fn [CefV8stackFrame]) -> int Returns true (1) if the function was compiled using eval().
:is-constructor (fn [CefV8stackFrame]) -> int Returns true (1) if the function was called as a constructor via "new".
Make a CefV8stackFrame Structure representing a V8 stack frame handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :is-valid (fn [CefV8stackFrame]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :get-script-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function. The resulting string must be freed by calling cef_string_userfree_free(). :get-script-name-or-source-url (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function or the sourceURL value if the script name is undefined and its source ends with a "//@ sourceURL=..." string. The resulting string must be freed by calling cef_string_userfree_free(). :get-function-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the function. The resulting string must be freed by calling cef_string_userfree_free(). :get-line-number (fn [CefV8stackFrame]) -> int Returns the 1-based line number for the function call or 0 if unknown. :get-column (fn [CefV8stackFrame]) -> int Returns the 1-based column offset on the line for the function call or 0 if unknown. :is-eval (fn [CefV8stackFrame]) -> int Returns true (1) if the function was compiled using eval(). :is-constructor (fn [CefV8stackFrame]) -> int Returns true (1) if the function was called as a constructor via "new".
(map->v8stack-trace)
(map->v8stack-trace {:as m :keys [is-valid get-frame-count get-frame]})
Make a CefV8stackTrace Structure representing a V8 stack trace handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:is-valid (fn [CefV8stackTrace]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:get-frame-count (fn [CefV8stackTrace]) -> int Returns the number of stack frames.
:get-frame (fn [CefV8stackTrace,int]) -> CefV8stackFrame Returns the stack frame at the specified 0-based index.
Make a CefV8stackTrace Structure representing a V8 stack trace handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :is-valid (fn [CefV8stackTrace]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :get-frame-count (fn [CefV8stackTrace]) -> int Returns the number of stack frames. :get-frame (fn [CefV8stackTrace,int]) -> CefV8stackFrame Returns the stack frame at the specified 0-based index.
(map->v8value)
(map->v8value
{:as m
:keys [is-valid is-undefined is-null is-bool is-int is-uint is-double is-date
is-string is-object is-array is-array-buffer is-function is-same
get-bool-value get-int-value get-uint-value get-double-value
get-date-value get-string-value is-user-created has-exception
get-exception clear-exception will-rethrow-exceptions
set-rethrow-exceptions has-value-bykey has-value-byindex
delete-value-bykey delete-value-byindex get-value-bykey
get-value-byindex set-value-bykey set-value-byindex
set-value-byaccessor get-keys set-user-data get-user-data
get-externally-allocated-memory adjust-externally-allocated-memory
get-array-length get-array-buffer-release-callback neuter-array-buffer
get-function-name get-function-handler execute-function
execute-function-with-context]})
Make a CefV8value Structure representing a V8 value handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:is-valid (fn [CefV8value]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:is-undefined (fn [CefV8value]) -> int True if the value type is undefined.
:is-null (fn [CefV8value]) -> int True if the value type is null.
:is-bool (fn [CefV8value]) -> int True if the value type is bool.
:is-int (fn [CefV8value]) -> int True if the value type is int.
:is-uint (fn [CefV8value]) -> int True if the value type is unsigned int.
:is-double (fn [CefV8value]) -> int True if the value type is double.
:is-date (fn [CefV8value]) -> int True if the value type is Date.
:is-string (fn [CefV8value]) -> int True if the value type is string.
:is-object (fn [CefV8value]) -> int True if the value type is object.
:is-array (fn [CefV8value]) -> int True if the value type is array.
:is-array-buffer (fn [CefV8value]) -> int True if the value type is an ArrayBuffer.
:is-function (fn [CefV8value]) -> int True if the value type is function.
:is-same (fn [CefV8value,CefV8value]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:get-bool-value (fn [CefV8value]) -> int Return a bool value.
:get-int-value (fn [CefV8value]) -> int Return an int value.
:get-uint-value (fn [CefV8value]) -> int Return an unsigned int value.
:get-double-value (fn [CefV8value]) -> double Return a double value.
:get-date-value (fn [CefV8value]) -> CefTime Return a Date value.
:get-string-value (fn [CefV8value]) -> CefStringUtf16 Return a string value. The resulting string must be freed by calling cef_string_userfree_free().
:is-user-created (fn [CefV8value]) -> int OBJECT METHODS - These functions are only available on objects. Arrays and functions are also objects. String- and integer-based keys can be used interchangably with the framework converting between them as necessary. Returns true (1) if this is a user created object.
:has-exception (fn [CefV8value]) -> int Returns true (1) if the last function call resulted in an exception. This attribute exists only in the scope of the current CEF value object.
:get-exception (fn [CefV8value]) -> CefV8exception Returns the exception resulting from the last function call. This attribute exists only in the scope of the current CEF value object.
:clear-exception (fn [CefV8value]) -> int Clears the last exception and returns true (1) on success.
:will-rethrow-exceptions (fn [CefV8value]) -> int Returns true (1) if this object will re-throw future exceptions. This attribute exists only in the scope of the current CEF value object.
:set-rethrow-exceptions (fn [CefV8value,int]) -> int Set whether this object will re-throw future exceptions. By default exceptions are not re-thrown. If a exception is re-thrown the current context should not be accessed again until after the exception has been caught and not re-thrown. Returns true (1) on success. This attribute exists only in the scope of the current CEF value object.
:has-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Returns true (1) if the object has a value with the specified identifier.
:has-value-byindex (fn [CefV8value,int]) -> int Returns true (1) if the object has a value with the specified identifier.
:delete-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed.
:delete-value-byindex (fn [CefV8value,int]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly, deletion fails or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed.
:get-value-bykey (fn [CefV8value,CefStringUtf16]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown.
:get-value-byindex (fn [CefV8value,int]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown.
:set-value-bykey (fn [CefV8value,CefStringUtf16,CefV8value,int]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed.
:set-value-byindex (fn [CefV8value,int,CefV8value]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed.
:set-value-byaccessor (fn [CefV8value,CefStringUtf16,int,int]) -> int Registers an identifier and returns true (1) on success. Access to the identifier will be forwarded to the cef_v8accessor_t instance passed to cef_v8value_t::cef_v8value_create_object(). Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed.
:get-keys (fn [CefV8value,Pointer]) -> int Read the keys for the object's values into the specified vector. Integer- based keys will also be returned as strings.
:set-user-data (fn [CefV8value,CefBaseRefCounted]) -> int Sets the user data for this object and returns true (1) on success. Returns false (0) if this function is called incorrectly. This function can only be called on user created objects.
:get-user-data (fn [CefV8value]) -> CefBaseRefCounted Returns the user data, if any, assigned to this object.
:get-externally-allocated-memory (fn [CefV8value]) -> int Returns the amount of externally allocated memory registered for the object.
:adjust-externally-allocated-memory (fn [CefV8value,int]) -> int Adjusts the amount of registered external memory for the object. Used to give V8 an indication of the amount of externally allocated memory that is kept alive by JavaScript objects. V8 uses this information to decide when to perform global garbage collection. Each cef_v8value_t tracks the amount of external memory associated with it and automatically decreases the global total by the appropriate amount on its destruction. |change_in_bytes| specifies the number of bytes to adjust by. This function returns the number of bytes associated with the object after the adjustment. This function can only be called on user created objects.
:get-array-length (fn [CefV8value]) -> int ARRAY METHODS - These functions are only available on arrays. Returns the number of elements in the array.
:get-array-buffer-release-callback (fn [CefV8value]) -> CefV8arrayBufferReleaseCallback ARRAY BUFFER METHODS - These functions are only available on ArrayBuffers. Returns the ReleaseCallback object associated with the ArrayBuffer or NULL if the ArrayBuffer was not created with CreateArrayBuffer.
:neuter-array-buffer (fn [CefV8value]) -> int Prevent the ArrayBuffer from using it's memory block by setting the length to zero. This operation cannot be undone. If the ArrayBuffer was created with CreateArrayBuffer then cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to release the underlying buffer.
:get-function-name (fn [CefV8value]) -> CefStringUtf16 FUNCTION METHODS - These functions are only available on functions. Returns the function name. The resulting string must be freed by calling cef_string_userfree_free().
:get-function-handler (fn [CefV8value]) -> CefV8handler Returns the function handler or NULL if not a CEF-created function.
:execute-function (fn [CefV8value,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the current V8 context. This function should only be called from within the scope of a cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference. |object| is the receiver ('this' object) of the function. If |object| is NULL the current context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown.
:execute-function-with-context (fn [CefV8value,CefV8context,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the specified V8 context. |object| is the receiver ('this' object) of the function. If |object| is NULL the specified context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown.
Make a CefV8value Structure representing a V8 value handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :is-valid (fn [CefV8value]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :is-undefined (fn [CefV8value]) -> int True if the value type is undefined. :is-null (fn [CefV8value]) -> int True if the value type is null. :is-bool (fn [CefV8value]) -> int True if the value type is bool. :is-int (fn [CefV8value]) -> int True if the value type is int. :is-uint (fn [CefV8value]) -> int True if the value type is unsigned int. :is-double (fn [CefV8value]) -> int True if the value type is double. :is-date (fn [CefV8value]) -> int True if the value type is Date. :is-string (fn [CefV8value]) -> int True if the value type is string. :is-object (fn [CefV8value]) -> int True if the value type is object. :is-array (fn [CefV8value]) -> int True if the value type is array. :is-array-buffer (fn [CefV8value]) -> int True if the value type is an ArrayBuffer. :is-function (fn [CefV8value]) -> int True if the value type is function. :is-same (fn [CefV8value,CefV8value]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :get-bool-value (fn [CefV8value]) -> int Return a bool value. :get-int-value (fn [CefV8value]) -> int Return an int value. :get-uint-value (fn [CefV8value]) -> int Return an unsigned int value. :get-double-value (fn [CefV8value]) -> double Return a double value. :get-date-value (fn [CefV8value]) -> CefTime Return a Date value. :get-string-value (fn [CefV8value]) -> CefStringUtf16 Return a string value. The resulting string must be freed by calling cef_string_userfree_free(). :is-user-created (fn [CefV8value]) -> int OBJECT METHODS - These functions are only available on objects. Arrays and functions are also objects. String- and integer-based keys can be used interchangably with the framework converting between them as necessary. Returns true (1) if this is a user created object. :has-exception (fn [CefV8value]) -> int Returns true (1) if the last function call resulted in an exception. This attribute exists only in the scope of the current CEF value object. :get-exception (fn [CefV8value]) -> CefV8exception Returns the exception resulting from the last function call. This attribute exists only in the scope of the current CEF value object. :clear-exception (fn [CefV8value]) -> int Clears the last exception and returns true (1) on success. :will-rethrow-exceptions (fn [CefV8value]) -> int Returns true (1) if this object will re-throw future exceptions. This attribute exists only in the scope of the current CEF value object. :set-rethrow-exceptions (fn [CefV8value,int]) -> int Set whether this object will re-throw future exceptions. By default exceptions are not re-thrown. If a exception is re-thrown the current context should not be accessed again until after the exception has been caught and not re-thrown. Returns true (1) on success. This attribute exists only in the scope of the current CEF value object. :has-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Returns true (1) if the object has a value with the specified identifier. :has-value-byindex (fn [CefV8value,int]) -> int Returns true (1) if the object has a value with the specified identifier. :delete-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed. :delete-value-byindex (fn [CefV8value,int]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly, deletion fails or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed. :get-value-bykey (fn [CefV8value,CefStringUtf16]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown. :get-value-byindex (fn [CefV8value,int]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown. :set-value-bykey (fn [CefV8value,CefStringUtf16,CefV8value,int]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed. :set-value-byindex (fn [CefV8value,int,CefV8value]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed. :set-value-byaccessor (fn [CefV8value,CefStringUtf16,int,int]) -> int Registers an identifier and returns true (1) on success. Access to the identifier will be forwarded to the cef_v8accessor_t instance passed to cef_v8value_t::cef_v8value_create_object(). Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed. :get-keys (fn [CefV8value,Pointer]) -> int Read the keys for the object's values into the specified vector. Integer- based keys will also be returned as strings. :set-user-data (fn [CefV8value,CefBaseRefCounted]) -> int Sets the user data for this object and returns true (1) on success. Returns false (0) if this function is called incorrectly. This function can only be called on user created objects. :get-user-data (fn [CefV8value]) -> CefBaseRefCounted Returns the user data, if any, assigned to this object. :get-externally-allocated-memory (fn [CefV8value]) -> int Returns the amount of externally allocated memory registered for the object. :adjust-externally-allocated-memory (fn [CefV8value,int]) -> int Adjusts the amount of registered external memory for the object. Used to give V8 an indication of the amount of externally allocated memory that is kept alive by JavaScript objects. V8 uses this information to decide when to perform global garbage collection. Each cef_v8value_t tracks the amount of external memory associated with it and automatically decreases the global total by the appropriate amount on its destruction. |change_in_bytes| specifies the number of bytes to adjust by. This function returns the number of bytes associated with the object after the adjustment. This function can only be called on user created objects. :get-array-length (fn [CefV8value]) -> int ARRAY METHODS - These functions are only available on arrays. Returns the number of elements in the array. :get-array-buffer-release-callback (fn [CefV8value]) -> CefV8arrayBufferReleaseCallback ARRAY BUFFER METHODS - These functions are only available on ArrayBuffers. Returns the ReleaseCallback object associated with the ArrayBuffer or NULL if the ArrayBuffer was not created with CreateArrayBuffer. :neuter-array-buffer (fn [CefV8value]) -> int Prevent the ArrayBuffer from using it's memory block by setting the length to zero. This operation cannot be undone. If the ArrayBuffer was created with CreateArrayBuffer then cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to release the underlying buffer. :get-function-name (fn [CefV8value]) -> CefStringUtf16 FUNCTION METHODS - These functions are only available on functions. Returns the function name. The resulting string must be freed by calling cef_string_userfree_free(). :get-function-handler (fn [CefV8value]) -> CefV8handler Returns the function handler or NULL if not a CEF-created function. :execute-function (fn [CefV8value,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the current V8 context. This function should only be called from within the scope of a cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference. |object| is the receiver ('this' object) of the function. If |object| is NULL the current context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown. :execute-function-with-context (fn [CefV8value,CefV8context,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the specified V8 context. |object| is the receiver ('this' object) of the function. If |object| is NULL the specified context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown.
(map->value)
(map->value {:as m
:keys [is-valid is-owned is-read-only is-same is-equal copy
get-type get-bool get-int get-double get-string get-binary
get-dictionary get-list set-null set-bool set-int set-double
set-string set-binary set-dictionary set-list]})
Make a CefValue Structure that wraps other data value types. Complex types (binary, dictionary and list) will be referenced but not owned by this object. Can be used on any process and thread.
:is-valid (fn [CefValue]) -> int Returns true (1) if the underlying data is valid. This will always be true (1) for simple types. For complex types (binary, dictionary and list) the underlying data may become invalid if owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. This value object can be re-used by calling Set*() even if the underlying data is invalid.
:is-owned (fn [CefValue]) -> int Returns true (1) if the underlying data is owned by another object.
:is-read-only (fn [CefValue]) -> int Returns true (1) if the underlying data is read-only. Some APIs may expose read-only objects.
:is-same (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa.
:is-equal (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefValue]) -> CefValue Returns a copy of this object. The underlying data will also be copied.
:get-type (fn [CefValue]) -> int Returns the underlying value type.
:get-bool (fn [CefValue]) -> int Returns the underlying value as type bool.
:get-int (fn [CefValue]) -> int Returns the underlying value as type int.
:get-double (fn [CefValue]) -> double Returns the underlying value as type double.
:get-string (fn [CefValue]) -> CefStringUtf16 Returns the underlying value as type string. The resulting string must be freed by calling cef_string_userfree_free().
:get-binary (fn [CefValue]) -> CefBinaryValue Returns the underlying value as type binary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_binary().
:get-dictionary (fn [CefValue]) -> CefDictionaryValue Returns the underlying value as type dictionary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_dictionary().
:get-list (fn [CefValue]) -> CefListValue Returns the underlying value as type list. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_list().
:set-null (fn [CefValue]) -> int Sets the underlying value as type null. Returns true (1) if the value was set successfully.
:set-bool (fn [CefValue,int]) -> int Sets the underlying value as type bool. Returns true (1) if the value was set successfully.
:set-int (fn [CefValue,int]) -> int Sets the underlying value as type int. Returns true (1) if the value was set successfully.
:set-double (fn [CefValue,double]) -> int Sets the underlying value as type double. Returns true (1) if the value was set successfully.
:set-string (fn [CefValue,CefStringUtf16]) -> int Sets the underlying value as type string. Returns true (1) if the value was set successfully.
:set-binary (fn [CefValue,CefBinaryValue]) -> int Sets the underlying value as type binary. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
:set-dictionary (fn [CefValue,CefDictionaryValue]) -> int Sets the underlying value as type dict. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
:set-list (fn [CefValue,CefListValue]) -> int Sets the underlying value as type list. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
Make a CefValue Structure that wraps other data value types. Complex types (binary, dictionary and list) will be referenced but not owned by this object. Can be used on any process and thread. :is-valid (fn [CefValue]) -> int Returns true (1) if the underlying data is valid. This will always be true (1) for simple types. For complex types (binary, dictionary and list) the underlying data may become invalid if owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. This value object can be re-used by calling Set*() even if the underlying data is invalid. :is-owned (fn [CefValue]) -> int Returns true (1) if the underlying data is owned by another object. :is-read-only (fn [CefValue]) -> int Returns true (1) if the underlying data is read-only. Some APIs may expose read-only objects. :is-same (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa. :is-equal (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefValue]) -> CefValue Returns a copy of this object. The underlying data will also be copied. :get-type (fn [CefValue]) -> int Returns the underlying value type. :get-bool (fn [CefValue]) -> int Returns the underlying value as type bool. :get-int (fn [CefValue]) -> int Returns the underlying value as type int. :get-double (fn [CefValue]) -> double Returns the underlying value as type double. :get-string (fn [CefValue]) -> CefStringUtf16 Returns the underlying value as type string. The resulting string must be freed by calling cef_string_userfree_free(). :get-binary (fn [CefValue]) -> CefBinaryValue Returns the underlying value as type binary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_binary(). :get-dictionary (fn [CefValue]) -> CefDictionaryValue Returns the underlying value as type dictionary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_dictionary(). :get-list (fn [CefValue]) -> CefListValue Returns the underlying value as type list. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_list(). :set-null (fn [CefValue]) -> int Sets the underlying value as type null. Returns true (1) if the value was set successfully. :set-bool (fn [CefValue,int]) -> int Sets the underlying value as type bool. Returns true (1) if the value was set successfully. :set-int (fn [CefValue,int]) -> int Sets the underlying value as type int. Returns true (1) if the value was set successfully. :set-double (fn [CefValue,double]) -> int Sets the underlying value as type double. Returns true (1) if the value was set successfully. :set-string (fn [CefValue,CefStringUtf16]) -> int Sets the underlying value as type string. Returns true (1) if the value was set successfully. :set-binary (fn [CefValue,CefBinaryValue]) -> int Sets the underlying value as type binary. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged. :set-dictionary (fn [CefValue,CefDictionaryValue]) -> int Sets the underlying value as type dict. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged. :set-list (fn [CefValue,CefListValue]) -> int Sets the underlying value as type list. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
(map->web-plugin-info)
(map->web-plugin-info {:as m
:keys [get-name get-path get-version get-description]})
Make a CefWebPluginInfo Information about a specific web plugin.
:get-name (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin name. The resulting string must be freed by calling cef_string_userfree_free().
:get-path (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin file path (DLL/bundle/library). The resulting string must be freed by calling cef_string_userfree_free().
:get-version (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the version of the plugin (may be OS-specific). The resulting string must be freed by calling cef_string_userfree_free().
:get-description (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns a description of the plugin from the version information. The resulting string must be freed by calling cef_string_userfree_free().
Make a CefWebPluginInfo Information about a specific web plugin. :get-name (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin name. The resulting string must be freed by calling cef_string_userfree_free(). :get-path (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin file path (DLL/bundle/library). The resulting string must be freed by calling cef_string_userfree_free(). :get-version (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the version of the plugin (may be OS-specific). The resulting string must be freed by calling cef_string_userfree_free(). :get-description (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns a description of the plugin from the version information. The resulting string must be freed by calling cef_string_userfree_free().
(map->web-plugin-info-visitor)
(map->web-plugin-info-visitor {:as m :keys [visit]})
Make a CefWebPluginInfoVisitor Structure to implement for visiting web plugin information. The functions of this structure will be called on the browser process UI thread.
:visit (fn [CefWebPluginInfoVisitor,CefWebPluginInfo,int,int]) -> int Method that will be called once for each plugin. |count| is the 0-based index for the current plugin. |total| is the total number of plugins. Return false (0) to stop visiting plugins. This function may never be called if no plugins are found.
Make a CefWebPluginInfoVisitor Structure to implement for visiting web plugin information. The functions of this structure will be called on the browser process UI thread. :visit (fn [CefWebPluginInfoVisitor,CefWebPluginInfo,int,int]) -> int Method that will be called once for each plugin. |count| is the 0-based index for the current plugin. |total| is the total number of plugins. Return false (0) to stop visiting plugins. This function may never be called if no plugins are found.
(map->web-plugin-unstable-callback)
(map->web-plugin-unstable-callback {:as m :keys [is-unstable]})
Make a CefWebPluginUnstableCallback Structure to implement for receiving unstable plugin information. The functions of this structure will be called on the browser process IO thread.
:is-unstable (fn [CefWebPluginUnstableCallback,CefStringUtf16,int]) -> void Method that will be called for the requested plugin. |unstable| will be true (1) if the plugin has reached the crash count threshold of 3 times in 120 seconds.
Make a CefWebPluginUnstableCallback Structure to implement for receiving unstable plugin information. The functions of this structure will be called on the browser process IO thread. :is-unstable (fn [CefWebPluginUnstableCallback,CefStringUtf16,int]) -> void Method that will be called for the requested plugin. |unstable| will be true (1) if the plugin has reached the crash count threshold of 3 times in 120 seconds.
(map->window-info)
(map->window-info {:as m
:keys [window-name x y width height hidden parent-view
windowless-rendering-enabled shared-texture-enabled
external-begin-frame-enabled view]})
Make a CefWindowInfoMac Class representing window information.
:hidden int Set to true (1) to create the view initially hidden. Mac OSX only
:windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value.
:shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11).
:external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
Make a CefWindowInfoMac Class representing window information. :hidden int Set to true (1) to create the view initially hidden. Mac OSX only :windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value. :shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11). :external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
(map->window-info-linux)
(map->window-info-linux
{:as m
:keys [window-name x y width height parent-view windowless-rendering-enabled
shared-texture-enabled external-begin-frame-enabled view]})
Make a CefWindowInfoLinux Class representing window information.
:windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value.
:shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11).
:external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
Make a CefWindowInfoLinux Class representing window information. :windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value. :shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11). :external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
(map->window-info-mac)
(map->window-info-mac {:as m
:keys [window-name x y width height hidden parent-view
windowless-rendering-enabled
shared-texture-enabled
external-begin-frame-enabled view]})
Make a CefWindowInfoMac Class representing window information.
:hidden int Set to true (1) to create the view initially hidden. Mac OSX only
:windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value.
:shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11).
:external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
Make a CefWindowInfoMac Class representing window information. :hidden int Set to true (1) to create the view initially hidden. Mac OSX only :windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value. :shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11). :external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
(map->write-handler)
(map->write-handler {:as m :keys [write seek tell flush may-block]})
Make a CefWriteHandler Structure the client can implement to provide a custom stream writer. The functions of this structure may be called on any thread.
:write (fn [CefWriteHandler,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data.
:seek (fn [CefWriteHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure.
:tell (fn [CefWriteHandler]) -> long Return the current offset position.
:flush (fn [CefWriteHandler]) -> int Flush the stream.
:may-block (fn [CefWriteHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
Make a CefWriteHandler Structure the client can implement to provide a custom stream writer. The functions of this structure may be called on any thread. :write (fn [CefWriteHandler,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data. :seek (fn [CefWriteHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure. :tell (fn [CefWriteHandler]) -> long Return the current offset position. :flush (fn [CefWriteHandler]) -> int Flush the stream. :may-block (fn [CefWriteHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
(map->x509cert-principal)
(map->x509cert-principal
{:as m
:keys [get-display-name get-common-name get-locality-name
get-state-or-province-name get-country-name get-street-addresses
get-organization-names get-organization-unit-names
get-domain-components]})
Make a CefX509certPrincipal Structure representing the issuer or subject field of an X.509 certificate.
:get-display-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns a name that can be used to represent the issuer. It tries in this order: Common Name (CN), Organization Name (O) and Organizational Unit Name (OU) and returns the first non-NULL one found. The resulting string must be freed by calling cef_string_userfree_free().
:get-common-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the common name. The resulting string must be freed by calling cef_string_userfree_free().
:get-locality-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the locality name. The resulting string must be freed by calling cef_string_userfree_free().
:get-state-or-province-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the state or province name. The resulting string must be freed by calling cef_string_userfree_free().
:get-country-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the country name. The resulting string must be freed by calling cef_string_userfree_free().
:get-street-addresses (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of street addresses.
:get-organization-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization names.
:get-organization-unit-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization unit names.
:get-domain-components (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of domain components.
Make a CefX509certPrincipal Structure representing the issuer or subject field of an X.509 certificate. :get-display-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns a name that can be used to represent the issuer. It tries in this order: Common Name (CN), Organization Name (O) and Organizational Unit Name (OU) and returns the first non-NULL one found. The resulting string must be freed by calling cef_string_userfree_free(). :get-common-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the common name. The resulting string must be freed by calling cef_string_userfree_free(). :get-locality-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the locality name. The resulting string must be freed by calling cef_string_userfree_free(). :get-state-or-province-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the state or province name. The resulting string must be freed by calling cef_string_userfree_free(). :get-country-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the country name. The resulting string must be freed by calling cef_string_userfree_free(). :get-street-addresses (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of street addresses. :get-organization-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization names. :get-organization-unit-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization unit names. :get-domain-components (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of domain components.
(map->x509certificate)
(map->x509certificate
{:as m
:keys [get-subject get-issuer get-serial-number get-valid-start
get-valid-expiry get-derencoded get-pemencoded get-issuer-chain-size
get-derencoded-issuer-chain get-pemencoded-issuer-chain]})
Make a CefX509certificate Structure representing a X.509 certificate.
:get-subject (fn [CefX509certificate]) -> CefX509certPrincipal Returns the subject of the X.509 certificate. For HTTPS server certificates this represents the web server. The common name of the subject should match the host name of the web server.
:get-issuer (fn [CefX509certificate]) -> CefX509certPrincipal Returns the issuer of the X.509 certificate.
:get-serial-number (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded serial number for the X.509 certificate. The value possibly includes a leading 00 byte.
:get-valid-start (fn [CefX509certificate]) -> CefTime Returns the date before which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified.
:get-valid-expiry (fn [CefX509certificate]) -> CefTime Returns the date after which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified.
:get-derencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded data for the X.509 certificate.
:get-pemencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the PEM encoded data for the X.509 certificate.
:get-issuer-chain-size (fn [CefX509certificate]) -> SizeT Returns the number of certificates in the issuer chain. If 0, the certificate is self-signed.
:get-derencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the DER encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string.
:get-pemencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the PEM encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string.
Make a CefX509certificate Structure representing a X.509 certificate. :get-subject (fn [CefX509certificate]) -> CefX509certPrincipal Returns the subject of the X.509 certificate. For HTTPS server certificates this represents the web server. The common name of the subject should match the host name of the web server. :get-issuer (fn [CefX509certificate]) -> CefX509certPrincipal Returns the issuer of the X.509 certificate. :get-serial-number (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded serial number for the X.509 certificate. The value possibly includes a leading 00 byte. :get-valid-start (fn [CefX509certificate]) -> CefTime Returns the date before which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified. :get-valid-expiry (fn [CefX509certificate]) -> CefTime Returns the date after which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified. :get-derencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded data for the X.509 certificate. :get-pemencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the PEM encoded data for the X.509 certificate. :get-issuer-chain-size (fn [CefX509certificate]) -> SizeT Returns the number of certificates in the issuer chain. If 0, the certificate is self-signed. :get-derencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the DER encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string. :get-pemencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the PEM encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string.
(merge->accessibility-handler
struct
{:as m :keys [on-accessibility-tree-change on-accessibility-location-change]})
Merge properties of a CefAccessibilityHandler 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.
:on-accessibility-tree-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility tree changes to the browser process.
:on-accessibility-location-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility location changes to the browser process.
Merge properties of a CefAccessibilityHandler 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. :on-accessibility-tree-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility tree changes to the browser process. :on-accessibility-location-change (fn [CefAccessibilityHandler,CefValue]) -> void Called after renderer process sends accessibility location changes to the browser process.
(merge->app struct
{:as m
:keys [on-before-command-line-processing on-register-custom-schemes
get-resource-bundle-handler get-browser-process-handler
get-render-process-handler]})
Merge properties of a CefApp Implement this structure to provide handler implementations. Methods will be called by the process and/or thread indicated.
:on-before-command-line-processing (fn [CefApp,CefStringUtf16,CefCommandLine]) -> void 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 CefSettings.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.
:on-register-custom-schemes (fn [CefApp,CefSchemeRegistrar]) -> void 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.
:get-resource-bundle-handler (fn [CefApp]) -> CefResourceBundleHandler Return the handler for resource bundle events. If CefSettings.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.
:get-browser-process-handler (fn [CefApp]) -> CefBrowserProcessHandler Return the handler for functionality specific to the browser process. This function is called on multiple threads in the browser process.
:get-render-process-handler (fn [CefApp]) -> CefRenderProcessHandler Return the handler for functionality specific to the render process. This function is called on the render process main thread.
Merge properties of a CefApp Implement this structure to provide handler implementations. Methods will be called by the process and/or thread indicated. :on-before-command-line-processing (fn [CefApp,CefStringUtf16,CefCommandLine]) -> void 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 CefSettings.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. :on-register-custom-schemes (fn [CefApp,CefSchemeRegistrar]) -> void 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. :get-resource-bundle-handler (fn [CefApp]) -> CefResourceBundleHandler Return the handler for resource bundle events. If CefSettings.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. :get-browser-process-handler (fn [CefApp]) -> CefBrowserProcessHandler Return the handler for functionality specific to the browser process. This function is called on multiple threads in the browser process. :get-render-process-handler (fn [CefApp]) -> CefRenderProcessHandler Return the handler for functionality specific to the render process. This function is called on the render process main thread.
(merge->audio-handler struct
{:as m
:keys [get-audio-parameters on-audio-stream-started
on-audio-stream-packet on-audio-stream-stopped
on-audio-stream-error]})
Merge properties of a CefAudioHandler Implement this structure to handle audio events.
:get-audio-parameters (fn [CefAudioHandler,CefBrowser,CefAudioParameters]) -> int 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.
:on-audio-stream-started (fn [CefAudioHandler,CefBrowser,CefAudioParameters,int]) -> void Called on a browser audio capture thread when the browser starts streaming audio. OnAudioSteamStopped 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.
:on-audio-stream-packet (fn [CefAudioHandler,CefBrowser,Pointer,int,long]) -> void 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.
:on-audio-stream-stopped (fn [CefAudioHandler,CefBrowser]) -> void 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.
:on-audio-stream-error (fn [CefAudioHandler,CefBrowser,CefStringUtf16]) -> void 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.
Merge properties of a CefAudioHandler Implement this structure to handle audio events. :get-audio-parameters (fn [CefAudioHandler,CefBrowser,CefAudioParameters]) -> int 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. :on-audio-stream-started (fn [CefAudioHandler,CefBrowser,CefAudioParameters,int]) -> void Called on a browser audio capture thread when the browser starts streaming audio. OnAudioSteamStopped 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. :on-audio-stream-packet (fn [CefAudioHandler,CefBrowser,Pointer,int,long]) -> void 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. :on-audio-stream-stopped (fn [CefAudioHandler,CefBrowser]) -> void 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. :on-audio-stream-error (fn [CefAudioHandler,CefBrowser,CefStringUtf16]) -> void 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.
(merge->audio-parameters struct
{:as m
:keys [channel-layout sample-rate frames-per-buffer]})
Merge properties of a CefAudioParameters Structure representing the audio parameters for setting up the audio handler.
:channel-layout cef_channel_layout_t Layout of the audio channels
:sample-rate int Sample rate
:frames-per-buffer int Number of frames per buffer
Merge properties of a CefAudioParameters Structure representing the audio parameters for setting up the audio handler. :channel-layout cef_channel_layout_t Layout of the audio channels :sample-rate int Sample rate :frames-per-buffer int Number of frames per buffer
(merge->auth-callback struct {:as m :keys [cont cancel]})
Merge properties of a CefAuthCallback Callback structure used for asynchronous continuation of authentication requests.
:cont (fn [CefAuthCallback,CefStringUtf16,CefStringUtf16]) -> void Continue the authentication request.
:cancel (fn [CefAuthCallback]) -> void Cancel the authentication request.
Merge properties of a CefAuthCallback Callback structure used for asynchronous continuation of authentication requests. :cont (fn [CefAuthCallback,CefStringUtf16,CefStringUtf16]) -> void Continue the authentication request. :cancel (fn [CefAuthCallback]) -> void Cancel the authentication request.
(merge->base-ref-counted
struct
{:as m :keys [size add-ref release has-one-ref has-at-least-one-ref]})
Merge properties of a CefBaseRefCounted All ref-counted framework structures must include this structure first.
:size size_t Size of the data structure.
:add-ref (fn [Pointer]) -> void Called to increment the reference count for the object. Should be called for every new copy of a pointer to a given object.
:release (fn [Pointer]) -> int 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.
:has-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is 1.
:has-at-least-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is at least 1.
Merge properties of a CefBaseRefCounted All ref-counted framework structures must include this structure first. :size size_t Size of the data structure. :add-ref (fn [Pointer]) -> void Called to increment the reference count for the object. Should be called for every new copy of a pointer to a given object. :release (fn [Pointer]) -> int 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. :has-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is 1. :has-at-least-one-ref (fn [Pointer]) -> int Returns true (1) if the current reference count is at least 1.
(merge->base-scoped struct {:as m :keys [size del]})
Merge properties of a CefBaseScoped All scoped framework structures must include this structure first.
:size size_t Size of the data structure.
:del (fn [CefBaseScoped]) -> void Called to delete this object. May be NULL if the object is not owned.
Merge properties of a CefBaseScoped All scoped framework structures must include this structure first. :size size_t Size of the data structure. :del (fn [CefBaseScoped]) -> void Called to delete this object. May be NULL if the object is not owned.
(merge->before-download-callback struct {:as m :keys [cont]})
Merge properties of a CefBeforeDownloadCallback Callback structure used to asynchronously continue a download.
:cont (fn [CefBeforeDownloadCallback,CefStringUtf16,int]) -> void 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.
Merge properties of a CefBeforeDownloadCallback Callback structure used to asynchronously continue a download. :cont (fn [CefBeforeDownloadCallback,CefStringUtf16,int]) -> void 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.
(merge->binary-value
struct
{:as m :keys [is-valid is-owned is-same is-equal copy get-size get-data]})
Merge properties of a CefBinaryValue Structure representing a binary value. Can be used on any process and thread.
:is-valid (fn [CefBinaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0).
:is-owned (fn [CefBinaryValue]) -> int Returns true (1) if this object is currently owned by another object.
:is-same (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data.
:is-equal (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefBinaryValue]) -> CefBinaryValue Returns a copy of this object. The data in this object will also be copied.
:get-size (fn [CefBinaryValue]) -> SizeT Returns the data size.
:get-data (fn [CefBinaryValue,Pointer,SizeT,SizeT]) -> SizeT Read up to |buffer_size| number of bytes into |buffer|. Reading begins at the specified byte |data_offset|. Returns the number of bytes read.
Merge properties of a CefBinaryValue Structure representing a binary value. Can be used on any process and thread. :is-valid (fn [CefBinaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0). :is-owned (fn [CefBinaryValue]) -> int Returns true (1) if this object is currently owned by another object. :is-same (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. :is-equal (fn [CefBinaryValue,CefBinaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefBinaryValue]) -> CefBinaryValue Returns a copy of this object. The data in this object will also be copied. :get-size (fn [CefBinaryValue]) -> SizeT Returns the data size. :get-data (fn [CefBinaryValue,Pointer,SizeT,SizeT]) -> SizeT Read up to |buffer_size| number of bytes into |buffer|. Reading begins at the specified byte |data_offset|. Returns the number of bytes read.
(merge->box-layout-settings struct
{:as m
:keys [horizontal inside-border-horizontal-spacing
inside-border-vertical-spacing
inside-border-insets between-child-spacing
main-axis-alignment cross-axis-alignment
minimum-cross-axis-size default-flex]})
Merge properties of a CefBoxLayoutSettings Settings used when initializing a CefBoxLayout.
:horizontal int If true (1) the layout will be horizontal, otherwise the layout will be vertical.
:inside-border-horizontal-spacing int Adds additional horizontal space between the child view area and the host view border.
:inside-border-vertical-spacing int Adds additional vertical space between the child view area and the host view border.
:inside-border-insets cef_insets_t Adds additional space around the child view area.
:between-child-spacing int Adds additional space between child views.
:main-axis-alignment cef_main_axis_alignment_t Specifies where along the main axis the child views should be laid out.
:cross-axis-alignment cef_cross_axis_alignment_t Specifies where along the cross axis the child views should be laid out.
:minimum-cross-axis-size int Minimum cross axis size.
:default-flex int Default flex for views when none is specified via CefBoxLayout methods. Using the preferred size as the basis, free space along the main axis is distributed to views in the ratio of their flex weights. Similarly, if the views will overflow the parent, space is subtracted in these ratios. A flex of 0 means this view is not resized. Flex values must not be negative.
Merge properties of a CefBoxLayoutSettings Settings used when initializing a CefBoxLayout. :horizontal int If true (1) the layout will be horizontal, otherwise the layout will be vertical. :inside-border-horizontal-spacing int Adds additional horizontal space between the child view area and the host view border. :inside-border-vertical-spacing int Adds additional vertical space between the child view area and the host view border. :inside-border-insets cef_insets_t Adds additional space around the child view area. :between-child-spacing int Adds additional space between child views. :main-axis-alignment cef_main_axis_alignment_t Specifies where along the main axis the child views should be laid out. :cross-axis-alignment cef_cross_axis_alignment_t Specifies where along the cross axis the child views should be laid out. :minimum-cross-axis-size int Minimum cross axis size. :default-flex int Default flex for views when none is specified via CefBoxLayout methods. Using the preferred size as the basis, free space along the main axis is distributed to views in the ratio of their flex weights. Similarly, if the views will overflow the parent, space is subtracted in these ratios. A flex of 0 means this view is not resized. Flex values must not be negative.
(merge->browser
struct
{:as m
:keys [get-host can-go-back go-back can-go-forward go-forward is-loading
reload reload-ignore-cache stop-load get-identifier is-same is-popup
has-document get-main-frame get-focused-frame get-frame-byident
get-frame get-frame-count get-frame-identifiers get-frame-names]})
Merge properties of a CefBrowser Structure used to represent a 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.
:get-host (fn [CefBrowser]) -> CefBrowserHost Returns the browser host object. This function can only be called in the browser process.
:can-go-back (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate backwards.
:go-back (fn [CefBrowser]) -> void Navigate backwards.
:can-go-forward (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate forwards.
:go-forward (fn [CefBrowser]) -> void Navigate forwards.
:is-loading (fn [CefBrowser]) -> int Returns true (1) if the browser is currently loading.
:reload (fn [CefBrowser]) -> void Reload the current page.
:reload-ignore-cache (fn [CefBrowser]) -> void Reload the current page ignoring any cached data.
:stop-load (fn [CefBrowser]) -> void Stop loading the page.
:get-identifier (fn [CefBrowser]) -> int Returns the globally unique identifier for this browser. This value is also used as the tabId for extension APIs.
:is-same (fn [CefBrowser,CefBrowser]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:is-popup (fn [CefBrowser]) -> int Returns true (1) if the window is a popup window.
:has-document (fn [CefBrowser]) -> int Returns true (1) if a document has been loaded in the browser.
:get-main-frame (fn [CefBrowser]) -> CefFrame Returns the main (top-level) frame for the browser window.
:get-focused-frame (fn [CefBrowser]) -> CefFrame Returns the focused frame for the browser window.
:get-frame-byident (fn [CefBrowser,long]) -> CefFrame Returns the frame with the specified identifier, or NULL if not found.
:get-frame (fn [CefBrowser,CefStringUtf16]) -> CefFrame Returns the frame with the specified name, or NULL if not found.
:get-frame-count (fn [CefBrowser]) -> SizeT Returns the number of frames that currently exist.
:get-frame-identifiers (fn [CefBrowser,Pointer,Pointer]) -> void Returns the identifiers of all existing frames.
:get-frame-names (fn [CefBrowser,Pointer]) -> void Returns the names of all existing frames.
Merge properties of a CefBrowser Structure used to represent a 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. :get-host (fn [CefBrowser]) -> CefBrowserHost Returns the browser host object. This function can only be called in the browser process. :can-go-back (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate backwards. :go-back (fn [CefBrowser]) -> void Navigate backwards. :can-go-forward (fn [CefBrowser]) -> int Returns true (1) if the browser can navigate forwards. :go-forward (fn [CefBrowser]) -> void Navigate forwards. :is-loading (fn [CefBrowser]) -> int Returns true (1) if the browser is currently loading. :reload (fn [CefBrowser]) -> void Reload the current page. :reload-ignore-cache (fn [CefBrowser]) -> void Reload the current page ignoring any cached data. :stop-load (fn [CefBrowser]) -> void Stop loading the page. :get-identifier (fn [CefBrowser]) -> int Returns the globally unique identifier for this browser. This value is also used as the tabId for extension APIs. :is-same (fn [CefBrowser,CefBrowser]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :is-popup (fn [CefBrowser]) -> int Returns true (1) if the window is a popup window. :has-document (fn [CefBrowser]) -> int Returns true (1) if a document has been loaded in the browser. :get-main-frame (fn [CefBrowser]) -> CefFrame Returns the main (top-level) frame for the browser window. :get-focused-frame (fn [CefBrowser]) -> CefFrame Returns the focused frame for the browser window. :get-frame-byident (fn [CefBrowser,long]) -> CefFrame Returns the frame with the specified identifier, or NULL if not found. :get-frame (fn [CefBrowser,CefStringUtf16]) -> CefFrame Returns the frame with the specified name, or NULL if not found. :get-frame-count (fn [CefBrowser]) -> SizeT Returns the number of frames that currently exist. :get-frame-identifiers (fn [CefBrowser,Pointer,Pointer]) -> void Returns the identifiers of all existing frames. :get-frame-names (fn [CefBrowser,Pointer]) -> void Returns the names of all existing frames.
(merge->browser-host
struct
{:as m
:keys [get-browser close-browser try-close-browser set-focus
get-window-handle get-opener-window-handle has-view get-client
get-request-context get-zoom-level set-zoom-level run-file-dialog
start-download download-image print print-to-pdf find stop-finding
show-dev-tools close-dev-tools has-dev-tools send-dev-tools-message
execute-dev-tools-method add-dev-tools-message-observer
get-navigation-entries replace-misspelling add-word-to-dictionary
is-window-rendering-disabled was-resized was-hidden
notify-screen-info-changed invalidate send-external-begin-frame
send-key-event send-mouse-click-event send-mouse-move-event
send-mouse-wheel-event send-touch-event send-focus-event
send-capture-lost-event notify-move-or-resize-started
get-windowless-frame-rate set-windowless-frame-rate
ime-set-composition ime-commit-text ime-finish-composing-text
ime-cancel-composition drag-target-drag-enter drag-target-drag-over
drag-target-drag-leave drag-target-drop drag-source-ended-at
drag-source-system-drag-ended get-visible-navigation-entry
set-accessibility-state set-auto-resize-enabled get-extension
is-background-host set-audio-muted is-audio-muted]})
Merge properties of a CefBrowserHost Structure used to represent the browser process aspects of a browser window. The functions of this structure can only be called in the browser process. They may be called on any thread in that process unless otherwise indicated in the comments.
:get-browser (fn [CefBrowserHost]) -> CefBrowser Returns the hosted browser object.
:close-browser (fn [CefBrowserHost,int]) -> void Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |force_close| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |force_close| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to cef_life_span_handler_t::do_close() if the event handler allows the close or if |force_close| is true (1). See cef_life_span_handler_t::do_close() documentation for additional usage information.
:try-close-browser (fn [CefBrowserHost]) -> int Helper for closing a browser. Call this function from the top-level window close handler. Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See close_browser() and cef_life_span_handler_t::do_close() documentation for additional usage information. This function must be called on the browser process UI thread.
:set-focus (fn [CefBrowserHost,int]) -> void Set whether the browser is focused.
:has-view (fn [CefBrowserHost]) -> int Returns true (1) if this browser is wrapped in a cef_browser_view_t.
:get-client (fn [CefBrowserHost]) -> CefClient Returns the client for this browser.
:get-request-context (fn [CefBrowserHost]) -> CefRequestContext Returns the request context for this browser.
:get-zoom-level (fn [CefBrowserHost]) -> double Get the current zoom level. The default zoom level is 0.0. This function can only be called on the UI thread.
:set-zoom-level (fn [CefBrowserHost,double]) -> void Change the zoom level to the specified value. Specify 0.0 to reset the zoom level. If called on the UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the UI thread.
:run-file-dialog (fn [CefBrowserHost,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefRunFileDialogCallback]) -> void Call to run a file chooser dialog. Only a single file chooser dialog may be pending at any given time. |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 will be initially selected in the dialog. |accept_filters| are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/" or "image/"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that will be selected by default. |callback| will be executed after the dialog is dismissed or immediately if another dialog is already pending. The dialog will be initiated asynchronously on the UI thread.
:start-download (fn [CefBrowserHost,CefStringUtf16]) -> void Download the file at |url| using cef_download_handler_t.
:download-image (fn [CefBrowserHost,CefStringUtf16,int,int,int,CefDownloadImageCallback]) -> void Download |image_url| and execute |callback| on completion with the images received from the renderer. If |is_favicon| is true (1) then cookies are not sent and not accepted during download. Images with density independent pixel (DIP) sizes larger than |max_image_size| are filtered out from the image results. Versions of the image at different scale factors may be downloaded up to the maximum scale factor supported by the system. If there are no image results <= |max_image_size| then the smallest image is resized to |max_image_size| and is the only result. A |max_image_size| of 0 means unlimited. If |bypass_cache| is true (1) then |image_url| is requested from the server even if it is present in the browser cache.
:print (fn [CefBrowserHost]) -> void Print the current browser contents.
:print-to-pdf (fn [CefBrowserHost,CefStringUtf16,CefPdfPrintSettings,CefPdfPrintCallback]) -> void Print the current browser contents to the PDF file specified by |path| and execute |callback| on completion. The caller is responsible for deleting |path| when done. For PDF printing to work on Linux you must implement the cef_print_handler_t::GetPdfPaperSize function.
:find (fn [CefBrowserHost,int,CefStringUtf16,int,int,int]) -> void Search for |searchText|. |identifier| must be a unique ID and these IDs must strictly increase so that newer requests always have greater IDs than older requests. If |identifier| is zero or less than the previous ID value then it will be automatically assigned a new valid ID. |forward| indicates whether to search forward or backward within the page. |matchCase| indicates whether the search should be case-sensitive. |findNext| indicates whether this is the first request or a follow-up. The cef_find_handler_t instance, if any, returned via cef_client_t::GetFindHandler will be called to report find results.
:stop-finding (fn [CefBrowserHost,int]) -> void Cancel all searches that are currently going on.
:show-dev-tools (fn [CefBrowserHost,Pointer,CefClient,CefBrowserSettings,CefPoint]) -> void Open developer tools (DevTools) in its own browser. The DevTools browser will remain associated with this browser. If the DevTools browser is already open then it will be focused, in which case the |windowInfo|, |client| and |settings| parameters will be ignored. If |inspect_element_at| is non-NULL then the element at the specified (x,y) location will be inspected. The |windowInfo| parameter will be ignored if this browser is wrapped in a cef_browser_view_t.
:close-dev-tools (fn [CefBrowserHost]) -> void Explicitly close the associated DevTools browser, if any.
:has-dev-tools (fn [CefBrowserHost]) -> int Returns true (1) if this browser currently has an associated DevTools browser. Must be called on the browser process UI thread.
:send-dev-tools-message (fn [CefBrowserHost,Pointer,SizeT]) -> int
Send a function call message over the DevTools protocol. |message| must be
a UTF8-encoded JSON dictionary that contains "id" (int), "function"
(string) and "params" (dictionary, optional) values. See the DevTools
protocol documentation at https://chromedevtools.github.io/devtools-
protocol/ for details of supported functions and the expected "params"
dictionary contents. |message| will be copied if necessary. This function
will return true (1) if called on the UI thread and the message was
successfully submitted for validation, otherwise false (0). Validation will
be applied asynchronously and any messages that fail due to formatting
errors or missing parameters may be discarded without notification. Prefer
ExecuteDevToolsMethod if a more structured approach to message formatting
is desired.
Every valid function call will result in an asynchronous function result or
error message that references the sent message "id". Event messages are
received while notifications are enabled (for example, between function
calls for "Page.enable" and "Page.disable"). All received messages will be
delivered to the observer(s) registered with AddDevToolsMessageObserver.
See cef_dev_tools_message_observer_t::OnDevToolsMessage documentation for
details of received message contents.
Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and
AddDevToolsMessageObserver functions does not require an active DevTools
front-end or remote-debugging session. Other active DevTools sessions will
continue to function independently. However, any modification of global
browser state by one session may not be reflected in the UI of other
sessions.
Communication with the DevTools front-end (when displayed) can be logged
for development purposes by passing the --devtools-protocol-log- file=<path>
command-line flag.
:execute-dev-tools-method (fn [CefBrowserHost,int,CefStringUtf16,CefDictionaryValue]) -> int Execute a function call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. |message_id| is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values). |function| is the function name. |params| are the function parameters, which may be NULL. See the DevTools protocol documentation (linked above) for details of supported functions and the expected |params| dictionary contents. This function will return the assigned message ID if called on the UI thread and the message was successfully submitted for validation, otherwise 0. See the SendDevToolsMessage documentation for additional usage information.
:add-dev-tools-message-observer (fn [CefBrowserHost,CefDevToolsMessageObserver]) -> CefRegistration Add an observer for DevTools protocol messages (function results and events). The observer will remain registered until the returned Registration object is destroyed. See the SendDevToolsMessage documentation for additional usage information.
:get-navigation-entries (fn [CefBrowserHost,CefNavigationEntryVisitor,int]) -> void Retrieve a snapshot of current navigation entries as values sent to the specified visitor. If |current_only| is true (1) only the current navigation entry will be sent, otherwise all navigation entries will be sent.
:replace-misspelling (fn [CefBrowserHost,CefStringUtf16]) -> void If a misspelled word is currently selected in an editable node calling this function will replace it with the specified |word|.
:add-word-to-dictionary (fn [CefBrowserHost,CefStringUtf16]) -> void Add the specified |word| to the spelling dictionary.
:is-window-rendering-disabled (fn [CefBrowserHost]) -> int Returns true (1) if window rendering is disabled.
:was-resized (fn [CefBrowserHost]) -> void Notify the browser that the widget has been resized. The browser will first call cef_render_handler_t::GetViewRect to get the new size and then call cef_render_handler_t::OnPaint asynchronously with the updated regions. This function is only used when window rendering is disabled.
:was-hidden (fn [CefBrowserHost,int]) -> void Notify the browser that it has been hidden or shown. Layouting and cef_render_handler_t::OnPaint notification will stop when the browser is hidden. This function is only used when window rendering is disabled.
:notify-screen-info-changed (fn [CefBrowserHost]) -> void Send a notification to the browser that the screen info has changed. The browser will then call cef_render_handler_t::GetScreenInfo to update the screen information with the new values. This simulates moving the webview window from one display to another, or changing the properties of the current display. This function is only used when window rendering is disabled.
:invalidate (fn [CefBrowserHost,int]) -> void Invalidate the view. The browser will call cef_render_handler_t::OnPaint asynchronously. This function is only used when window rendering is disabled.
:send-external-begin-frame (fn [CefBrowserHost]) -> void Issue a BeginFrame request to Chromium. Only valid when cef_window_tInfo::external_begin_frame_enabled is set to true (1).
:send-key-event (fn [CefBrowserHost,CefKeyEvent]) -> void Send a key event to the browser.
:send-mouse-click-event (fn [CefBrowserHost,CefMouseEvent,int,int,int]) -> void Send a mouse click event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view.
:send-mouse-move-event (fn [CefBrowserHost,CefMouseEvent,int]) -> void Send a mouse move event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view.
:send-mouse-wheel-event (fn [CefBrowserHost,CefMouseEvent,int,int]) -> void Send a mouse wheel event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. The |deltaX| and |deltaY| values represent the movement delta in the X and Y directions respectively. In order to scroll inside select popups with window rendering disabled cef_render_handler_t::GetScreenPoint should be implemented properly.
:send-touch-event (fn [CefBrowserHost,CefTouchEvent]) -> void Send a touch event to the browser for a windowless browser.
:send-focus-event (fn [CefBrowserHost,int]) -> void Send a focus event to the browser.
:send-capture-lost-event (fn [CefBrowserHost]) -> void Send a capture lost event to the browser.
:notify-move-or-resize-started (fn [CefBrowserHost]) -> void Notify the browser that the window hosting it is about to be moved or resized. This function is only used on Windows and Linux.
:get-windowless-frame-rate (fn [CefBrowserHost]) -> int Returns the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This function can only be called on the UI thread.
:set-windowless-frame-rate (fn [CefBrowserHost,int]) -> void Set the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). Can also be set at browser creation via cef_browser_tSettings.windowless_frame_rate.
:ime-set-composition (fn [CefBrowserHost,CefStringUtf16,SizeT,CefCompositionUnderline,CefRange,CefRange]) -> void Begins a new composition or updates the existing composition. Blink has a special node (a composition node) that allows the input function to change text without affecting other DOM nodes. |text| is the optional text that will be inserted into the composition node. |underlines| is an optional set of ranges that will be underlined in the resulting text. |replacement_range| is an optional range of the existing text that will be replaced. |selection_range| is an optional range of the resulting text that will be selected after insertion or replacement. The |replacement_range| value is only used on OS X. This function may be called multiple times as the composition changes. When the client is done making changes the composition should either be canceled or completed. To cancel the composition call ImeCancelComposition. To complete the composition call either ImeCommitText or ImeFinishComposingText. Completion is usually signaled when: A. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR flag (on Windows), or; B. The client receives a "commit" signal of GtkIMContext (on Linux), or; C. insertText of NSTextInput is called (on Mac). This function is only used when window rendering is disabled.
:ime-commit-text (fn [CefBrowserHost,CefStringUtf16,CefRange,int]) -> void Completes the existing composition by optionally inserting the specified |text| into the composition node. |replacement_range| is an optional range of the existing text that will be replaced. |relative_cursor_pos| is where the cursor will be positioned relative to the current cursor position. See comments on ImeSetComposition for usage. The |replacement_range| and |relative_cursor_pos| values are only used on OS X. This function is only used when window rendering is disabled.
:ime-finish-composing-text (fn [CefBrowserHost,int]) -> void Completes the existing composition by applying the current composition node contents. If |keep_selection| is false (0) the current selection, if any, will be discarded. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled.
:ime-cancel-composition (fn [CefBrowserHost]) -> void Cancels the existing composition and discards the composition node contents without applying them. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled.
:drag-target-drag-enter (fn [CefBrowserHost,CefDragData,CefMouseEvent,int]) -> void Call this function when the user drags the mouse into the web view (before calling DragTargetDragOver/DragTargetLeave/DragTargetDrop). |drag_data| should not contain file contents as this type of data is not allowed to be dragged into the web view. File contents can be removed using cef_drag_data_t::ResetFileContents (for example, if |drag_data| comes from cef_render_handler_t::StartDragging). This function is only used when window rendering is disabled.
:drag-target-drag-over (fn [CefBrowserHost,CefMouseEvent,int]) -> void Call this function each time the mouse is moved across the web view during a drag operation (after calling DragTargetDragEnter and before calling DragTargetDragLeave/DragTargetDrop). This function is only used when window rendering is disabled.
:drag-target-drag-leave (fn [CefBrowserHost]) -> void Call this function when the user drags the mouse out of the web view (after calling DragTargetDragEnter). This function is only used when window rendering is disabled.
:drag-target-drop (fn [CefBrowserHost,CefMouseEvent]) -> void Call this function when the user completes the drag operation by dropping the object onto the web view (after calling DragTargetDragEnter). The object being dropped is |drag_data|, given as an argument to the previous DragTargetDragEnter call. This function is only used when window rendering is disabled.
:drag-source-ended-at (fn [CefBrowserHost,int,int,int]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has ended either in a drop or by being cancelled. |x| and |y| are mouse coordinates relative to the upper- left corner of the view. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled.
:drag-source-system-drag-ended (fn [CefBrowserHost]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has completed. This function may be called immediately without first calling DragSourceEndedAt to cancel a drag operation. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled.
:get-visible-navigation-entry (fn [CefBrowserHost]) -> CefNavigationEntry Returns the current visible navigation entry for this browser. This function can only be called on the UI thread.
:set-accessibility-state (fn [CefBrowserHost,int]) -> void Set accessibility state for all frames. |accessibility_state| may be default, enabled or disabled. If |accessibility_state| is STATE_DEFAULT then accessibility will be disabled by default and the state may be further controlled with the "force-renderer-accessibility" and "disable-renderer- accessibility" command-line switches. If |accessibility_state| is STATE_ENABLED then accessibility will be enabled. If |accessibility_state| is STATE_DISABLED then accessibility will be completely disabled. For windowed browsers accessibility will be enabled in Complete mode (which corresponds to kAccessibilityModeComplete in Chromium). In this mode all platform accessibility objects will be created and managed by Chromium's internal implementation. The client needs only to detect the screen reader and call this function appropriately. For example, on macOS the client can handle the @"AXEnhancedUserStructure" accessibility attribute to detect VoiceOver state changes and on Windows the client can handle WM_GETOBJECT with OBJID_CLIENT to detect accessibility readers. For windowless browsers accessibility will be enabled in TreeOnly mode (which corresponds to kAccessibilityModeWebContentsOnly in Chromium). In this mode renderer accessibility is enabled, the full tree is computed, and events are passed to CefAccessibiltyHandler, but platform accessibility objects are not created. The client may implement platform accessibility objects using CefAccessibiltyHandler callbacks if desired.
:set-auto-resize-enabled (fn [CefBrowserHost,int,CefSize,CefSize]) -> void Enable notifications of auto resize via cef_display_handler_t::OnAutoResize. Notifications are disabled by default. |min_size| and |max_size| define the range of allowed sizes.
:get-extension (fn [CefBrowserHost]) -> CefExtension Returns the extension hosted in this browser or NULL if no extension is hosted. See cef_request_context_t::LoadExtension for details.
:is-background-host (fn [CefBrowserHost]) -> int Returns true (1) if this browser is hosting an extension background script. Background hosts do not have a window and are not displayable. See cef_request_context_t::LoadExtension for details.
:set-audio-muted (fn [CefBrowserHost,int]) -> void Set whether the browser's audio is muted.
:is-audio-muted (fn [CefBrowserHost]) -> int Returns true (1) if the browser's audio is muted. This function can only be called on the UI thread.
Merge properties of a CefBrowserHost Structure used to represent the browser process aspects of a browser window. The functions of this structure can only be called in the browser process. They may be called on any thread in that process unless otherwise indicated in the comments. :get-browser (fn [CefBrowserHost]) -> CefBrowser Returns the hosted browser object. :close-browser (fn [CefBrowserHost,int]) -> void Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |force_close| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |force_close| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to cef_life_span_handler_t::do_close() if the event handler allows the close or if |force_close| is true (1). See cef_life_span_handler_t::do_close() documentation for additional usage information. :try-close-browser (fn [CefBrowserHost]) -> int Helper for closing a browser. Call this function from the top-level window close handler. Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See close_browser() and cef_life_span_handler_t::do_close() documentation for additional usage information. This function must be called on the browser process UI thread. :set-focus (fn [CefBrowserHost,int]) -> void Set whether the browser is focused. :has-view (fn [CefBrowserHost]) -> int Returns true (1) if this browser is wrapped in a cef_browser_view_t. :get-client (fn [CefBrowserHost]) -> CefClient Returns the client for this browser. :get-request-context (fn [CefBrowserHost]) -> CefRequestContext Returns the request context for this browser. :get-zoom-level (fn [CefBrowserHost]) -> double Get the current zoom level. The default zoom level is 0.0. This function can only be called on the UI thread. :set-zoom-level (fn [CefBrowserHost,double]) -> void Change the zoom level to the specified value. Specify 0.0 to reset the zoom level. If called on the UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the UI thread. :run-file-dialog (fn [CefBrowserHost,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefRunFileDialogCallback]) -> void Call to run a file chooser dialog. Only a single file chooser dialog may be pending at any given time. |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 will be initially selected in the dialog. |accept_filters| are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that will be selected by default. |callback| will be executed after the dialog is dismissed or immediately if another dialog is already pending. The dialog will be initiated asynchronously on the UI thread. :start-download (fn [CefBrowserHost,CefStringUtf16]) -> void Download the file at |url| using cef_download_handler_t. :download-image (fn [CefBrowserHost,CefStringUtf16,int,int,int,CefDownloadImageCallback]) -> void Download |image_url| and execute |callback| on completion with the images received from the renderer. If |is_favicon| is true (1) then cookies are not sent and not accepted during download. Images with density independent pixel (DIP) sizes larger than |max_image_size| are filtered out from the image results. Versions of the image at different scale factors may be downloaded up to the maximum scale factor supported by the system. If there are no image results <= |max_image_size| then the smallest image is resized to |max_image_size| and is the only result. A |max_image_size| of 0 means unlimited. If |bypass_cache| is true (1) then |image_url| is requested from the server even if it is present in the browser cache. :print (fn [CefBrowserHost]) -> void Print the current browser contents. :print-to-pdf (fn [CefBrowserHost,CefStringUtf16,CefPdfPrintSettings,CefPdfPrintCallback]) -> void Print the current browser contents to the PDF file specified by |path| and execute |callback| on completion. The caller is responsible for deleting |path| when done. For PDF printing to work on Linux you must implement the cef_print_handler_t::GetPdfPaperSize function. :find (fn [CefBrowserHost,int,CefStringUtf16,int,int,int]) -> void Search for |searchText|. |identifier| must be a unique ID and these IDs must strictly increase so that newer requests always have greater IDs than older requests. If |identifier| is zero or less than the previous ID value then it will be automatically assigned a new valid ID. |forward| indicates whether to search forward or backward within the page. |matchCase| indicates whether the search should be case-sensitive. |findNext| indicates whether this is the first request or a follow-up. The cef_find_handler_t instance, if any, returned via cef_client_t::GetFindHandler will be called to report find results. :stop-finding (fn [CefBrowserHost,int]) -> void Cancel all searches that are currently going on. :show-dev-tools (fn [CefBrowserHost,Pointer,CefClient,CefBrowserSettings,CefPoint]) -> void Open developer tools (DevTools) in its own browser. The DevTools browser will remain associated with this browser. If the DevTools browser is already open then it will be focused, in which case the |windowInfo|, |client| and |settings| parameters will be ignored. If |inspect_element_at| is non-NULL then the element at the specified (x,y) location will be inspected. The |windowInfo| parameter will be ignored if this browser is wrapped in a cef_browser_view_t. :close-dev-tools (fn [CefBrowserHost]) -> void Explicitly close the associated DevTools browser, if any. :has-dev-tools (fn [CefBrowserHost]) -> int Returns true (1) if this browser currently has an associated DevTools browser. Must be called on the browser process UI thread. :send-dev-tools-message (fn [CefBrowserHost,Pointer,SizeT]) -> int Send a function call message over the DevTools protocol. |message| must be a UTF8-encoded JSON dictionary that contains "id" (int), "function" (string) and "params" (dictionary, optional) values. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools- protocol/ for details of supported functions and the expected "params" dictionary contents. |message| will be copied if necessary. This function will return true (1) if called on the UI thread and the message was successfully submitted for validation, otherwise false (0). Validation will be applied asynchronously and any messages that fail due to formatting errors or missing parameters may be discarded without notification. Prefer ExecuteDevToolsMethod if a more structured approach to message formatting is desired. Every valid function call will result in an asynchronous function result or error message that references the sent message "id". Event messages are received while notifications are enabled (for example, between function calls for "Page.enable" and "Page.disable"). All received messages will be delivered to the observer(s) registered with AddDevToolsMessageObserver. See cef_dev_tools_message_observer_t::OnDevToolsMessage documentation for details of received message contents. Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and AddDevToolsMessageObserver functions does not require an active DevTools front-end or remote-debugging session. Other active DevTools sessions will continue to function independently. However, any modification of global browser state by one session may not be reflected in the UI of other sessions. Communication with the DevTools front-end (when displayed) can be logged for development purposes by passing the `--devtools-protocol-log- file=<path>` command-line flag. :execute-dev-tools-method (fn [CefBrowserHost,int,CefStringUtf16,CefDictionaryValue]) -> int Execute a function call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. |message_id| is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values). |function| is the function name. |params| are the function parameters, which may be NULL. See the DevTools protocol documentation (linked above) for details of supported functions and the expected |params| dictionary contents. This function will return the assigned message ID if called on the UI thread and the message was successfully submitted for validation, otherwise 0. See the SendDevToolsMessage documentation for additional usage information. :add-dev-tools-message-observer (fn [CefBrowserHost,CefDevToolsMessageObserver]) -> CefRegistration Add an observer for DevTools protocol messages (function results and events). The observer will remain registered until the returned Registration object is destroyed. See the SendDevToolsMessage documentation for additional usage information. :get-navigation-entries (fn [CefBrowserHost,CefNavigationEntryVisitor,int]) -> void Retrieve a snapshot of current navigation entries as values sent to the specified visitor. If |current_only| is true (1) only the current navigation entry will be sent, otherwise all navigation entries will be sent. :replace-misspelling (fn [CefBrowserHost,CefStringUtf16]) -> void If a misspelled word is currently selected in an editable node calling this function will replace it with the specified |word|. :add-word-to-dictionary (fn [CefBrowserHost,CefStringUtf16]) -> void Add the specified |word| to the spelling dictionary. :is-window-rendering-disabled (fn [CefBrowserHost]) -> int Returns true (1) if window rendering is disabled. :was-resized (fn [CefBrowserHost]) -> void Notify the browser that the widget has been resized. The browser will first call cef_render_handler_t::GetViewRect to get the new size and then call cef_render_handler_t::OnPaint asynchronously with the updated regions. This function is only used when window rendering is disabled. :was-hidden (fn [CefBrowserHost,int]) -> void Notify the browser that it has been hidden or shown. Layouting and cef_render_handler_t::OnPaint notification will stop when the browser is hidden. This function is only used when window rendering is disabled. :notify-screen-info-changed (fn [CefBrowserHost]) -> void Send a notification to the browser that the screen info has changed. The browser will then call cef_render_handler_t::GetScreenInfo to update the screen information with the new values. This simulates moving the webview window from one display to another, or changing the properties of the current display. This function is only used when window rendering is disabled. :invalidate (fn [CefBrowserHost,int]) -> void Invalidate the view. The browser will call cef_render_handler_t::OnPaint asynchronously. This function is only used when window rendering is disabled. :send-external-begin-frame (fn [CefBrowserHost]) -> void Issue a BeginFrame request to Chromium. Only valid when cef_window_tInfo::external_begin_frame_enabled is set to true (1). :send-key-event (fn [CefBrowserHost,CefKeyEvent]) -> void Send a key event to the browser. :send-mouse-click-event (fn [CefBrowserHost,CefMouseEvent,int,int,int]) -> void Send a mouse click event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. :send-mouse-move-event (fn [CefBrowserHost,CefMouseEvent,int]) -> void Send a mouse move event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. :send-mouse-wheel-event (fn [CefBrowserHost,CefMouseEvent,int,int]) -> void Send a mouse wheel event to the browser. The |x| and |y| coordinates are relative to the upper-left corner of the view. The |deltaX| and |deltaY| values represent the movement delta in the X and Y directions respectively. In order to scroll inside select popups with window rendering disabled cef_render_handler_t::GetScreenPoint should be implemented properly. :send-touch-event (fn [CefBrowserHost,CefTouchEvent]) -> void Send a touch event to the browser for a windowless browser. :send-focus-event (fn [CefBrowserHost,int]) -> void Send a focus event to the browser. :send-capture-lost-event (fn [CefBrowserHost]) -> void Send a capture lost event to the browser. :notify-move-or-resize-started (fn [CefBrowserHost]) -> void Notify the browser that the window hosting it is about to be moved or resized. This function is only used on Windows and Linux. :get-windowless-frame-rate (fn [CefBrowserHost]) -> int Returns the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This function can only be called on the UI thread. :set-windowless-frame-rate (fn [CefBrowserHost,int]) -> void Set the maximum rate in frames per second (fps) that cef_render_handler_t:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). Can also be set at browser creation via cef_browser_tSettings.windowless_frame_rate. :ime-set-composition (fn [CefBrowserHost,CefStringUtf16,SizeT,CefCompositionUnderline,CefRange,CefRange]) -> void Begins a new composition or updates the existing composition. Blink has a special node (a composition node) that allows the input function to change text without affecting other DOM nodes. |text| is the optional text that will be inserted into the composition node. |underlines| is an optional set of ranges that will be underlined in the resulting text. |replacement_range| is an optional range of the existing text that will be replaced. |selection_range| is an optional range of the resulting text that will be selected after insertion or replacement. The |replacement_range| value is only used on OS X. This function may be called multiple times as the composition changes. When the client is done making changes the composition should either be canceled or completed. To cancel the composition call ImeCancelComposition. To complete the composition call either ImeCommitText or ImeFinishComposingText. Completion is usually signaled when: A. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR flag (on Windows), or; B. The client receives a "commit" signal of GtkIMContext (on Linux), or; C. insertText of NSTextInput is called (on Mac). This function is only used when window rendering is disabled. :ime-commit-text (fn [CefBrowserHost,CefStringUtf16,CefRange,int]) -> void Completes the existing composition by optionally inserting the specified |text| into the composition node. |replacement_range| is an optional range of the existing text that will be replaced. |relative_cursor_pos| is where the cursor will be positioned relative to the current cursor position. See comments on ImeSetComposition for usage. The |replacement_range| and |relative_cursor_pos| values are only used on OS X. This function is only used when window rendering is disabled. :ime-finish-composing-text (fn [CefBrowserHost,int]) -> void Completes the existing composition by applying the current composition node contents. If |keep_selection| is false (0) the current selection, if any, will be discarded. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled. :ime-cancel-composition (fn [CefBrowserHost]) -> void Cancels the existing composition and discards the composition node contents without applying them. See comments on ImeSetComposition for usage. This function is only used when window rendering is disabled. :drag-target-drag-enter (fn [CefBrowserHost,CefDragData,CefMouseEvent,int]) -> void Call this function when the user drags the mouse into the web view (before calling DragTargetDragOver/DragTargetLeave/DragTargetDrop). |drag_data| should not contain file contents as this type of data is not allowed to be dragged into the web view. File contents can be removed using cef_drag_data_t::ResetFileContents (for example, if |drag_data| comes from cef_render_handler_t::StartDragging). This function is only used when window rendering is disabled. :drag-target-drag-over (fn [CefBrowserHost,CefMouseEvent,int]) -> void Call this function each time the mouse is moved across the web view during a drag operation (after calling DragTargetDragEnter and before calling DragTargetDragLeave/DragTargetDrop). This function is only used when window rendering is disabled. :drag-target-drag-leave (fn [CefBrowserHost]) -> void Call this function when the user drags the mouse out of the web view (after calling DragTargetDragEnter). This function is only used when window rendering is disabled. :drag-target-drop (fn [CefBrowserHost,CefMouseEvent]) -> void Call this function when the user completes the drag operation by dropping the object onto the web view (after calling DragTargetDragEnter). The object being dropped is |drag_data|, given as an argument to the previous DragTargetDragEnter call. This function is only used when window rendering is disabled. :drag-source-ended-at (fn [CefBrowserHost,int,int,int]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has ended either in a drop or by being cancelled. |x| and |y| are mouse coordinates relative to the upper- left corner of the view. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled. :drag-source-system-drag-ended (fn [CefBrowserHost]) -> void Call this function when the drag operation started by a cef_render_handler_t::StartDragging call has completed. This function may be called immediately without first calling DragSourceEndedAt to cancel a drag operation. If the web view is both the drag source and the drag target then all DragTarget* functions should be called before DragSource* mthods. This function is only used when window rendering is disabled. :get-visible-navigation-entry (fn [CefBrowserHost]) -> CefNavigationEntry Returns the current visible navigation entry for this browser. This function can only be called on the UI thread. :set-accessibility-state (fn [CefBrowserHost,int]) -> void Set accessibility state for all frames. |accessibility_state| may be default, enabled or disabled. If |accessibility_state| is STATE_DEFAULT then accessibility will be disabled by default and the state may be further controlled with the "force-renderer-accessibility" and "disable-renderer- accessibility" command-line switches. If |accessibility_state| is STATE_ENABLED then accessibility will be enabled. If |accessibility_state| is STATE_DISABLED then accessibility will be completely disabled. For windowed browsers accessibility will be enabled in Complete mode (which corresponds to kAccessibilityModeComplete in Chromium). In this mode all platform accessibility objects will be created and managed by Chromium's internal implementation. The client needs only to detect the screen reader and call this function appropriately. For example, on macOS the client can handle the @"AXEnhancedUserStructure" accessibility attribute to detect VoiceOver state changes and on Windows the client can handle WM_GETOBJECT with OBJID_CLIENT to detect accessibility readers. For windowless browsers accessibility will be enabled in TreeOnly mode (which corresponds to kAccessibilityModeWebContentsOnly in Chromium). In this mode renderer accessibility is enabled, the full tree is computed, and events are passed to CefAccessibiltyHandler, but platform accessibility objects are not created. The client may implement platform accessibility objects using CefAccessibiltyHandler callbacks if desired. :set-auto-resize-enabled (fn [CefBrowserHost,int,CefSize,CefSize]) -> void Enable notifications of auto resize via cef_display_handler_t::OnAutoResize. Notifications are disabled by default. |min_size| and |max_size| define the range of allowed sizes. :get-extension (fn [CefBrowserHost]) -> CefExtension Returns the extension hosted in this browser or NULL if no extension is hosted. See cef_request_context_t::LoadExtension for details. :is-background-host (fn [CefBrowserHost]) -> int Returns true (1) if this browser is hosting an extension background script. Background hosts do not have a window and are not displayable. See cef_request_context_t::LoadExtension for details. :set-audio-muted (fn [CefBrowserHost,int]) -> void Set whether the browser's audio is muted. :is-audio-muted (fn [CefBrowserHost]) -> int Returns true (1) if the browser's audio is muted. This function can only be called on the UI thread.
(merge->browser-process-handler
struct
{:as m
:keys [get-cookieable-schemes on-context-initialized
on-before-child-process-launch get-print-handler
on-schedule-message-pump-work get-default-client]})
Merge properties of a CefBrowserProcessHandler Structure used to implement browser process callbacks. The functions of this structure will be called on the browser process main thread unless otherwise indicated.
:get-cookieable-schemes (fn [CefBrowserProcessHandler,Pointer,Pointer]) -> void Called on the browser process UI thread to retrieve the list of schemes that should support cookies. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Providing an NULL |schemes| value and setting |include_defaults| to false (0) will disable all loading and saving of cookies. This state will apply to the cef_cookie_manager_t associated with the global cef_request_context_t. It will also be used as the initial state for any new cef_request_context_ts created by the client. After creating a new cef_request_context_t the cef_cookie_manager_t::SetSupportedSchemes function may be called on the associated cef_cookie_manager_t to futher override these values.
:on-context-initialized (fn [CefBrowserProcessHandler]) -> void Called on the browser process UI thread immediately after the CEF context has been initialized.
:on-before-child-process-launch (fn [CefBrowserProcessHandler,CefCommandLine]) -> void 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 or plugin process. Provides an opportunity to modify the child process command line. Do not keep a reference to |command_line| outside of this function.
:get-print-handler (fn [CefBrowserProcessHandler]) -> CefPrintHandler Return the handler for printing on Linux. If a print handler is not provided then printing will not be supported on the Linux platform.
:on-schedule-message-pump-work (fn [CefBrowserProcessHandler,long]) -> void Called from any thread when work has been scheduled for the browser process main (UI) thread. This callback is used in combination with CefSettings. 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.
:get-default-client (fn [CefBrowserProcessHandler]) -> CefClient Return the default client for use with a newly created browser window. If null is returned the browser will be unmanaged (no callbacks will be executed for that browser) and application shutdown will be blocked until the browser window is closed manually. This function is currently only used with the chrome runtime.
Merge properties of a CefBrowserProcessHandler Structure used to implement browser process callbacks. The functions of this structure will be called on the browser process main thread unless otherwise indicated. :get-cookieable-schemes (fn [CefBrowserProcessHandler,Pointer,Pointer]) -> void Called on the browser process UI thread to retrieve the list of schemes that should support cookies. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Providing an NULL |schemes| value and setting |include_defaults| to false (0) will disable all loading and saving of cookies. This state will apply to the cef_cookie_manager_t associated with the global cef_request_context_t. It will also be used as the initial state for any new cef_request_context_ts created by the client. After creating a new cef_request_context_t the cef_cookie_manager_t::SetSupportedSchemes function may be called on the associated cef_cookie_manager_t to futher override these values. :on-context-initialized (fn [CefBrowserProcessHandler]) -> void Called on the browser process UI thread immediately after the CEF context has been initialized. :on-before-child-process-launch (fn [CefBrowserProcessHandler,CefCommandLine]) -> void 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 or plugin process. Provides an opportunity to modify the child process command line. Do not keep a reference to |command_line| outside of this function. :get-print-handler (fn [CefBrowserProcessHandler]) -> CefPrintHandler Return the handler for printing on Linux. If a print handler is not provided then printing will not be supported on the Linux platform. :on-schedule-message-pump-work (fn [CefBrowserProcessHandler,long]) -> void Called from any thread when work has been scheduled for the browser process main (UI) thread. This callback is used in combination with CefSettings. 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. :get-default-client (fn [CefBrowserProcessHandler]) -> CefClient Return the default client for use with a newly created browser window. If null is returned the browser will be unmanaged (no callbacks will be executed for that browser) and application shutdown will be blocked until the browser window is closed manually. This function is currently only used with the chrome runtime.
(merge->browser-settings
struct
{:as m
:keys [size windowless-frame-rate standard-font-family fixed-font-family
serif-font-family sans-serif-font-family cursive-font-family
fantasy-font-family default-font-size default-fixed-font-size
minimum-font-size minimum-logical-font-size default-encoding
remote-fonts javascript javascript-close-windows
javascript-access-clipboard javascript-dom-paste plugins
universal-access-from-file-urls file-access-from-file-urls
web-security image-loading image-shrink-standalone-to-fit
text-area-resize tab-to-links local-storage databases
application-cache webgl background-color accept-language-list]})
Merge properties of a CefBrowserSettings Browser initialization settings. Specify NULL or 0 to get the recommended default values. The consequences of using custom values may not be well tested. Many of these and other settings can also configured using command- line switches.
:size size_t Size of this structure.
:windowless-frame-rate int The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This value can also be changed dynamically via CefBrowserHost::SetWindowlessFrameRate.
:standard-font-family cef_string_t The below values map to WebPreferences settings. Font settings.
:default-encoding cef_string_t Default encoding for Web content. If empty "ISO-8859-1" will be used. Also configurable using the "default-encoding" command-line switch.
:remote-fonts cef_state_t Controls the loading of fonts from remote sources. Also configurable using the "disable-remote-fonts" command-line switch.
:javascript cef_state_t Controls whether JavaScript can be executed. Also configurable using the "disable-javascript" command-line switch.
:javascript-close-windows cef_state_t Controls whether JavaScript can be used to close windows that were not opened via JavaScript. JavaScript can still be used to close windows that were opened via JavaScript or that have no back/forward history. Also configurable using the "disable-javascript-close-windows" command-line switch.
:javascript-access-clipboard cef_state_t Controls whether JavaScript can access the clipboard. Also configurable using the "disable-javascript-access-clipboard" command-line switch.
:javascript-dom-paste cef_state_t Controls whether DOM pasting is supported in the editor via execCommand("paste"). The |javascript_access_clipboard| setting must also be enabled. Also configurable using the "disable-javascript-dom-paste" command-line switch.
:plugins cef_state_t Controls whether any plugins will be loaded. Also configurable using the "disable-plugins" command-line switch.
:universal-access-from-file-urls cef_state_t Controls whether file URLs will have access to all URLs. Also configurable using the "allow-universal-access-from-files" command-line switch.
:file-access-from-file-urls cef_state_t Controls whether file URLs will have access to other file URLs. Also configurable using the "allow-access-from-files" command-line switch.
:web-security cef_state_t Controls whether web security restrictions (same-origin policy) will be enforced. Disabling this setting is not recommend as it will allow risky security behavior such as cross-site scripting (XSS). Also configurable using the "disable-web-security" command-line switch.
:image-loading cef_state_t Controls whether image URLs will be loaded from the network. A cached image will still be rendered if requested. Also configurable using the "disable-image-loading" command-line switch.
:image-shrink-standalone-to-fit cef_state_t Controls whether standalone images will be shrunk to fit the page. Also configurable using the "image-shrink-standalone-to-fit" command-line switch.
:text-area-resize cef_state_t Controls whether text areas can be resized. Also configurable using the "disable-text-area-resize" command-line switch.
:tab-to-links cef_state_t Controls whether the tab key can advance focus to links. Also configurable using the "disable-tab-to-links" command-line switch.
:local-storage cef_state_t Controls whether local storage can be used. Also configurable using the "disable-local-storage" command-line switch.
:databases cef_state_t Controls whether databases can be used. Also configurable using the "disable-databases" command-line switch.
:application-cache cef_state_t Controls whether the application cache can be used. Also configurable using the "disable-application-cache" command-line switch.
:webgl cef_state_t Controls whether WebGL can be used. Note that WebGL requires hardware support and may not work on all systems even when enabled. Also configurable using the "disable-webgl" command-line switch.
:background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the CefSettings.background_color value will be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled.
:accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be set globally using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used.
Merge properties of a CefBrowserSettings Browser initialization settings. Specify NULL or 0 to get the recommended default values. The consequences of using custom values may not be well tested. Many of these and other settings can also configured using command- line switches. :size size_t Size of this structure. :windowless-frame-rate int The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This value can also be changed dynamically via CefBrowserHost::SetWindowlessFrameRate. :standard-font-family cef_string_t The below values map to WebPreferences settings. Font settings. :default-encoding cef_string_t Default encoding for Web content. If empty "ISO-8859-1" will be used. Also configurable using the "default-encoding" command-line switch. :remote-fonts cef_state_t Controls the loading of fonts from remote sources. Also configurable using the "disable-remote-fonts" command-line switch. :javascript cef_state_t Controls whether JavaScript can be executed. Also configurable using the "disable-javascript" command-line switch. :javascript-close-windows cef_state_t Controls whether JavaScript can be used to close windows that were not opened via JavaScript. JavaScript can still be used to close windows that were opened via JavaScript or that have no back/forward history. Also configurable using the "disable-javascript-close-windows" command-line switch. :javascript-access-clipboard cef_state_t Controls whether JavaScript can access the clipboard. Also configurable using the "disable-javascript-access-clipboard" command-line switch. :javascript-dom-paste cef_state_t Controls whether DOM pasting is supported in the editor via execCommand("paste"). The |javascript_access_clipboard| setting must also be enabled. Also configurable using the "disable-javascript-dom-paste" command-line switch. :plugins cef_state_t Controls whether any plugins will be loaded. Also configurable using the "disable-plugins" command-line switch. :universal-access-from-file-urls cef_state_t Controls whether file URLs will have access to all URLs. Also configurable using the "allow-universal-access-from-files" command-line switch. :file-access-from-file-urls cef_state_t Controls whether file URLs will have access to other file URLs. Also configurable using the "allow-access-from-files" command-line switch. :web-security cef_state_t Controls whether web security restrictions (same-origin policy) will be enforced. Disabling this setting is not recommend as it will allow risky security behavior such as cross-site scripting (XSS). Also configurable using the "disable-web-security" command-line switch. :image-loading cef_state_t Controls whether image URLs will be loaded from the network. A cached image will still be rendered if requested. Also configurable using the "disable-image-loading" command-line switch. :image-shrink-standalone-to-fit cef_state_t Controls whether standalone images will be shrunk to fit the page. Also configurable using the "image-shrink-standalone-to-fit" command-line switch. :text-area-resize cef_state_t Controls whether text areas can be resized. Also configurable using the "disable-text-area-resize" command-line switch. :tab-to-links cef_state_t Controls whether the tab key can advance focus to links. Also configurable using the "disable-tab-to-links" command-line switch. :local-storage cef_state_t Controls whether local storage can be used. Also configurable using the "disable-local-storage" command-line switch. :databases cef_state_t Controls whether databases can be used. Also configurable using the "disable-databases" command-line switch. :application-cache cef_state_t Controls whether the application cache can be used. Also configurable using the "disable-application-cache" command-line switch. :webgl cef_state_t Controls whether WebGL can be used. Note that WebGL requires hardware support and may not work on all systems even when enabled. Also configurable using the "disable-webgl" command-line switch. :background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the CefSettings.background_color value will be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled. :accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be set globally using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used.
(merge->callback struct {:as m :keys [cont cancel]})
Merge properties of a CefCallback Generic callback structure used for asynchronous continuation.
:cont (fn [CefCallback]) -> void Continue processing.
:cancel (fn [CefCallback]) -> void Cancel processing.
Merge properties of a CefCallback Generic callback structure used for asynchronous continuation. :cont (fn [CefCallback]) -> void Continue processing. :cancel (fn [CefCallback]) -> void Cancel processing.
(merge->client
struct
{:as m
:keys [get-audio-handler get-context-menu-handler get-dialog-handler
get-display-handler get-download-handler get-drag-handler
get-find-handler get-focus-handler get-jsdialog-handler
get-keyboard-handler get-life-span-handler get-load-handler
get-render-handler get-request-handler on-process-message-received]})
Merge properties of a CefClient Implement this structure to provide handler implementations.
:get-audio-handler (fn [CefClient]) -> CefAudioHandler Return the handler for audio rendering events.
:get-context-menu-handler (fn [CefClient]) -> CefContextMenuHandler Return the handler for context menus. If no handler is provided the default implementation will be used.
:get-dialog-handler (fn [CefClient]) -> CefDialogHandler Return the handler for dialogs. If no handler is provided the default implementation will be used.
:get-display-handler (fn [CefClient]) -> CefDisplayHandler Return the handler for browser display state events.
:get-download-handler (fn [CefClient]) -> CefDownloadHandler Return the handler for download events. If no handler is returned downloads will not be allowed.
:get-drag-handler (fn [CefClient]) -> CefDragHandler Return the handler for drag events.
:get-find-handler (fn [CefClient]) -> CefFindHandler Return the handler for find result events.
:get-focus-handler (fn [CefClient]) -> CefFocusHandler Return the handler for focus events.
:get-jsdialog-handler (fn [CefClient]) -> CefJsdialogHandler Return the handler for JavaScript dialogs. If no handler is provided the default implementation will be used.
:get-keyboard-handler (fn [CefClient]) -> CefKeyboardHandler Return the handler for keyboard events.
:get-life-span-handler (fn [CefClient]) -> CefLifeSpanHandler Return the handler for browser life span events.
:get-load-handler (fn [CefClient]) -> CefLoadHandler Return the handler for browser load status events.
:get-render-handler (fn [CefClient]) -> CefRenderHandler Return the handler for off-screen rendering events.
:get-request-handler (fn [CefClient]) -> CefRequestHandler Return the handler for browser request events.
:on-process-message-received (fn [CefClient,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
Merge properties of a CefClient Implement this structure to provide handler implementations. :get-audio-handler (fn [CefClient]) -> CefAudioHandler Return the handler for audio rendering events. :get-context-menu-handler (fn [CefClient]) -> CefContextMenuHandler Return the handler for context menus. If no handler is provided the default implementation will be used. :get-dialog-handler (fn [CefClient]) -> CefDialogHandler Return the handler for dialogs. If no handler is provided the default implementation will be used. :get-display-handler (fn [CefClient]) -> CefDisplayHandler Return the handler for browser display state events. :get-download-handler (fn [CefClient]) -> CefDownloadHandler Return the handler for download events. If no handler is returned downloads will not be allowed. :get-drag-handler (fn [CefClient]) -> CefDragHandler Return the handler for drag events. :get-find-handler (fn [CefClient]) -> CefFindHandler Return the handler for find result events. :get-focus-handler (fn [CefClient]) -> CefFocusHandler Return the handler for focus events. :get-jsdialog-handler (fn [CefClient]) -> CefJsdialogHandler Return the handler for JavaScript dialogs. If no handler is provided the default implementation will be used. :get-keyboard-handler (fn [CefClient]) -> CefKeyboardHandler Return the handler for keyboard events. :get-life-span-handler (fn [CefClient]) -> CefLifeSpanHandler Return the handler for browser life span events. :get-load-handler (fn [CefClient]) -> CefLoadHandler Return the handler for browser load status events. :get-render-handler (fn [CefClient]) -> CefRenderHandler Return the handler for off-screen rendering events. :get-request-handler (fn [CefClient]) -> CefRequestHandler Return the handler for browser request events. :on-process-message-received (fn [CefClient,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
(merge->command-line
struct
{:as m
:keys [is-valid is-read-only copy init-from-argv init-from-string reset
get-argv get-command-line-string get-program set-program has-switches
has-switch get-switch-value get-switches append-switch
append-switch-with-value has-arguments get-arguments append-argument
prepend-wrapper]})
Merge properties of a CefCommandLine 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 are considered case-insensitive. This structure can be used before cef_initialize() is called.
:is-valid (fn [CefCommandLine]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-read-only (fn [CefCommandLine]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:copy (fn [CefCommandLine]) -> CefCommandLine Returns a writable copy of this object.
:init-from-argv (fn [CefCommandLine,int,Pointer]) -> void 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.
:init-from-string (fn [CefCommandLine,CefStringUtf16]) -> void Initialize the command line with the string returned by calling GetCommandLineW(). This function is only supported on Windows.
:reset (fn [CefCommandLine]) -> void Reset the command-line switches and arguments but leave the program component unchanged.
:get-argv (fn [CefCommandLine,Pointer]) -> void Retrieve the original command line string as a vector of strings. The argv array: { program, [(--|-|/)switch[=value]], [--], [argument] }
:get-command-line-string (fn [CefCommandLine]) -> CefStringUtf16 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().
:get-program (fn [CefCommandLine]) -> CefStringUtf16 Get the program part of the command line string (the first item). The resulting string must be freed by calling cef_string_userfree_free().
:set-program (fn [CefCommandLine,CefStringUtf16]) -> void Set the program part of the command line string (the first item).
:has-switches (fn [CefCommandLine]) -> int Returns true (1) if the command line has switches.
:has-switch (fn [CefCommandLine,CefStringUtf16]) -> int Returns true (1) if the command line contains the given switch.
:get-switch-value (fn [CefCommandLine,CefStringUtf16]) -> CefStringUtf16 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().
:get-switches (fn [CefCommandLine,Pointer]) -> void Returns the map of switch names and values. If a switch has no value an NULL string is returned.
:append-switch (fn [CefCommandLine,CefStringUtf16]) -> void Add a switch to the end of the command line. If the switch has no value pass an NULL value string.
:append-switch-with-value (fn [CefCommandLine,CefStringUtf16,CefStringUtf16]) -> void Add a switch with the specified value to the end of the command line.
:has-arguments (fn [CefCommandLine]) -> int True if there are remaining command line arguments.
:get-arguments (fn [CefCommandLine,Pointer]) -> void Get the remaining command line arguments.
:append-argument (fn [CefCommandLine,CefStringUtf16]) -> void Add an argument to the end of the command line.
:prepend-wrapper (fn [CefCommandLine,CefStringUtf16]) -> void Insert a command before the current command. Common for debuggers, like "valgrind" or "gdb --args".
Merge properties of a CefCommandLine 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 are considered case-insensitive. This structure can be used before cef_initialize() is called. :is-valid (fn [CefCommandLine]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-read-only (fn [CefCommandLine]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :copy (fn [CefCommandLine]) -> CefCommandLine Returns a writable copy of this object. :init-from-argv (fn [CefCommandLine,int,Pointer]) -> void 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. :init-from-string (fn [CefCommandLine,CefStringUtf16]) -> void Initialize the command line with the string returned by calling GetCommandLineW(). This function is only supported on Windows. :reset (fn [CefCommandLine]) -> void Reset the command-line switches and arguments but leave the program component unchanged. :get-argv (fn [CefCommandLine,Pointer]) -> void Retrieve the original command line string as a vector of strings. The argv array: { program, [(--|-|/)switch[=value]]*, [--], [argument]* } :get-command-line-string (fn [CefCommandLine]) -> CefStringUtf16 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(). :get-program (fn [CefCommandLine]) -> CefStringUtf16 Get the program part of the command line string (the first item). The resulting string must be freed by calling cef_string_userfree_free(). :set-program (fn [CefCommandLine,CefStringUtf16]) -> void Set the program part of the command line string (the first item). :has-switches (fn [CefCommandLine]) -> int Returns true (1) if the command line has switches. :has-switch (fn [CefCommandLine,CefStringUtf16]) -> int Returns true (1) if the command line contains the given switch. :get-switch-value (fn [CefCommandLine,CefStringUtf16]) -> CefStringUtf16 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(). :get-switches (fn [CefCommandLine,Pointer]) -> void Returns the map of switch names and values. If a switch has no value an NULL string is returned. :append-switch (fn [CefCommandLine,CefStringUtf16]) -> void Add a switch to the end of the command line. If the switch has no value pass an NULL value string. :append-switch-with-value (fn [CefCommandLine,CefStringUtf16,CefStringUtf16]) -> void Add a switch with the specified value to the end of the command line. :has-arguments (fn [CefCommandLine]) -> int True if there are remaining command line arguments. :get-arguments (fn [CefCommandLine,Pointer]) -> void Get the remaining command line arguments. :append-argument (fn [CefCommandLine,CefStringUtf16]) -> void Add an argument to the end of the command line. :prepend-wrapper (fn [CefCommandLine,CefStringUtf16]) -> void Insert a command before the current command. Common for debuggers, like "valgrind" or "gdb --args".
(merge->completion-callback struct {:as m :keys [on-complete]})
Merge properties of a CefCompletionCallback Generic callback structure used for asynchronous completion.
:on-complete (fn [CefCompletionCallback]) -> void Method that will be called once the task is complete.
Merge properties of a CefCompletionCallback Generic callback structure used for asynchronous completion. :on-complete (fn [CefCompletionCallback]) -> void Method that will be called once the task is complete.
(merge->composition-underline
struct
{:as m :keys [range color background-color thick style]})
Merge properties of a CefCompositionUnderline Structure representing IME composition underline information. This is a thin wrapper around Blink's WebCompositionUnderline class and should be kept in sync with that.
:range cef_range_t Underline character range.
:color cef_color_t Text color.
:background-color cef_color_t Background color.
:thick int Set to true (1) for thick underline.
:style cef_composition_underline_style_t Style.
Merge properties of a CefCompositionUnderline Structure representing IME composition underline information. This is a thin wrapper around Blink's WebCompositionUnderline class and should be kept in sync with that. :range cef_range_t Underline character range. :color cef_color_t Text color. :background-color cef_color_t Background color. :thick int Set to true (1) for thick underline. :style cef_composition_underline_style_t Style.
(merge->context-menu-handler struct
{:as m
:keys [on-before-context-menu run-context-menu
on-context-menu-command
on-context-menu-dismissed]})
Merge properties of a CefContextMenuHandler Implement this structure to handle context menu events. The functions of this structure will be called on the UI thread.
:on-before-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel]) -> void 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.
:run-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel,CefRunContextMenuCallback]) -> int 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.
:on-context-menu-command (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,int,int]) -> int 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.
:on-context-menu-dismissed (fn [CefContextMenuHandler,CefBrowser,CefFrame]) -> void Called when the context menu is dismissed irregardless of whether the menu was NULL or a command was selected.
Merge properties of a CefContextMenuHandler Implement this structure to handle context menu events. The functions of this structure will be called on the UI thread. :on-before-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel]) -> void 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. :run-context-menu (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,CefMenuModel,CefRunContextMenuCallback]) -> int 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. :on-context-menu-command (fn [CefContextMenuHandler,CefBrowser,CefFrame,CefContextMenuParams,int,int]) -> int 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. :on-context-menu-dismissed (fn [CefContextMenuHandler,CefBrowser,CefFrame]) -> void Called when the context menu is dismissed irregardless of whether the menu was NULL or a command was selected.
(merge->context-menu-params
struct
{:as m
:keys [get-xcoord get-ycoord get-type-flags get-link-url
get-unfiltered-link-url get-source-url has-image-contents
get-title-text get-page-url get-frame-url get-frame-charset
get-media-type get-media-state-flags get-selection-text
get-misspelled-word get-dictionary-suggestions is-editable
is-spell-check-enabled get-edit-state-flags is-custom-menu
is-pepper-menu]})
Merge properties of a CefContextMenuParams Provides information about the context menu state. The ethods of this structure can only be accessed on browser process the UI thread.
:get-xcoord (fn [CefContextMenuParams]) -> int Returns the X coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin.
:get-ycoord (fn [CefContextMenuParams]) -> int Returns the Y coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin.
:get-type-flags (fn [CefContextMenuParams]) -> int Returns flags representing the type of node that the context menu was invoked on.
:get-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-unfiltered-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-source-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:has-image-contents (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an image which has non- NULL contents.
:get-title-text (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-page-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-frame-url (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-frame-charset (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-media-type (fn [CefContextMenuParams]) -> int Returns the type of context node that the context menu was invoked on.
:get-media-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the media element, if any, that the context menu was invoked on.
:get-selection-text (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-misspelled-word (fn [CefContextMenuParams]) -> CefStringUtf16 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().
:get-dictionary-suggestions (fn [CefContextMenuParams,Pointer]) -> int 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.
:is-editable (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node.
:is-spell-check-enabled (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node where spell-check is enabled.
:get-edit-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the editable node, if any, that the context menu was invoked on.
:is-custom-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu contains items specified by the renderer process (for example, plugin placeholder or pepper plugin menu items).
:is-pepper-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked from a pepper plugin.
Merge properties of a CefContextMenuParams Provides information about the context menu state. The ethods of this structure can only be accessed on browser process the UI thread. :get-xcoord (fn [CefContextMenuParams]) -> int Returns the X coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin. :get-ycoord (fn [CefContextMenuParams]) -> int Returns the Y coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin. :get-type-flags (fn [CefContextMenuParams]) -> int Returns flags representing the type of node that the context menu was invoked on. :get-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-unfiltered-link-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-source-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :has-image-contents (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an image which has non- NULL contents. :get-title-text (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-page-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-frame-url (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-frame-charset (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-media-type (fn [CefContextMenuParams]) -> int Returns the type of context node that the context menu was invoked on. :get-media-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the media element, if any, that the context menu was invoked on. :get-selection-text (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-misspelled-word (fn [CefContextMenuParams]) -> CefStringUtf16 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(). :get-dictionary-suggestions (fn [CefContextMenuParams,Pointer]) -> int 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. :is-editable (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node. :is-spell-check-enabled (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked on an editable node where spell-check is enabled. :get-edit-state-flags (fn [CefContextMenuParams]) -> int Returns flags representing the actions supported by the editable node, if any, that the context menu was invoked on. :is-custom-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu contains items specified by the renderer process (for example, plugin placeholder or pepper plugin menu items). :is-pepper-menu (fn [CefContextMenuParams]) -> int Returns true (1) if the context menu was invoked from a pepper plugin.
(merge->cookie struct
{:as m
:keys [name value domain path secure httponly creation
last-access has-expires expires same-site priority]})
Merge properties of a CefCookie Cookie information.
:name cef_string_t The cookie name.
:value cef_string_t The cookie value.
:domain cef_string_t If |domain| is empty a host cookie will be created instead of a domain cookie. Domain cookies are stored with a leading "." and are visible to sub-domains whereas host cookies are not.
:path cef_string_t If |path| is non-empty only URLs at or below the path will get the cookie value.
:secure int If |secure| is true the cookie will only be sent for HTTPS requests.
:httponly int If |httponly| is true the cookie will only be sent for HTTP requests.
:creation cef_time_t The cookie creation date. This is automatically populated by the system on cookie creation.
:last-access cef_time_t The cookie last access date. This is automatically populated by the system on access.
:has-expires int The cookie expiration date is only valid if |has_expires| is true.
:same-site cef_cookie_same_site_t Same site.
:priority cef_cookie_priority_t Priority.
Merge properties of a CefCookie Cookie information. :name cef_string_t The cookie name. :value cef_string_t The cookie value. :domain cef_string_t If |domain| is empty a host cookie will be created instead of a domain cookie. Domain cookies are stored with a leading "." and are visible to sub-domains whereas host cookies are not. :path cef_string_t If |path| is non-empty only URLs at or below the path will get the cookie value. :secure int If |secure| is true the cookie will only be sent for HTTPS requests. :httponly int If |httponly| is true the cookie will only be sent for HTTP requests. :creation cef_time_t The cookie creation date. This is automatically populated by the system on cookie creation. :last-access cef_time_t The cookie last access date. This is automatically populated by the system on access. :has-expires int The cookie expiration date is only valid if |has_expires| is true. :same-site cef_cookie_same_site_t Same site. :priority cef_cookie_priority_t Priority.
(merge->cookie-access-filter struct
{:as m :keys [can-send-cookie can-save-cookie]})
Merge properties of a CefCookieAccessFilter 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.
:can-send-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefCookie]) -> int 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.
:can-save-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefResponse,CefCookie]) -> int 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.
Merge properties of a CefCookieAccessFilter 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. :can-send-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefCookie]) -> int 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. :can-save-cookie (fn [CefCookieAccessFilter,CefBrowser,CefFrame,CefRequest,CefResponse,CefCookie]) -> int 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.
(merge->cookie-manager struct
{:as m
:keys [set-supported-schemes visit-all-cookies
visit-url-cookies set-cookie delete-cookies
flush-store]})
Merge properties of a CefCookieManager Structure used for managing cookies. The functions of this structure may be called on any thread unless otherwise indicated.
:set-supported-schemes (fn [CefCookieManager,Pointer,int,CefCompletionCallback]) -> void Set the schemes supported by this manager. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Calling this function with an NULL |schemes| value and |include_defaults| set to false (0) will disable all loading and saving of cookies for this manager. If |callback| is non-NULL it will be executed asnychronously on the UI thread after the change has been applied. Must be called before any cookies are accessed.
:visit-all-cookies (fn [CefCookieManager,CefCookieVisitor]) -> int 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.
:visit-url-cookies (fn [CefCookieManager,CefStringUtf16,int,CefCookieVisitor]) -> int 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.
:set-cookie (fn [CefCookieManager,CefStringUtf16,CefCookie,CefSetCookieCallback]) -> int 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.
:delete-cookies (fn [CefCookieManager,CefStringUtf16,CefStringUtf16,CefDeleteCookiesCallback]) -> int 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.
:flush-store (fn [CefCookieManager,CefCompletionCallback]) -> int 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.
Merge properties of a CefCookieManager Structure used for managing cookies. The functions of this structure may be called on any thread unless otherwise indicated. :set-supported-schemes (fn [CefCookieManager,Pointer,int,CefCompletionCallback]) -> void Set the schemes supported by this manager. If |include_defaults| is true (1) the default schemes ("http", "https", "ws" and "wss") will also be supported. Calling this function with an NULL |schemes| value and |include_defaults| set to false (0) will disable all loading and saving of cookies for this manager. If |callback| is non-NULL it will be executed asnychronously on the UI thread after the change has been applied. Must be called before any cookies are accessed. :visit-all-cookies (fn [CefCookieManager,CefCookieVisitor]) -> int 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. :visit-url-cookies (fn [CefCookieManager,CefStringUtf16,int,CefCookieVisitor]) -> int 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. :set-cookie (fn [CefCookieManager,CefStringUtf16,CefCookie,CefSetCookieCallback]) -> int 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. :delete-cookies (fn [CefCookieManager,CefStringUtf16,CefStringUtf16,CefDeleteCookiesCallback]) -> int 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. :flush-store (fn [CefCookieManager,CefCompletionCallback]) -> int 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.
(merge->cookie-visitor struct {:as m :keys [visit]})
Merge properties of a CefCookieVisitor Structure to implement for visiting cookie values. The functions of this structure will always be called on the UI thread.
:visit (fn [CefCookieVisitor,CefCookie,int,int,Pointer]) -> int 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.
Merge properties of a CefCookieVisitor Structure to implement for visiting cookie values. The functions of this structure will always be called on the UI thread. :visit (fn [CefCookieVisitor,CefCookie,int,int,Pointer]) -> int 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.
(merge->cursor-info struct
{:as m :keys [hotspot image-scale-factor buffer size]})
Merge properties of a CefCursorInfo Structure representing cursor information. |buffer| will be |size.width|*|size.height|*4 bytes in size and represents a BGRA image with an upper-left origin.
Merge properties of a CefCursorInfo Structure representing cursor information. |buffer| will be |size.width|*|size.height|*4 bytes in size and represents a BGRA image with an upper-left origin.
(merge->delete-cookies-callback struct {:as m :keys [on-complete]})
Merge properties of a CefDeleteCookiesCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::delete_cookies().
:on-complete (fn [CefDeleteCookiesCallback,int]) -> void Method that will be called upon completion. |num_deleted| will be the number of cookies that were deleted.
Merge properties of a CefDeleteCookiesCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::delete_cookies(). :on-complete (fn [CefDeleteCookiesCallback,int]) -> void Method that will be called upon completion. |num_deleted| will be the number of cookies that were deleted.
(merge->dev-tools-message-observer
struct
{:as m
:keys [on-dev-tools-message on-dev-tools-method-result on-dev-tools-event
on-dev-tools-agent-attached on-dev-tools-agent-detached]})
Merge properties of a CefDevToolsMessageObserver Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The functions of this structure will be called on the browser process UI thread.
:on-dev-tools-message (fn [CefDevToolsMessageObserver,CefBrowser,Pointer,SizeT]) -> int 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).
:on-dev-tools-method-result (fn [CefDevToolsMessageObserver,CefBrowser,int,int,Pointer,SizeT]) -> void 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.
:on-dev-tools-event (fn [CefDevToolsMessageObserver,CefBrowser,CefStringUtf16,Pointer,SizeT]) -> void 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.
:on-dev-tools-agent-attached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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.
:on-dev-tools-agent-detached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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.
Merge properties of a CefDevToolsMessageObserver Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The functions of this structure will be called on the browser process UI thread. :on-dev-tools-message (fn [CefDevToolsMessageObserver,CefBrowser,Pointer,SizeT]) -> int 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). :on-dev-tools-method-result (fn [CefDevToolsMessageObserver,CefBrowser,int,int,Pointer,SizeT]) -> void 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. :on-dev-tools-event (fn [CefDevToolsMessageObserver,CefBrowser,CefStringUtf16,Pointer,SizeT]) -> void 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. :on-dev-tools-agent-attached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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. :on-dev-tools-agent-detached (fn [CefDevToolsMessageObserver,CefBrowser]) -> void 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.
(merge->dialog-handler struct {:as m :keys [on-file-dialog]})
Merge properties of a CefDialogHandler Implement this structure to handle dialog events. The functions of this structure will be called on the browser process UI thread.
:on-file-dialog (fn [CefDialogHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefFileDialogCallback]) -> int 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 any combination of (a) valid lower-cased MIME types (e.g. "text/" or "image/"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that should be selected by default. 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).
Merge properties of a CefDialogHandler Implement this structure to handle dialog events. The functions of this structure will be called on the browser process UI thread. :on-file-dialog (fn [CefDialogHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,Pointer,int,CefFileDialogCallback]) -> int 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 any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of the filter that should be selected by default. 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).
(merge->dictionary-value
struct
{:as m
:keys [is-valid is-owned is-read-only is-same is-equal copy get-size clear
has-key get-keys remove get-type get-value get-bool get-int get-double
get-string get-binary get-dictionary get-list set-value set-null
set-bool set-int set-double set-string set-binary set-dictionary
set-list]})
Merge properties of a CefDictionaryValue Structure representing a dictionary value. Can be used on any process and thread.
:is-valid (fn [CefDictionaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0).
:is-owned (fn [CefDictionaryValue]) -> int Returns true (1) if this object is currently owned by another object.
:is-read-only (fn [CefDictionaryValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:is-same (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa.
:is-equal (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefDictionaryValue,int]) -> CefDictionaryValue Returns a writable copy of this object. If |exclude_NULL_children| is true (1) any NULL dictionaries or lists will be excluded from the copy.
:get-size (fn [CefDictionaryValue]) -> SizeT Returns the number of values.
:clear (fn [CefDictionaryValue]) -> int Removes all values. Returns true (1) on success.
:has-key (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns true (1) if the current dictionary has a value for the given key.
:get-keys (fn [CefDictionaryValue,Pointer]) -> int Reads all keys for this dictionary into the specified vector.
:remove (fn [CefDictionaryValue,CefStringUtf16]) -> int Removes the value at the specified key. Returns true (1) is the value was removed successfully.
:get-type (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value type for the specified key.
:get-value (fn [CefDictionaryValue,CefStringUtf16]) -> CefValue Returns the value at the specified key. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object.
:get-bool (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type bool.
:get-int (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type int.
:get-double (fn [CefDictionaryValue,CefStringUtf16]) -> double Returns the value at the specified key as type double.
:get-string (fn [CefDictionaryValue,CefStringUtf16]) -> CefStringUtf16 Returns the value at the specified key as type string. The resulting string must be freed by calling cef_string_userfree_free().
:get-binary (fn [CefDictionaryValue,CefStringUtf16]) -> CefBinaryValue Returns the value at the specified key as type binary. The returned value will reference existing data.
:get-dictionary (fn [CefDictionaryValue,CefStringUtf16]) -> CefDictionaryValue Returns the value at the specified key as type dictionary. The returned value will reference existing data and modifications to the value will modify this object.
:get-list (fn [CefDictionaryValue,CefStringUtf16]) -> CefListValue Returns the value at the specified key as type list. The returned value will reference existing data and modifications to the value will modify this object.
:set-value (fn [CefDictionaryValue,CefStringUtf16,CefValue]) -> int Sets the value at the specified key. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object.
:set-null (fn [CefDictionaryValue,CefStringUtf16]) -> int Sets the value at the specified key as type null. Returns true (1) if the value was set successfully.
:set-bool (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type bool. Returns true (1) if the value was set successfully.
:set-int (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type int. Returns true (1) if the value was set successfully.
:set-double (fn [CefDictionaryValue,CefStringUtf16,double]) -> int Sets the value at the specified key as type double. Returns true (1) if the value was set successfully.
:set-string (fn [CefDictionaryValue,CefStringUtf16,CefStringUtf16]) -> int Sets the value at the specified key as type string. Returns true (1) if the value was set successfully.
:set-binary (fn [CefDictionaryValue,CefStringUtf16,CefBinaryValue]) -> int Sets the value at the specified key as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-dictionary (fn [CefDictionaryValue,CefStringUtf16,CefDictionaryValue]) -> int Sets the value at the specified key as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-list (fn [CefDictionaryValue,CefStringUtf16,CefListValue]) -> int Sets the value at the specified key as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
Merge properties of a CefDictionaryValue Structure representing a dictionary value. Can be used on any process and thread. :is-valid (fn [CefDictionaryValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0). :is-owned (fn [CefDictionaryValue]) -> int Returns true (1) if this object is currently owned by another object. :is-read-only (fn [CefDictionaryValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :is-same (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa. :is-equal (fn [CefDictionaryValue,CefDictionaryValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefDictionaryValue,int]) -> CefDictionaryValue Returns a writable copy of this object. If |exclude_NULL_children| is true (1) any NULL dictionaries or lists will be excluded from the copy. :get-size (fn [CefDictionaryValue]) -> SizeT Returns the number of values. :clear (fn [CefDictionaryValue]) -> int Removes all values. Returns true (1) on success. :has-key (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns true (1) if the current dictionary has a value for the given key. :get-keys (fn [CefDictionaryValue,Pointer]) -> int Reads all keys for this dictionary into the specified vector. :remove (fn [CefDictionaryValue,CefStringUtf16]) -> int Removes the value at the specified key. Returns true (1) is the value was removed successfully. :get-type (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value type for the specified key. :get-value (fn [CefDictionaryValue,CefStringUtf16]) -> CefValue Returns the value at the specified key. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object. :get-bool (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type bool. :get-int (fn [CefDictionaryValue,CefStringUtf16]) -> int Returns the value at the specified key as type int. :get-double (fn [CefDictionaryValue,CefStringUtf16]) -> double Returns the value at the specified key as type double. :get-string (fn [CefDictionaryValue,CefStringUtf16]) -> CefStringUtf16 Returns the value at the specified key as type string. The resulting string must be freed by calling cef_string_userfree_free(). :get-binary (fn [CefDictionaryValue,CefStringUtf16]) -> CefBinaryValue Returns the value at the specified key as type binary. The returned value will reference existing data. :get-dictionary (fn [CefDictionaryValue,CefStringUtf16]) -> CefDictionaryValue Returns the value at the specified key as type dictionary. The returned value will reference existing data and modifications to the value will modify this object. :get-list (fn [CefDictionaryValue,CefStringUtf16]) -> CefListValue Returns the value at the specified key as type list. The returned value will reference existing data and modifications to the value will modify this object. :set-value (fn [CefDictionaryValue,CefStringUtf16,CefValue]) -> int Sets the value at the specified key. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object. :set-null (fn [CefDictionaryValue,CefStringUtf16]) -> int Sets the value at the specified key as type null. Returns true (1) if the value was set successfully. :set-bool (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type bool. Returns true (1) if the value was set successfully. :set-int (fn [CefDictionaryValue,CefStringUtf16,int]) -> int Sets the value at the specified key as type int. Returns true (1) if the value was set successfully. :set-double (fn [CefDictionaryValue,CefStringUtf16,double]) -> int Sets the value at the specified key as type double. Returns true (1) if the value was set successfully. :set-string (fn [CefDictionaryValue,CefStringUtf16,CefStringUtf16]) -> int Sets the value at the specified key as type string. Returns true (1) if the value was set successfully. :set-binary (fn [CefDictionaryValue,CefStringUtf16,CefBinaryValue]) -> int Sets the value at the specified key as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-dictionary (fn [CefDictionaryValue,CefStringUtf16,CefDictionaryValue]) -> int Sets the value at the specified key as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-list (fn [CefDictionaryValue,CefStringUtf16,CefListValue]) -> int Sets the value at the specified key as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
(merge->display-handler struct
{:as m
:keys [on-address-change on-title-change
on-favicon-urlchange on-fullscreen-mode-change
on-tooltip on-status-message on-console-message
on-auto-resize on-loading-progress-change
on-cursor-change]})
Merge properties of a CefDisplayHandler Implement this structure to handle events related to browser display state. The functions of this structure will be called on the UI thread.
:on-address-change (fn [CefDisplayHandler,CefBrowser,CefFrame,CefStringUtf16]) -> void Called when a frame's address has changed.
:on-title-change (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the page title changes.
:on-favicon-urlchange (fn [CefDisplayHandler,CefBrowser,Pointer]) -> void Called when the page icon changes.
:on-fullscreen-mode-change (fn [CefDisplayHandler,CefBrowser,int]) -> void 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. The client is responsible for resizing the browser if desired.
:on-tooltip (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> int 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.
:on-status-message (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the browser receives a status message. |value| contains the text that will be displayed in the status message.
:on-console-message (fn [CefDisplayHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,int]) -> int Called to display a console message. Return true (1) to stop the message from being output to the console.
:on-auto-resize (fn [CefDisplayHandler,CefBrowser,CefSize]) -> int 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.
:on-loading-progress-change (fn [CefDisplayHandler,CefBrowser,double]) -> void Called when the overall page loading progress has changed. |progress| ranges from 0.0 to 1.0.
:on-cursor-change (fn [CefDisplayHandler,CefBrowser,Pointer,int,CefCursorInfo]) -> int 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.
Merge properties of a CefDisplayHandler Implement this structure to handle events related to browser display state. The functions of this structure will be called on the UI thread. :on-address-change (fn [CefDisplayHandler,CefBrowser,CefFrame,CefStringUtf16]) -> void Called when a frame's address has changed. :on-title-change (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the page title changes. :on-favicon-urlchange (fn [CefDisplayHandler,CefBrowser,Pointer]) -> void Called when the page icon changes. :on-fullscreen-mode-change (fn [CefDisplayHandler,CefBrowser,int]) -> void 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. The client is responsible for resizing the browser if desired. :on-tooltip (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> int 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. :on-status-message (fn [CefDisplayHandler,CefBrowser,CefStringUtf16]) -> void Called when the browser receives a status message. |value| contains the text that will be displayed in the status message. :on-console-message (fn [CefDisplayHandler,CefBrowser,int,CefStringUtf16,CefStringUtf16,int]) -> int Called to display a console message. Return true (1) to stop the message from being output to the console. :on-auto-resize (fn [CefDisplayHandler,CefBrowser,CefSize]) -> int 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. :on-loading-progress-change (fn [CefDisplayHandler,CefBrowser,double]) -> void Called when the overall page loading progress has changed. |progress| ranges from 0.0 to 1.0. :on-cursor-change (fn [CefDisplayHandler,CefBrowser,Pointer,int,CefCursorInfo]) -> int 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.
(merge->domdocument struct
{:as m
:keys [get-type get-document get-body get-head get-title
get-element-by-id get-focused-node has-selection
get-selection-start-offset get-selection-end-offset
get-selection-as-markup get-selection-as-text
get-base-url get-complete-url]})
Merge properties of a CefDomdocument Structure used to represent a DOM document. The functions of this structure should only be called on the render process main thread thread.
:get-type (fn [CefDomdocument]) -> int Returns the document type.
:get-document (fn [CefDomdocument]) -> CefDomnode Returns the root document node.
:get-body (fn [CefDomdocument]) -> CefDomnode Returns the BODY node of an HTML document.
:get-head (fn [CefDomdocument]) -> CefDomnode Returns the HEAD node of an HTML document.
:get-title (fn [CefDomdocument]) -> CefStringUtf16 Returns the title of an HTML document. The resulting string must be freed by calling cef_string_userfree_free().
:get-element-by-id (fn [CefDomdocument,CefStringUtf16]) -> CefDomnode Returns the document element with the specified ID value.
:get-focused-node (fn [CefDomdocument]) -> CefDomnode Returns the node that currently has keyboard focus.
:has-selection (fn [CefDomdocument]) -> int Returns true (1) if a portion of the document is selected.
:get-selection-start-offset (fn [CefDomdocument]) -> int Returns the selection offset within the start node.
:get-selection-end-offset (fn [CefDomdocument]) -> int Returns the selection offset within the end node.
:get-selection-as-markup (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as markup. The resulting string must be freed by calling cef_string_userfree_free().
:get-selection-as-text (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as text. The resulting string must be freed by calling cef_string_userfree_free().
:get-base-url (fn [CefDomdocument]) -> CefStringUtf16 Returns the base URL for the document. The resulting string must be freed by calling cef_string_userfree_free().
:get-complete-url (fn [CefDomdocument,CefStringUtf16]) -> CefStringUtf16 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().
Merge properties of a CefDomdocument Structure used to represent a DOM document. The functions of this structure should only be called on the render process main thread thread. :get-type (fn [CefDomdocument]) -> int Returns the document type. :get-document (fn [CefDomdocument]) -> CefDomnode Returns the root document node. :get-body (fn [CefDomdocument]) -> CefDomnode Returns the BODY node of an HTML document. :get-head (fn [CefDomdocument]) -> CefDomnode Returns the HEAD node of an HTML document. :get-title (fn [CefDomdocument]) -> CefStringUtf16 Returns the title of an HTML document. The resulting string must be freed by calling cef_string_userfree_free(). :get-element-by-id (fn [CefDomdocument,CefStringUtf16]) -> CefDomnode Returns the document element with the specified ID value. :get-focused-node (fn [CefDomdocument]) -> CefDomnode Returns the node that currently has keyboard focus. :has-selection (fn [CefDomdocument]) -> int Returns true (1) if a portion of the document is selected. :get-selection-start-offset (fn [CefDomdocument]) -> int Returns the selection offset within the start node. :get-selection-end-offset (fn [CefDomdocument]) -> int Returns the selection offset within the end node. :get-selection-as-markup (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as markup. The resulting string must be freed by calling cef_string_userfree_free(). :get-selection-as-text (fn [CefDomdocument]) -> CefStringUtf16 Returns the contents of this selection as text. The resulting string must be freed by calling cef_string_userfree_free(). :get-base-url (fn [CefDomdocument]) -> CefStringUtf16 Returns the base URL for the document. The resulting string must be freed by calling cef_string_userfree_free(). :get-complete-url (fn [CefDomdocument,CefStringUtf16]) -> CefStringUtf16 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().
(merge->domnode
struct
{:as m
:keys [get-type is-text is-element is-editable is-form-control-element
get-form-control-element-type is-same get-name get-value set-value
get-as-markup get-document get-parent get-previous-sibling
get-next-sibling has-children get-first-child get-last-child
get-element-tag-name has-element-attributes has-element-attribute
get-element-attribute get-element-attributes set-element-attribute
get-element-inner-text get-element-bounds]})
Merge properties of a CefDomnode Structure used to represent a DOM node. The functions of this structure should only be called on the render process main thread.
:get-type (fn [CefDomnode]) -> int Returns the type for this node.
:is-text (fn [CefDomnode]) -> int Returns true (1) if this is a text node.
:is-element (fn [CefDomnode]) -> int Returns true (1) if this is an element node.
:is-editable (fn [CefDomnode]) -> int Returns true (1) if this is an editable node.
:is-form-control-element (fn [CefDomnode]) -> int Returns true (1) if this is a form control element node.
:get-form-control-element-type (fn [CefDomnode]) -> CefStringUtf16 Returns the type of this form control element node. The resulting string must be freed by calling cef_string_userfree_free().
:is-same (fn [CefDomnode,CefDomnode]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:get-name (fn [CefDomnode]) -> CefStringUtf16 Returns the name of this node. The resulting string must be freed by calling cef_string_userfree_free().
:get-value (fn [CefDomnode]) -> CefStringUtf16 Returns the value of this node. The resulting string must be freed by calling cef_string_userfree_free().
:set-value (fn [CefDomnode,CefStringUtf16]) -> int Set the value of this node. Returns true (1) on success.
:get-as-markup (fn [CefDomnode]) -> CefStringUtf16 Returns the contents of this node as markup. The resulting string must be freed by calling cef_string_userfree_free().
:get-document (fn [CefDomnode]) -> CefDomdocument Returns the document associated with this node.
:get-parent (fn [CefDomnode]) -> CefDomnode Returns the parent node.
:get-previous-sibling (fn [CefDomnode]) -> CefDomnode Returns the previous sibling node.
:get-next-sibling (fn [CefDomnode]) -> CefDomnode Returns the next sibling node.
:has-children (fn [CefDomnode]) -> int Returns true (1) if this node has child nodes.
:get-first-child (fn [CefDomnode]) -> CefDomnode Return the first child node.
:get-last-child (fn [CefDomnode]) -> CefDomnode Returns the last child node.
:get-element-tag-name (fn [CefDomnode]) -> CefStringUtf16 The following functions are valid only for element nodes. Returns the tag name of this element. The resulting string must be freed by calling cef_string_userfree_free().
:has-element-attributes (fn [CefDomnode]) -> int Returns true (1) if this element has attributes.
:has-element-attribute (fn [CefDomnode,CefStringUtf16]) -> int Returns true (1) if this element has an attribute named |attrName|.
:get-element-attribute (fn [CefDomnode,CefStringUtf16]) -> CefStringUtf16 Returns the element attribute named |attrName|. The resulting string must be freed by calling cef_string_userfree_free().
:get-element-attributes (fn [CefDomnode,Pointer]) -> void Returns a map of all element attributes.
:set-element-attribute (fn [CefDomnode,CefStringUtf16,CefStringUtf16]) -> int Set the value for the element attribute named |attrName|. Returns true (1) on success.
:get-element-inner-text (fn [CefDomnode]) -> CefStringUtf16 Returns the inner text of the element. The resulting string must be freed by calling cef_string_userfree_free().
:get-element-bounds (fn [CefDomnode]) -> CefRect Returns the bounds of the element.
Merge properties of a CefDomnode Structure used to represent a DOM node. The functions of this structure should only be called on the render process main thread. :get-type (fn [CefDomnode]) -> int Returns the type for this node. :is-text (fn [CefDomnode]) -> int Returns true (1) if this is a text node. :is-element (fn [CefDomnode]) -> int Returns true (1) if this is an element node. :is-editable (fn [CefDomnode]) -> int Returns true (1) if this is an editable node. :is-form-control-element (fn [CefDomnode]) -> int Returns true (1) if this is a form control element node. :get-form-control-element-type (fn [CefDomnode]) -> CefStringUtf16 Returns the type of this form control element node. The resulting string must be freed by calling cef_string_userfree_free(). :is-same (fn [CefDomnode,CefDomnode]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :get-name (fn [CefDomnode]) -> CefStringUtf16 Returns the name of this node. The resulting string must be freed by calling cef_string_userfree_free(). :get-value (fn [CefDomnode]) -> CefStringUtf16 Returns the value of this node. The resulting string must be freed by calling cef_string_userfree_free(). :set-value (fn [CefDomnode,CefStringUtf16]) -> int Set the value of this node. Returns true (1) on success. :get-as-markup (fn [CefDomnode]) -> CefStringUtf16 Returns the contents of this node as markup. The resulting string must be freed by calling cef_string_userfree_free(). :get-document (fn [CefDomnode]) -> CefDomdocument Returns the document associated with this node. :get-parent (fn [CefDomnode]) -> CefDomnode Returns the parent node. :get-previous-sibling (fn [CefDomnode]) -> CefDomnode Returns the previous sibling node. :get-next-sibling (fn [CefDomnode]) -> CefDomnode Returns the next sibling node. :has-children (fn [CefDomnode]) -> int Returns true (1) if this node has child nodes. :get-first-child (fn [CefDomnode]) -> CefDomnode Return the first child node. :get-last-child (fn [CefDomnode]) -> CefDomnode Returns the last child node. :get-element-tag-name (fn [CefDomnode]) -> CefStringUtf16 The following functions are valid only for element nodes. Returns the tag name of this element. The resulting string must be freed by calling cef_string_userfree_free(). :has-element-attributes (fn [CefDomnode]) -> int Returns true (1) if this element has attributes. :has-element-attribute (fn [CefDomnode,CefStringUtf16]) -> int Returns true (1) if this element has an attribute named |attrName|. :get-element-attribute (fn [CefDomnode,CefStringUtf16]) -> CefStringUtf16 Returns the element attribute named |attrName|. The resulting string must be freed by calling cef_string_userfree_free(). :get-element-attributes (fn [CefDomnode,Pointer]) -> void Returns a map of all element attributes. :set-element-attribute (fn [CefDomnode,CefStringUtf16,CefStringUtf16]) -> int Set the value for the element attribute named |attrName|. Returns true (1) on success. :get-element-inner-text (fn [CefDomnode]) -> CefStringUtf16 Returns the inner text of the element. The resulting string must be freed by calling cef_string_userfree_free(). :get-element-bounds (fn [CefDomnode]) -> CefRect Returns the bounds of the element.
(merge->domvisitor struct {:as m :keys [visit]})
Merge properties of a CefDomvisitor Structure to implement for visiting the DOM. The functions of this structure will be called on the render process main thread.
:visit (fn [CefDomvisitor,CefDomdocument]) -> void 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.
Merge properties of a CefDomvisitor Structure to implement for visiting the DOM. The functions of this structure will be called on the render process main thread. :visit (fn [CefDomvisitor,CefDomdocument]) -> void 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.
(merge->download-handler struct
{:as m :keys [on-before-download on-download-updated]})
Merge properties of a CefDownloadHandler Structure used to handle file downloads. The functions of this structure will called on the browser process UI thread.
:on-before-download (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefStringUtf16,CefBeforeDownloadCallback]) -> void Called before a download begins. |suggested_name| is the suggested name for the download file. By default the download will be canceled. Execute |callback| either asynchronously or in this function to continue the download if desired. Do not keep a reference to |download_item| outside of this function.
:on-download-updated (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefDownloadItemCallback]) -> void 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.
Merge properties of a CefDownloadHandler Structure used to handle file downloads. The functions of this structure will called on the browser process UI thread. :on-before-download (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefStringUtf16,CefBeforeDownloadCallback]) -> void Called before a download begins. |suggested_name| is the suggested name for the download file. By default the download will be canceled. Execute |callback| either asynchronously or in this function to continue the download if desired. Do not keep a reference to |download_item| outside of this function. :on-download-updated (fn [CefDownloadHandler,CefBrowser,CefDownloadItem,CefDownloadItemCallback]) -> void 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.
(merge->download-image-callback struct
{:as m :keys [on-download-image-finished]})
Merge properties of a CefDownloadImageCallback Callback structure for cef_browser_host_t::DownloadImage. The functions of this structure will be called on the browser process UI thread.
:on-download-image-finished (fn [CefDownloadImageCallback,CefStringUtf16,int,CefImage]) -> void Method that will be executed when the image download has completed. |image_url| is the URL that was downloaded and |http_status_code| is the resulting HTTP status code. |image| is the resulting image, possibly at multiple scale factors, or NULL if the download failed.
Merge properties of a CefDownloadImageCallback Callback structure for cef_browser_host_t::DownloadImage. The functions of this structure will be called on the browser process UI thread. :on-download-image-finished (fn [CefDownloadImageCallback,CefStringUtf16,int,CefImage]) -> void Method that will be executed when the image download has completed. |image_url| is the URL that was downloaded and |http_status_code| is the resulting HTTP status code. |image| is the resulting image, possibly at multiple scale factors, or NULL if the download failed.
(merge->download-item
struct
{:as m
:keys [is-valid is-in-progress is-complete is-canceled get-current-speed
get-percent-complete get-total-bytes get-received-bytes get-start-time
get-end-time get-full-path get-id get-url get-original-url
get-suggested-file-name get-content-disposition get-mime-type]})
Merge properties of a CefDownloadItem Structure used to represent a download item.
:is-valid (fn [CefDownloadItem]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-in-progress (fn [CefDownloadItem]) -> int Returns true (1) if the download is in progress.
:is-complete (fn [CefDownloadItem]) -> int Returns true (1) if the download is complete.
:is-canceled (fn [CefDownloadItem]) -> int Returns true (1) if the download has been canceled or interrupted.
:get-current-speed (fn [CefDownloadItem]) -> long Returns a simple speed estimate in bytes/s.
:get-percent-complete (fn [CefDownloadItem]) -> int Returns the rough percent complete or -1 if the receive total size is unknown.
:get-total-bytes (fn [CefDownloadItem]) -> long Returns the total number of bytes.
:get-received-bytes (fn [CefDownloadItem]) -> long Returns the number of received bytes.
:get-start-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download started.
:get-end-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download ended.
:get-full-path (fn [CefDownloadItem]) -> CefStringUtf16 Returns the full path to the downloaded or downloading file. The resulting string must be freed by calling cef_string_userfree_free().
:get-id (fn [CefDownloadItem]) -> int Returns the unique identifier for this download.
:get-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the URL. The resulting string must be freed by calling cef_string_userfree_free().
:get-original-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the original URL before any redirections. The resulting string must be freed by calling cef_string_userfree_free().
:get-suggested-file-name (fn [CefDownloadItem]) -> CefStringUtf16 Returns the suggested file name. The resulting string must be freed by calling cef_string_userfree_free().
:get-content-disposition (fn [CefDownloadItem]) -> CefStringUtf16 Returns the content disposition. The resulting string must be freed by calling cef_string_userfree_free().
:get-mime-type (fn [CefDownloadItem]) -> CefStringUtf16 Returns the mime type. The resulting string must be freed by calling cef_string_userfree_free().
Merge properties of a CefDownloadItem Structure used to represent a download item. :is-valid (fn [CefDownloadItem]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-in-progress (fn [CefDownloadItem]) -> int Returns true (1) if the download is in progress. :is-complete (fn [CefDownloadItem]) -> int Returns true (1) if the download is complete. :is-canceled (fn [CefDownloadItem]) -> int Returns true (1) if the download has been canceled or interrupted. :get-current-speed (fn [CefDownloadItem]) -> long Returns a simple speed estimate in bytes/s. :get-percent-complete (fn [CefDownloadItem]) -> int Returns the rough percent complete or -1 if the receive total size is unknown. :get-total-bytes (fn [CefDownloadItem]) -> long Returns the total number of bytes. :get-received-bytes (fn [CefDownloadItem]) -> long Returns the number of received bytes. :get-start-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download started. :get-end-time (fn [CefDownloadItem]) -> CefTime Returns the time that the download ended. :get-full-path (fn [CefDownloadItem]) -> CefStringUtf16 Returns the full path to the downloaded or downloading file. The resulting string must be freed by calling cef_string_userfree_free(). :get-id (fn [CefDownloadItem]) -> int Returns the unique identifier for this download. :get-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the URL. The resulting string must be freed by calling cef_string_userfree_free(). :get-original-url (fn [CefDownloadItem]) -> CefStringUtf16 Returns the original URL before any redirections. The resulting string must be freed by calling cef_string_userfree_free(). :get-suggested-file-name (fn [CefDownloadItem]) -> CefStringUtf16 Returns the suggested file name. The resulting string must be freed by calling cef_string_userfree_free(). :get-content-disposition (fn [CefDownloadItem]) -> CefStringUtf16 Returns the content disposition. The resulting string must be freed by calling cef_string_userfree_free(). :get-mime-type (fn [CefDownloadItem]) -> CefStringUtf16 Returns the mime type. The resulting string must be freed by calling cef_string_userfree_free().
(merge->download-item-callback struct {:as m :keys [cancel pause resume]})
Merge properties of a CefDownloadItemCallback Callback structure used to asynchronously cancel a download.
:cancel (fn [CefDownloadItemCallback]) -> void Call to cancel the download.
:pause (fn [CefDownloadItemCallback]) -> void Call to pause the download.
:resume (fn [CefDownloadItemCallback]) -> void Call to resume the download.
Merge properties of a CefDownloadItemCallback Callback structure used to asynchronously cancel a download. :cancel (fn [CefDownloadItemCallback]) -> void Call to cancel the download. :pause (fn [CefDownloadItemCallback]) -> void Call to pause the download. :resume (fn [CefDownloadItemCallback]) -> void Call to resume the download.
(merge->drag-data
struct
{:as m
:keys [clone is-read-only is-link is-fragment is-file get-link-url
get-link-title get-link-metadata get-fragment-text get-fragment-html
get-fragment-base-url get-file-name get-file-contents get-file-names
set-link-url set-link-title set-link-metadata set-fragment-text
set-fragment-html set-fragment-base-url reset-file-contents add-file
get-image get-image-hotspot has-image]})
Merge properties of a CefDragData Structure used to represent drag data. The functions of this structure may be called on any thread.
:clone (fn [CefDragData]) -> CefDragData Returns a copy of the current object.
:is-read-only (fn [CefDragData]) -> int Returns true (1) if this object is read-only.
:is-link (fn [CefDragData]) -> int Returns true (1) if the drag data is a link.
:is-fragment (fn [CefDragData]) -> int Returns true (1) if the drag data is a text or html fragment.
:is-file (fn [CefDragData]) -> int Returns true (1) if the drag data is a file.
:get-link-url (fn [CefDragData]) -> CefStringUtf16 Return the link URL that is being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-link-title (fn [CefDragData]) -> CefStringUtf16 Return the title associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-link-metadata (fn [CefDragData]) -> CefStringUtf16 Return the metadata, if any, associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-fragment-text (fn [CefDragData]) -> CefStringUtf16 Return the plain text fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-fragment-html (fn [CefDragData]) -> CefStringUtf16 Return the text/html fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free().
:get-fragment-base-url (fn [CefDragData]) -> CefStringUtf16 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().
:get-file-name (fn [CefDragData]) -> CefStringUtf16 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().
:get-file-contents (fn [CefDragData,CefStreamWriter]) -> SizeT 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.
:get-file-names (fn [CefDragData,Pointer]) -> int Retrieve the list of file names that are being dragged into the browser window.
:set-link-url (fn [CefDragData,CefStringUtf16]) -> void Set the link URL that is being dragged.
:set-link-title (fn [CefDragData,CefStringUtf16]) -> void Set the title associated with the link being dragged.
:set-link-metadata (fn [CefDragData,CefStringUtf16]) -> void Set the metadata associated with the link being dragged.
:set-fragment-text (fn [CefDragData,CefStringUtf16]) -> void Set the plain text fragment that is being dragged.
:set-fragment-html (fn [CefDragData,CefStringUtf16]) -> void Set the text/html fragment that is being dragged.
:set-fragment-base-url (fn [CefDragData,CefStringUtf16]) -> void Set the base URL that the fragment came from.
:reset-file-contents (fn [CefDragData]) -> void 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.
:add-file (fn [CefDragData,CefStringUtf16,CefStringUtf16]) -> void Add a file that is being dragged into the webview.
:get-image (fn [CefDragData]) -> CefImage Get the image representation of drag data. May return NULL if no image representation is available.
:get-image-hotspot (fn [CefDragData]) -> CefPoint Get the image hotspot (drag start location relative to image dimensions).
:has-image (fn [CefDragData]) -> int Returns true (1) if an image representation of drag data is available.
Merge properties of a CefDragData Structure used to represent drag data. The functions of this structure may be called on any thread. :clone (fn [CefDragData]) -> CefDragData Returns a copy of the current object. :is-read-only (fn [CefDragData]) -> int Returns true (1) if this object is read-only. :is-link (fn [CefDragData]) -> int Returns true (1) if the drag data is a link. :is-fragment (fn [CefDragData]) -> int Returns true (1) if the drag data is a text or html fragment. :is-file (fn [CefDragData]) -> int Returns true (1) if the drag data is a file. :get-link-url (fn [CefDragData]) -> CefStringUtf16 Return the link URL that is being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-link-title (fn [CefDragData]) -> CefStringUtf16 Return the title associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-link-metadata (fn [CefDragData]) -> CefStringUtf16 Return the metadata, if any, associated with the link being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-fragment-text (fn [CefDragData]) -> CefStringUtf16 Return the plain text fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-fragment-html (fn [CefDragData]) -> CefStringUtf16 Return the text/html fragment that is being dragged. The resulting string must be freed by calling cef_string_userfree_free(). :get-fragment-base-url (fn [CefDragData]) -> CefStringUtf16 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(). :get-file-name (fn [CefDragData]) -> CefStringUtf16 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(). :get-file-contents (fn [CefDragData,CefStreamWriter]) -> SizeT 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. :get-file-names (fn [CefDragData,Pointer]) -> int Retrieve the list of file names that are being dragged into the browser window. :set-link-url (fn [CefDragData,CefStringUtf16]) -> void Set the link URL that is being dragged. :set-link-title (fn [CefDragData,CefStringUtf16]) -> void Set the title associated with the link being dragged. :set-link-metadata (fn [CefDragData,CefStringUtf16]) -> void Set the metadata associated with the link being dragged. :set-fragment-text (fn [CefDragData,CefStringUtf16]) -> void Set the plain text fragment that is being dragged. :set-fragment-html (fn [CefDragData,CefStringUtf16]) -> void Set the text/html fragment that is being dragged. :set-fragment-base-url (fn [CefDragData,CefStringUtf16]) -> void Set the base URL that the fragment came from. :reset-file-contents (fn [CefDragData]) -> void 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. :add-file (fn [CefDragData,CefStringUtf16,CefStringUtf16]) -> void Add a file that is being dragged into the webview. :get-image (fn [CefDragData]) -> CefImage Get the image representation of drag data. May return NULL if no image representation is available. :get-image-hotspot (fn [CefDragData]) -> CefPoint Get the image hotspot (drag start location relative to image dimensions). :has-image (fn [CefDragData]) -> int Returns true (1) if an image representation of drag data is available.
(merge->drag-handler struct
{:as m :keys [on-drag-enter on-draggable-regions-changed]})
Merge properties of a CefDragHandler Implement this structure to handle events related to dragging. The functions of this structure will be called on the UI thread.
:on-drag-enter (fn [CefDragHandler,CefBrowser,CefDragData,int]) -> int 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.
:on-draggable-regions-changed (fn [CefDragHandler,CefBrowser,CefFrame,SizeT,CefDraggableRegion]) -> void 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.
Merge properties of a CefDragHandler Implement this structure to handle events related to dragging. The functions of this structure will be called on the UI thread. :on-drag-enter (fn [CefDragHandler,CefBrowser,CefDragData,int]) -> int 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. :on-draggable-regions-changed (fn [CefDragHandler,CefBrowser,CefFrame,SizeT,CefDraggableRegion]) -> void 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.
(merge->draggable-region struct {:as m :keys [bounds draggable]})
Merge properties of a CefDraggableRegion Structure representing a draggable region.
:bounds cef_rect_t Bounds of the region.
:draggable int True (1) this this region is draggable and false (0) otherwise.
Merge properties of a CefDraggableRegion Structure representing a draggable region. :bounds cef_rect_t Bounds of the region. :draggable int True (1) this this region is draggable and false (0) otherwise.
(merge->extension struct
{:as m
:keys [get-identifier get-path get-manifest is-same
get-handler get-loader-context is-loaded unload]})
Merge properties of a CefExtension Object representing an extension. Methods may be called on any thread unless otherwise indicated.
:get-identifier (fn [CefExtension]) -> CefStringUtf16 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().
:get-path (fn [CefExtension]) -> CefStringUtf16 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().
:get-manifest (fn [CefExtension]) -> CefDictionaryValue Returns the extension manifest contents as a cef_dictionary_value_t object. See https://developer.chrome.com/extensions/manifest for details.
:is-same (fn [CefExtension,CefExtension]) -> int 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.
:get-handler (fn [CefExtension]) -> CefExtensionHandler Returns the handler for this extension. Will return NULL for internal extensions or if no handler was passed to cef_request_context_t::LoadExtension.
:get-loader-context (fn [CefExtension]) -> CefRequestContext 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.
:is-loaded (fn [CefExtension]) -> int Returns true (1) if this extension is currently loaded. Must be called on the browser process UI thread.
:unload (fn [CefExtension]) -> void 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.
Merge properties of a CefExtension Object representing an extension. Methods may be called on any thread unless otherwise indicated. :get-identifier (fn [CefExtension]) -> CefStringUtf16 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(). :get-path (fn [CefExtension]) -> CefStringUtf16 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(). :get-manifest (fn [CefExtension]) -> CefDictionaryValue Returns the extension manifest contents as a cef_dictionary_value_t object. See https://developer.chrome.com/extensions/manifest for details. :is-same (fn [CefExtension,CefExtension]) -> int 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. :get-handler (fn [CefExtension]) -> CefExtensionHandler Returns the handler for this extension. Will return NULL for internal extensions or if no handler was passed to cef_request_context_t::LoadExtension. :get-loader-context (fn [CefExtension]) -> CefRequestContext 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. :is-loaded (fn [CefExtension]) -> int Returns true (1) if this extension is currently loaded. Must be called on the browser process UI thread. :unload (fn [CefExtension]) -> void 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.
(merge->extension-handler
struct
{:as m
:keys [on-extension-load-failed on-extension-loaded on-extension-unloaded
on-before-background-browser on-before-browser get-active-browser
can-access-browser get-extension-resource]})
Merge properties of a CefExtensionHandler 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.
:on-extension-load-failed (fn [CefExtensionHandler,int]) -> void Called if the cef_request_context_t::LoadExtension request fails. |result| will be the error code.
:on-extension-loaded (fn [CefExtensionHandler,CefExtension]) -> void Called if the cef_request_context_t::LoadExtension request succeeds. |extension| is the loaded extension.
:on-extension-unloaded (fn [CefExtensionHandler,CefExtension]) -> void Called after the cef_extension_t::Unload request has completed.
:on-before-background-browser (fn [CefExtensionHandler,CefExtension,CefStringUtf16,Pointer,CefBrowserSettings]) -> int 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.
:on-before-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,CefBrowser,int,CefStringUtf16,int,Pointer,Pointer,CefBrowserSettings]) -> int 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.
:get-active-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int]) -> CefBrowser 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).
:can-access-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int,CefBrowser]) -> int 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).
:get-extension-resource (fn [CefExtensionHandler,CefExtension,CefBrowser,CefStringUtf16,CefGetExtensionResourceCallback]) -> int 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.
Merge properties of a CefExtensionHandler 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. :on-extension-load-failed (fn [CefExtensionHandler,int]) -> void Called if the cef_request_context_t::LoadExtension request fails. |result| will be the error code. :on-extension-loaded (fn [CefExtensionHandler,CefExtension]) -> void Called if the cef_request_context_t::LoadExtension request succeeds. |extension| is the loaded extension. :on-extension-unloaded (fn [CefExtensionHandler,CefExtension]) -> void Called after the cef_extension_t::Unload request has completed. :on-before-background-browser (fn [CefExtensionHandler,CefExtension,CefStringUtf16,Pointer,CefBrowserSettings]) -> int 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. :on-before-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,CefBrowser,int,CefStringUtf16,int,Pointer,Pointer,CefBrowserSettings]) -> int 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. :get-active-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int]) -> CefBrowser 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). :can-access-browser (fn [CefExtensionHandler,CefExtension,CefBrowser,int,CefBrowser]) -> int 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). :get-extension-resource (fn [CefExtensionHandler,CefExtension,CefBrowser,CefStringUtf16,CefGetExtensionResourceCallback]) -> int 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.
(merge->file-dialog-callback struct {:as m :keys [cont cancel]})
Merge properties of a CefFileDialogCallback Callback structure for asynchronous continuation of file dialog requests.
:cont (fn [CefFileDialogCallback,int,Pointer]) -> void Continue the file selection. |selected_accept_filter| should be the 0-based index of the value selected from the accept filters array passed to cef_dialog_handler_t::OnFileDialog. |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().
:cancel (fn [CefFileDialogCallback]) -> void Cancel the file selection.
Merge properties of a CefFileDialogCallback Callback structure for asynchronous continuation of file dialog requests. :cont (fn [CefFileDialogCallback,int,Pointer]) -> void Continue the file selection. |selected_accept_filter| should be the 0-based index of the value selected from the accept filters array passed to cef_dialog_handler_t::OnFileDialog. |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(). :cancel (fn [CefFileDialogCallback]) -> void Cancel the file selection.
(merge->find-handler struct {:as m :keys [on-find-result]})
Merge properties of a CefFindHandler Implement this structure to handle events related to find results. The functions of this structure will be called on the UI thread.
:on-find-result (fn [CefFindHandler,CefBrowser,int,int,CefRect,int,int]) -> void Called to report find results returned by cef_browser_host_t::find(). |identifer| is the identifier passed to find(), |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.
Merge properties of a CefFindHandler Implement this structure to handle events related to find results. The functions of this structure will be called on the UI thread. :on-find-result (fn [CefFindHandler,CefBrowser,int,int,CefRect,int,int]) -> void Called to report find results returned by cef_browser_host_t::find(). |identifer| is the identifier passed to find(), |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.
(merge->focus-handler struct
{:as m :keys [on-take-focus on-set-focus on-got-focus]})
Merge properties of a CefFocusHandler Implement this structure to handle events related to focus. The functions of this structure will be called on the UI thread.
:on-take-focus (fn [CefFocusHandler,CefBrowser,int]) -> void 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.
:on-set-focus (fn [CefFocusHandler,CefBrowser,int]) -> int 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.
:on-got-focus (fn [CefFocusHandler,CefBrowser]) -> void Called when the browser component has received focus.
Merge properties of a CefFocusHandler Implement this structure to handle events related to focus. The functions of this structure will be called on the UI thread. :on-take-focus (fn [CefFocusHandler,CefBrowser,int]) -> void 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. :on-set-focus (fn [CefFocusHandler,CefBrowser,int]) -> int 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. :on-got-focus (fn [CefFocusHandler,CefBrowser]) -> void Called when the browser component has received focus.
(merge->frame
struct
{:as m
:keys [is-valid undo redo cut copy paste del select-all view-source
get-source get-text load-request load-url execute-java-script is-main
is-focused get-name get-identifier get-parent get-url get-browser
get-v8context visit-dom create-urlrequest send-process-message]})
Merge properties of a CefFrame 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.
:is-valid (fn [CefFrame]) -> int True if this object is currently attached to a valid frame.
:undo (fn [CefFrame]) -> void Execute undo in this frame.
:redo (fn [CefFrame]) -> void Execute redo in this frame.
:cut (fn [CefFrame]) -> void Execute cut in this frame.
:copy (fn [CefFrame]) -> void Execute copy in this frame.
:paste (fn [CefFrame]) -> void Execute paste in this frame.
:del (fn [CefFrame]) -> void Execute delete in this frame.
:select-all (fn [CefFrame]) -> void Execute select all in this frame.
:view-source (fn [CefFrame]) -> void 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.
:get-source (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's HTML source as a string sent to the specified visitor.
:get-text (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's display text as a string sent to the specified visitor.
:load-request (fn [CefFrame,CefRequest]) -> void 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).
:load-url (fn [CefFrame,CefStringUtf16]) -> void Load the specified |url|.
:execute-java-script (fn [CefFrame,CefStringUtf16,CefStringUtf16,int]) -> void 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.
:is-main (fn [CefFrame]) -> int Returns true (1) if this is the main (top-level) frame.
:is-focused (fn [CefFrame]) -> int Returns true (1) if this is the focused frame.
:get-name (fn [CefFrame]) -> CefStringUtf16 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().
:get-identifier (fn [CefFrame]) -> long Returns the globally unique identifier for this frame or < 0 if the underlying frame does not yet exist.
:get-parent (fn [CefFrame]) -> CefFrame Returns the parent of this frame or NULL if this is the main (top-level) frame.
:get-url (fn [CefFrame]) -> CefStringUtf16 Returns the URL currently loaded in this frame. The resulting string must be freed by calling cef_string_userfree_free().
:get-browser (fn [CefFrame]) -> CefBrowser Returns the browser that this frame belongs to.
:get-v8context (fn [CefFrame]) -> CefV8context Get the V8 context associated with the frame. This function can only be called from the render process.
:visit-dom (fn [CefFrame,CefDomvisitor]) -> void Visit the DOM document. This function can only be called from the render process.
:create-urlrequest (fn [CefFrame,CefRequest,CefUrlrequestClient]) -> CefUrlrequest Create a new URL request that will be treated as originating from this frame and the associated browser. This request may be intercepted by the client via cef_resource_request_handler_t or cef_scheme_handler_factory_t. 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). Requests may originate from both the browser process and the render process. For requests originating from the browser process:
:send-process-message (fn [CefFrame,int,CefProcessMessage]) -> void Send a message to the specified |target_process|. 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.
Merge properties of a CefFrame 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. :is-valid (fn [CefFrame]) -> int True if this object is currently attached to a valid frame. :undo (fn [CefFrame]) -> void Execute undo in this frame. :redo (fn [CefFrame]) -> void Execute redo in this frame. :cut (fn [CefFrame]) -> void Execute cut in this frame. :copy (fn [CefFrame]) -> void Execute copy in this frame. :paste (fn [CefFrame]) -> void Execute paste in this frame. :del (fn [CefFrame]) -> void Execute delete in this frame. :select-all (fn [CefFrame]) -> void Execute select all in this frame. :view-source (fn [CefFrame]) -> void 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. :get-source (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's HTML source as a string sent to the specified visitor. :get-text (fn [CefFrame,CefStringVisitor]) -> void Retrieve this frame's display text as a string sent to the specified visitor. :load-request (fn [CefFrame,CefRequest]) -> void 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). :load-url (fn [CefFrame,CefStringUtf16]) -> void Load the specified |url|. :execute-java-script (fn [CefFrame,CefStringUtf16,CefStringUtf16,int]) -> void 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. :is-main (fn [CefFrame]) -> int Returns true (1) if this is the main (top-level) frame. :is-focused (fn [CefFrame]) -> int Returns true (1) if this is the focused frame. :get-name (fn [CefFrame]) -> CefStringUtf16 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(). :get-identifier (fn [CefFrame]) -> long Returns the globally unique identifier for this frame or < 0 if the underlying frame does not yet exist. :get-parent (fn [CefFrame]) -> CefFrame Returns the parent of this frame or NULL if this is the main (top-level) frame. :get-url (fn [CefFrame]) -> CefStringUtf16 Returns the URL currently loaded in this frame. The resulting string must be freed by calling cef_string_userfree_free(). :get-browser (fn [CefFrame]) -> CefBrowser Returns the browser that this frame belongs to. :get-v8context (fn [CefFrame]) -> CefV8context Get the V8 context associated with the frame. This function can only be called from the render process. :visit-dom (fn [CefFrame,CefDomvisitor]) -> void Visit the DOM document. This function can only be called from the render process. :create-urlrequest (fn [CefFrame,CefRequest,CefUrlrequestClient]) -> CefUrlrequest Create a new URL request that will be treated as originating from this frame and the associated browser. This request may be intercepted by the client via cef_resource_request_handler_t or cef_scheme_handler_factory_t. 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). Requests may originate from both the browser process and the render process. For requests originating from the browser process: - POST data may only contain a single element of type PDE_TYPE_FILE or PDE_TYPE_BYTES. For requests originating from the render process: - POST data may only contain a single element of type PDE_TYPE_BYTES. - If the response contains Content-Disposition or Mime-Type header values that would not normally be rendered then the response may receive special handling inside the browser (for example, via the file download code path instead of the URL request code path). The |request| object will be marked as read-only after calling this function. :send-process-message (fn [CefFrame,int,CefProcessMessage]) -> void Send a message to the specified |target_process|. 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.
(merge->get-extension-resource-callback struct {:as m :keys [cont cancel]})
Merge properties of a CefGetExtensionResourceCallback Callback structure used for asynchronous continuation of cef_extension_handler_t::GetExtensionResource.
:cont (fn [CefGetExtensionResourceCallback,CefStreamReader]) -> void Continue the request. Read the resource contents from |stream|.
:cancel (fn [CefGetExtensionResourceCallback]) -> void Cancel the request.
Merge properties of a CefGetExtensionResourceCallback Callback structure used for asynchronous continuation of cef_extension_handler_t::GetExtensionResource. :cont (fn [CefGetExtensionResourceCallback,CefStreamReader]) -> void Continue the request. Read the resource contents from |stream|. :cancel (fn [CefGetExtensionResourceCallback]) -> void Cancel the request.
(merge->image struct
{:as m
:keys [is-empty is-same add-bitmap add-png add-jpeg get-width
get-height has-representation remove-representation
get-representation-info get-as-bitmap get-as-png
get-as-jpeg]})
Merge properties of a CefImage 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.
:is-empty (fn [CefImage]) -> int Returns true (1) if this Image is NULL.
:is-same (fn [CefImage,CefImage]) -> int Returns true (1) if this Image and |that| Image share the same underlying storage. Will also return true (1) if both images are NULL.
:add-bitmap (fn [CefImage,float,int,int,int,int,Pointer,SizeT]) -> int 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.
:add-png (fn [CefImage,float,Pointer,SizeT]) -> int 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.
:add-jpeg (fn [CefImage,float,Pointer,SizeT]) -> int 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.
:get-width (fn [CefImage]) -> SizeT Returns the image width in density independent pixel (DIP) units.
:get-height (fn [CefImage]) -> SizeT Returns the image height in density independent pixel (DIP) units.
:has-representation (fn [CefImage,float]) -> int Returns true (1) if this image contains a representation for |scale_factor|.
:remove-representation (fn [CefImage,float]) -> int Removes the representation for |scale_factor|. Returns true (1) on success.
:get-representation-info (fn [CefImage,float,Pointer,Pointer,Pointer]) -> int 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.
:get-as-bitmap (fn [CefImage,float,int,int,Pointer,Pointer]) -> CefBinaryValue 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.
:get-as-png (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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.
:get-as-jpeg (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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.
Merge properties of a CefImage 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. :is-empty (fn [CefImage]) -> int Returns true (1) if this Image is NULL. :is-same (fn [CefImage,CefImage]) -> int Returns true (1) if this Image and |that| Image share the same underlying storage. Will also return true (1) if both images are NULL. :add-bitmap (fn [CefImage,float,int,int,int,int,Pointer,SizeT]) -> int 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. :add-png (fn [CefImage,float,Pointer,SizeT]) -> int 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. :add-jpeg (fn [CefImage,float,Pointer,SizeT]) -> int 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. :get-width (fn [CefImage]) -> SizeT Returns the image width in density independent pixel (DIP) units. :get-height (fn [CefImage]) -> SizeT Returns the image height in density independent pixel (DIP) units. :has-representation (fn [CefImage,float]) -> int Returns true (1) if this image contains a representation for |scale_factor|. :remove-representation (fn [CefImage,float]) -> int Removes the representation for |scale_factor|. Returns true (1) on success. :get-representation-info (fn [CefImage,float,Pointer,Pointer,Pointer]) -> int 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. :get-as-bitmap (fn [CefImage,float,int,int,Pointer,Pointer]) -> CefBinaryValue 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. :get-as-png (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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. :get-as-jpeg (fn [CefImage,float,int,Pointer,Pointer]) -> CefBinaryValue 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.
(merge->insets struct {:as m :keys [top left bottom right]})
Merge properties of a CefInsets Structure representing insets.
Merge properties of a CefInsets Structure representing insets.
(merge->jsdialog-callback struct {:as m :keys [cont]})
Merge properties of a CefJsdialogCallback Callback structure used for asynchronous continuation of JavaScript dialog requests.
:cont (fn [CefJsdialogCallback,int,CefStringUtf16]) -> void 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.
Merge properties of a CefJsdialogCallback Callback structure used for asynchronous continuation of JavaScript dialog requests. :cont (fn [CefJsdialogCallback,int,CefStringUtf16]) -> void 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.
(merge->jsdialog-handler struct
{:as m
:keys [on-jsdialog on-before-unload-dialog
on-reset-dialog-state on-dialog-closed]})
Merge properties of a CefJsdialogHandler Implement this structure to handle events related to JavaScript dialogs. The functions of this structure will be called on the UI thread.
:on-jsdialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefJsdialogCallback,Pointer]) -> int 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.
:on-before-unload-dialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefJsdialogCallback]) -> int 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.
:on-reset-dialog-state (fn [CefJsdialogHandler,CefBrowser]) -> void 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.
:on-dialog-closed (fn [CefJsdialogHandler,CefBrowser]) -> void Called when the default implementation dialog is closed.
Merge properties of a CefJsdialogHandler Implement this structure to handle events related to JavaScript dialogs. The functions of this structure will be called on the UI thread. :on-jsdialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefJsdialogCallback,Pointer]) -> int 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. :on-before-unload-dialog (fn [CefJsdialogHandler,CefBrowser,CefStringUtf16,int,CefJsdialogCallback]) -> int 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. :on-reset-dialog-state (fn [CefJsdialogHandler,CefBrowser]) -> void 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. :on-dialog-closed (fn [CefJsdialogHandler,CefBrowser]) -> void Called when the default implementation dialog is closed.
(merge->key-event struct
{:as m
:keys [type modifiers windows-key-code native-key-code
is-system-key character unmodified-character
focus-on-editable-field]})
Merge properties of a CefKeyEvent Structure representing keyboard event information.
:type cef_key_event_type_t The type of keyboard event.
:modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
:windows-key-code int The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values.
:native-key-code int The actual key code genenerated by the platform.
:is-system-key int Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). This value will always be false on non-Windows platforms.
:character char16 The character generated by the keystroke.
:unmodified-character char16 Same as |character| but unmodified by any concurrently-held modifiers (except shift). This is useful for working out shortcut keys.
:focus-on-editable-field int True if the focus is currently on an editable field on the page. This is useful for determining if standard key events should be intercepted.
Merge properties of a CefKeyEvent Structure representing keyboard event information. :type cef_key_event_type_t The type of keyboard event. :modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values. :windows-key-code int The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. :native-key-code int The actual key code genenerated by the platform. :is-system-key int Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). This value will always be false on non-Windows platforms. :character char16 The character generated by the keystroke. :unmodified-character char16 Same as |character| but unmodified by any concurrently-held modifiers (except shift). This is useful for working out shortcut keys. :focus-on-editable-field int True if the focus is currently on an editable field on the page. This is useful for determining if standard key events should be intercepted.
(merge->keyboard-handler struct {:as m :keys [on-pre-key-event on-key-event]})
Merge properties of a CefKeyboardHandler Implement this structure to handle events related to keyboard input. The functions of this structure will be called on the UI thread.
:on-pre-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer,Pointer]) -> int 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).
:on-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer]) -> int 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.
Merge properties of a CefKeyboardHandler Implement this structure to handle events related to keyboard input. The functions of this structure will be called on the UI thread. :on-pre-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer,Pointer]) -> int 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). :on-key-event (fn [CefKeyboardHandler,CefBrowser,CefKeyEvent,Pointer]) -> int 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.
(merge->life-span-handler
struct
{:as m :keys [on-before-popup on-after-created do-close on-before-close]})
Merge properties of a CefLifeSpanHandler 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.
:on-before-popup (fn [CefLifeSpanHandler,CefBrowser,CefFrame,CefStringUtf16,CefStringUtf16,int,int,CefPopupFeatures,Pointer,Pointer,CefBrowserSettings,Pointer,Pointer]) -> int 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.
:on-after-created (fn [CefLifeSpanHandler,CefBrowser]) -> void Called after a new browser is created. This callback will be the first notification that references |browser|.
:do-close (fn [CefLifeSpanHandler,CefBrowser]) -> int Called when a browser has recieved 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.
:on-before-close (fn [CefLifeSpanHandler,CefBrowser]) -> void 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 GetIdentifier or IsSame) after this callback returns. This callback will be the last notification that references |browser| on the UI thread. 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 function is called. See do_close() documentation for additional usage information.
Merge properties of a CefLifeSpanHandler 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. :on-before-popup (fn [CefLifeSpanHandler,CefBrowser,CefFrame,CefStringUtf16,CefStringUtf16,int,int,CefPopupFeatures,Pointer,Pointer,CefBrowserSettings,Pointer,Pointer]) -> int 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. :on-after-created (fn [CefLifeSpanHandler,CefBrowser]) -> void Called after a new browser is created. This callback will be the first notification that references |browser|. :do-close (fn [CefLifeSpanHandler,CefBrowser]) -> int Called when a browser has recieved 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. :on-before-close (fn [CefLifeSpanHandler,CefBrowser]) -> void 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 GetIdentifier or IsSame) after this callback returns. This callback will be the last notification that references |browser| on the UI thread. 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 function is called. See do_close() documentation for additional usage information.
(merge->list-value
struct
{:as m
:keys [is-valid is-owned is-read-only is-same is-equal copy set-size get-size
clear remove get-type get-value get-bool get-int get-double get-string
get-binary get-dictionary get-list set-value set-null set-bool set-int
set-double set-string set-binary set-dictionary set-list]})
Merge properties of a CefListValue Structure representing a list value. Can be used on any process and thread.
:is-valid (fn [CefListValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0).
:is-owned (fn [CefListValue]) -> int Returns true (1) if this object is currently owned by another object.
:is-read-only (fn [CefListValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:is-same (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa.
:is-equal (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefListValue]) -> CefListValue Returns a writable copy of this object.
:set-size (fn [CefListValue,SizeT]) -> int Sets the number of values. If the number of values is expanded all new value slots will default to type null. Returns true (1) on success.
:get-size (fn [CefListValue]) -> SizeT Returns the number of values.
:clear (fn [CefListValue]) -> int Removes all values. Returns true (1) on success.
:remove (fn [CefListValue,SizeT]) -> int Removes the value at the specified index.
:get-type (fn [CefListValue,SizeT]) -> int Returns the value type at the specified index.
:get-value (fn [CefListValue,SizeT]) -> CefValue Returns the value at the specified index. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object.
:get-bool (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type bool.
:get-int (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type int.
:get-double (fn [CefListValue,SizeT]) -> double Returns the value at the specified index as type double.
:get-string (fn [CefListValue,SizeT]) -> CefStringUtf16 Returns the value at the specified index as type string. The resulting string must be freed by calling cef_string_userfree_free().
:get-binary (fn [CefListValue,SizeT]) -> CefBinaryValue Returns the value at the specified index as type binary. The returned value will reference existing data.
:get-dictionary (fn [CefListValue,SizeT]) -> CefDictionaryValue Returns the value at the specified index as type dictionary. The returned value will reference existing data and modifications to the value will modify this object.
:get-list (fn [CefListValue,SizeT]) -> CefListValue Returns the value at the specified index as type list. The returned value will reference existing data and modifications to the value will modify this object.
:set-value (fn [CefListValue,SizeT,CefValue]) -> int Sets the value at the specified index. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object.
:set-null (fn [CefListValue,SizeT]) -> int Sets the value at the specified index as type null. Returns true (1) if the value was set successfully.
:set-bool (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type bool. Returns true (1) if the value was set successfully.
:set-int (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type int. Returns true (1) if the value was set successfully.
:set-double (fn [CefListValue,SizeT,double]) -> int Sets the value at the specified index as type double. Returns true (1) if the value was set successfully.
:set-string (fn [CefListValue,SizeT,CefStringUtf16]) -> int Sets the value at the specified index as type string. Returns true (1) if the value was set successfully.
:set-binary (fn [CefListValue,SizeT,CefBinaryValue]) -> int Sets the value at the specified index as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-dictionary (fn [CefListValue,SizeT,CefDictionaryValue]) -> int Sets the value at the specified index as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
:set-list (fn [CefListValue,SizeT,CefListValue]) -> int Sets the value at the specified index as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
Merge properties of a CefListValue Structure representing a list value. Can be used on any process and thread. :is-valid (fn [CefListValue]) -> int Returns true (1) if this object is valid. This object may become invalid if the underlying data is owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. Do not call any other functions if this function returns false (0). :is-owned (fn [CefListValue]) -> int Returns true (1) if this object is currently owned by another object. :is-read-only (fn [CefListValue]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :is-same (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa. :is-equal (fn [CefListValue,CefListValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefListValue]) -> CefListValue Returns a writable copy of this object. :set-size (fn [CefListValue,SizeT]) -> int Sets the number of values. If the number of values is expanded all new value slots will default to type null. Returns true (1) on success. :get-size (fn [CefListValue]) -> SizeT Returns the number of values. :clear (fn [CefListValue]) -> int Removes all values. Returns true (1) on success. :remove (fn [CefListValue,SizeT]) -> int Removes the value at the specified index. :get-type (fn [CefListValue,SizeT]) -> int Returns the value type at the specified index. :get-value (fn [CefListValue,SizeT]) -> CefValue Returns the value at the specified index. For simple types the returned value will copy existing data and modifications to the value will not modify this object. For complex types (binary, dictionary and list) the returned value will reference existing data and modifications to the value will modify this object. :get-bool (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type bool. :get-int (fn [CefListValue,SizeT]) -> int Returns the value at the specified index as type int. :get-double (fn [CefListValue,SizeT]) -> double Returns the value at the specified index as type double. :get-string (fn [CefListValue,SizeT]) -> CefStringUtf16 Returns the value at the specified index as type string. The resulting string must be freed by calling cef_string_userfree_free(). :get-binary (fn [CefListValue,SizeT]) -> CefBinaryValue Returns the value at the specified index as type binary. The returned value will reference existing data. :get-dictionary (fn [CefListValue,SizeT]) -> CefDictionaryValue Returns the value at the specified index as type dictionary. The returned value will reference existing data and modifications to the value will modify this object. :get-list (fn [CefListValue,SizeT]) -> CefListValue Returns the value at the specified index as type list. The returned value will reference existing data and modifications to the value will modify this object. :set-value (fn [CefListValue,SizeT,CefValue]) -> int Sets the value at the specified index. Returns true (1) if the value was set successfully. If |value| represents simple data then the underlying data will be copied and modifications to |value| will not modify this object. If |value| represents complex data (binary, dictionary or list) then the underlying data will be referenced and modifications to |value| will modify this object. :set-null (fn [CefListValue,SizeT]) -> int Sets the value at the specified index as type null. Returns true (1) if the value was set successfully. :set-bool (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type bool. Returns true (1) if the value was set successfully. :set-int (fn [CefListValue,SizeT,int]) -> int Sets the value at the specified index as type int. Returns true (1) if the value was set successfully. :set-double (fn [CefListValue,SizeT,double]) -> int Sets the value at the specified index as type double. Returns true (1) if the value was set successfully. :set-string (fn [CefListValue,SizeT,CefStringUtf16]) -> int Sets the value at the specified index as type string. Returns true (1) if the value was set successfully. :set-binary (fn [CefListValue,SizeT,CefBinaryValue]) -> int Sets the value at the specified index as type binary. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-dictionary (fn [CefListValue,SizeT,CefDictionaryValue]) -> int Sets the value at the specified index as type dict. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated. :set-list (fn [CefListValue,SizeT,CefListValue]) -> int Sets the value at the specified index as type list. Returns true (1) if the value was set successfully. If |value| is currently owned by another object then the value will be copied and the |value| reference will not change. Otherwise, ownership will be transferred to this object and the |value| reference will be invalidated.
(merge->load-handler struct
{:as m
:keys [on-loading-state-change on-load-start on-load-end
on-load-error]})
Merge properties of a CefLoadHandler 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).
:on-loading-state-change (fn [CefLoadHandler,CefBrowser,int,int,int]) -> void 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.
:on-load-start (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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.
:on-load-end (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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.
:on-load-error (fn [CefLoadHandler,CefBrowser,CefFrame,int,CefStringUtf16,CefStringUtf16]) -> void 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.
Merge properties of a CefLoadHandler 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). :on-loading-state-change (fn [CefLoadHandler,CefBrowser,int,int,int]) -> void 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. :on-load-start (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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. :on-load-end (fn [CefLoadHandler,CefBrowser,CefFrame,int]) -> void 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. :on-load-error (fn [CefLoadHandler,CefBrowser,CefFrame,int,CefStringUtf16,CefStringUtf16]) -> void 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.
(merge->main-args struct {:as m :keys [argc argv]})
Merge properties of a CefMainArgs Structure representing CefExecuteProcess arguments.
Merge properties of a CefMainArgs Structure representing CefExecuteProcess arguments.
(merge->media-observer struct
{:as m
:keys [on-sinks on-routes on-route-state-changed
on-route-message-received]})
Merge properties of a CefMediaObserver 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.
:on-sinks (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media sinks has changed or cef_media_router_t::NotifyCurrentSinks was called.
:on-routes (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media routes has changed or cef_media_router_t::NotifyCurrentRoutes was called.
:on-route-state-changed (fn [CefMediaObserver,CefMediaRoute,int]) -> void The connection state of |route| has changed.
:on-route-message-received (fn [CefMediaObserver,CefMediaRoute,Pointer,SizeT]) -> void A message was recieved over |route|. |message| is only valid for the scope of this callback and should be copied if necessary.
Merge properties of a CefMediaObserver 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. :on-sinks (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media sinks has changed or cef_media_router_t::NotifyCurrentSinks was called. :on-routes (fn [CefMediaObserver,SizeT,Pointer]) -> void The list of available media routes has changed or cef_media_router_t::NotifyCurrentRoutes was called. :on-route-state-changed (fn [CefMediaObserver,CefMediaRoute,int]) -> void The connection state of |route| has changed. :on-route-message-received (fn [CefMediaObserver,CefMediaRoute,Pointer,SizeT]) -> void A message was recieved over |route|. |message| is only valid for the scope of this callback and should be copied if necessary.
(merge->media-route
struct
{:as m :keys [get-id get-source get-sink send-route-message terminate]})
Merge properties of a CefMediaRoute 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.
:get-id (fn [CefMediaRoute]) -> CefStringUtf16 Returns the ID for this route. The resulting string must be freed by calling cef_string_userfree_free().
:get-source (fn [CefMediaRoute]) -> CefMediaSource Returns the source associated with this route.
:get-sink (fn [CefMediaRoute]) -> CefMediaSink Returns the sink associated with this route.
:send-route-message (fn [CefMediaRoute,Pointer,SizeT]) -> void Send a message over this route. |message| will be copied if necessary.
:terminate (fn [CefMediaRoute]) -> void Terminate this route. Will result in an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
Merge properties of a CefMediaRoute 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. :get-id (fn [CefMediaRoute]) -> CefStringUtf16 Returns the ID for this route. The resulting string must be freed by calling cef_string_userfree_free(). :get-source (fn [CefMediaRoute]) -> CefMediaSource Returns the source associated with this route. :get-sink (fn [CefMediaRoute]) -> CefMediaSink Returns the sink associated with this route. :send-route-message (fn [CefMediaRoute,Pointer,SizeT]) -> void Send a message over this route. |message| will be copied if necessary. :terminate (fn [CefMediaRoute]) -> void Terminate this route. Will result in an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
(merge->media-route-create-callback struct
{:as m
:keys [on-media-route-create-finished]})
Merge properties of a CefMediaRouteCreateCallback Callback structure for cef_media_router_t::CreateRoute. The functions of this structure will be called on the browser process UI thread.
:on-media-route-create-finished (fn [CefMediaRouteCreateCallback,int,CefStringUtf16,CefMediaRoute]) -> void 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.
Merge properties of a CefMediaRouteCreateCallback Callback structure for cef_media_router_t::CreateRoute. The functions of this structure will be called on the browser process UI thread. :on-media-route-create-finished (fn [CefMediaRouteCreateCallback,int,CefStringUtf16,CefMediaRoute]) -> void 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.
(merge->media-router struct
{:as m
:keys [add-observer get-source notify-current-sinks
create-route notify-current-routes]})
Merge properties of a CefMediaRouter 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.
:add-observer (fn [CefMediaRouter,CefMediaObserver]) -> CefRegistration Add an observer for MediaRouter events. The observer will remain registered until the returned Registration object is destroyed.
:get-source (fn [CefMediaRouter,CefStringUtf16]) -> CefMediaSource 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>").
:notify-current-sinks (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnSinks on all registered observers.
:create-route (fn [CefMediaRouter,CefMediaSource,CefMediaSink,CefMediaRouteCreateCallback]) -> void 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.
:notify-current-routes (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
Merge properties of a CefMediaRouter 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. :add-observer (fn [CefMediaRouter,CefMediaObserver]) -> CefRegistration Add an observer for MediaRouter events. The observer will remain registered until the returned Registration object is destroyed. :get-source (fn [CefMediaRouter,CefStringUtf16]) -> CefMediaSource 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>"). :notify-current-sinks (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnSinks on all registered observers. :create-route (fn [CefMediaRouter,CefMediaSource,CefMediaSink,CefMediaRouteCreateCallback]) -> void 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. :notify-current-routes (fn [CefMediaRouter]) -> void Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all registered observers.
(merge->media-sink struct
{:as m
:keys [get-id get-name get-description get-icon-type
get-device-info is-cast-sink is-dial-sink
is-compatible-with]})
Merge properties of a CefMediaSink 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.
:get-id (fn [CefMediaSink]) -> CefStringUtf16 Returns the ID for this sink. The resulting string must be freed by calling cef_string_userfree_free().
:get-name (fn [CefMediaSink]) -> CefStringUtf16 Returns the name of this sink. The resulting string must be freed by calling cef_string_userfree_free().
:get-description (fn [CefMediaSink]) -> CefStringUtf16 Returns the description of this sink. The resulting string must be freed by calling cef_string_userfree_free().
:get-icon-type (fn [CefMediaSink]) -> int Returns the icon type for this sink.
:get-device-info (fn [CefMediaSink,CefMediaSinkDeviceInfoCallback]) -> void Asynchronously retrieves device info.
:is-cast-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via Cast.
:is-dial-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via DIAL.
:is-compatible-with (fn [CefMediaSink,CefMediaSource]) -> int Returns true (1) if this sink is compatible with |source|.
Merge properties of a CefMediaSink 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. :get-id (fn [CefMediaSink]) -> CefStringUtf16 Returns the ID for this sink. The resulting string must be freed by calling cef_string_userfree_free(). :get-name (fn [CefMediaSink]) -> CefStringUtf16 Returns the name of this sink. The resulting string must be freed by calling cef_string_userfree_free(). :get-description (fn [CefMediaSink]) -> CefStringUtf16 Returns the description of this sink. The resulting string must be freed by calling cef_string_userfree_free(). :get-icon-type (fn [CefMediaSink]) -> int Returns the icon type for this sink. :get-device-info (fn [CefMediaSink,CefMediaSinkDeviceInfoCallback]) -> void Asynchronously retrieves device info. :is-cast-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via Cast. :is-dial-sink (fn [CefMediaSink]) -> int Returns true (1) if this sink accepts content via DIAL. :is-compatible-with (fn [CefMediaSink,CefMediaSource]) -> int Returns true (1) if this sink is compatible with |source|.
(merge->media-sink-device-info struct
{:as m :keys [ip-address port model-name]})
Merge properties of a CefMediaSinkDeviceInfo Device information for a MediaSink object.
Merge properties of a CefMediaSinkDeviceInfo Device information for a MediaSink object.
(merge->media-sink-device-info-callback struct
{:as m
:keys [on-media-sink-device-info]})
Merge properties of a CefMediaSinkDeviceInfoCallback Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of this structure will be called on the browser process UI thread.
:on-media-sink-device-info (fn [CefMediaSinkDeviceInfoCallback,CefMediaSinkDeviceInfo]) -> void Method that will be executed asyncronously once device information has been retrieved.
Merge properties of a CefMediaSinkDeviceInfoCallback Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of this structure will be called on the browser process UI thread. :on-media-sink-device-info (fn [CefMediaSinkDeviceInfoCallback,CefMediaSinkDeviceInfo]) -> void Method that will be executed asyncronously once device information has been retrieved.
(merge->media-source struct
{:as m :keys [get-id is-cast-source is-dial-source]})
Merge properties of a CefMediaSource 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.
:get-id (fn [CefMediaSource]) -> CefStringUtf16 Returns the ID (media source URN or URL) for this source. The resulting string must be freed by calling cef_string_userfree_free().
:is-cast-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via Cast.
:is-dial-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via DIAL.
Merge properties of a CefMediaSource 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. :get-id (fn [CefMediaSource]) -> CefStringUtf16 Returns the ID (media source URN or URL) for this source. The resulting string must be freed by calling cef_string_userfree_free(). :is-cast-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via Cast. :is-dial-source (fn [CefMediaSource]) -> int Returns true (1) if this source outputs its content via DIAL.
(merge->menu-model
struct
{:as m
:keys [is-sub-menu clear get-count add-separator add-item add-check-item
add-radio-item add-sub-menu insert-separator-at insert-item-at
insert-check-item-at insert-radio-item-at insert-sub-menu-at remove
remove-at get-index-of get-command-id-at set-command-id-at get-label
get-label-at set-label set-label-at get-type get-type-at get-group-id
get-group-id-at set-group-id set-group-id-at get-sub-menu
get-sub-menu-at is-visible is-visible-at set-visible set-visible-at
is-enabled is-enabled-at set-enabled set-enabled-at is-checked
is-checked-at set-checked set-checked-at has-accelerator
has-accelerator-at set-accelerator set-accelerator-at
remove-accelerator remove-accelerator-at get-accelerator
get-accelerator-at set-color set-color-at get-color get-color-at
set-font-list set-font-list-at]})
Merge properties of a CefMenuModel 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.
:is-sub-menu (fn [CefMenuModel]) -> int Returns true (1) if this menu is a submenu.
:clear (fn [CefMenuModel]) -> int Clears the menu. Returns true (1) on success.
:get-count (fn [CefMenuModel]) -> int Returns the number of items in this menu.
:add-separator (fn [CefMenuModel]) -> int Add a separator to the menu. Returns true (1) on success.
:add-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add an item to the menu. Returns true (1) on success.
:add-check-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add a check item to the menu. Returns true (1) on success.
:add-radio-item (fn [CefMenuModel,int,CefStringUtf16,int]) -> int 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.
:add-sub-menu (fn [CefMenuModel,int,CefStringUtf16]) -> CefMenuModel Add a sub-menu to the menu. The new sub-menu is returned.
:insert-separator-at (fn [CefMenuModel,int]) -> int Insert a separator in the menu at the specified |index|. Returns true (1) on success.
:insert-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert an item in the menu at the specified |index|. Returns true (1) on success.
:insert-check-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert a check item in the menu at the specified |index|. Returns true (1) on success.
:insert-radio-item-at (fn [CefMenuModel,int,int,CefStringUtf16,int]) -> int 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.
:insert-sub-menu-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> CefMenuModel Insert a sub-menu in the menu at the specified |index|. The new sub-menu is returned.
:remove (fn [CefMenuModel,int]) -> int Removes the item with the specified |command_id|. Returns true (1) on success.
:remove-at (fn [CefMenuModel,int]) -> int Removes the item at the specified |index|. Returns true (1) on success.
:get-index-of (fn [CefMenuModel,int]) -> int Returns the index associated with the specified |command_id| or -1 if not found due to the command id not existing in the menu.
:get-command-id-at (fn [CefMenuModel,int]) -> int Returns the command id at the specified |index| or -1 if not found due to invalid range or the index being a separator.
:set-command-id-at (fn [CefMenuModel,int,int]) -> int Sets the command id at the specified |index|. Returns true (1) on success.
:get-label (fn [CefMenuModel,int]) -> CefStringUtf16 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().
:get-label-at (fn [CefMenuModel,int]) -> CefStringUtf16 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().
:set-label (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the label for the specified |command_id|. Returns true (1) on success.
:set-label-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Set the label at the specified |index|. Returns true (1) on success.
:get-type (fn [CefMenuModel,int]) -> int Returns the item type for the specified |command_id|.
:get-type-at (fn [CefMenuModel,int]) -> int Returns the item type at the specified |index|.
:get-group-id (fn [CefMenuModel,int]) -> int Returns the group id for the specified |command_id| or -1 if invalid.
:get-group-id-at (fn [CefMenuModel,int]) -> int Returns the group id at the specified |index| or -1 if invalid.
:set-group-id (fn [CefMenuModel,int,int]) -> int Sets the group id for the specified |command_id|. Returns true (1) on success.
:set-group-id-at (fn [CefMenuModel,int,int]) -> int Sets the group id at the specified |index|. Returns true (1) on success.
:get-sub-menu (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu for the specified |command_id| or NULL if invalid.
:get-sub-menu-at (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu at the specified |index| or NULL if invalid.
:is-visible (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is visible.
:is-visible-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is visible.
:set-visible (fn [CefMenuModel,int,int]) -> int Change the visibility of the specified |command_id|. Returns true (1) on success.
:set-visible-at (fn [CefMenuModel,int,int]) -> int Change the visibility at the specified |index|. Returns true (1) on success.
:is-enabled (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is enabled.
:is-enabled-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is enabled.
:set-enabled (fn [CefMenuModel,int,int]) -> int Change the enabled status of the specified |command_id|. Returns true (1) on success.
:set-enabled-at (fn [CefMenuModel,int,int]) -> int Change the enabled status at the specified |index|. Returns true (1) on success.
:is-checked (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is checked. Only applies to check and radio items.
:is-checked-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is checked. Only applies to check and radio items.
:set-checked (fn [CefMenuModel,int,int]) -> int Check the specified |command_id|. Only applies to check and radio items. Returns true (1) on success.
:set-checked-at (fn [CefMenuModel,int,int]) -> int Check the specified |index|. Only applies to check and radio items. Returns true (1) on success.
:has-accelerator (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| has a keyboard accelerator assigned.
:has-accelerator-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| has a keyboard accelerator assigned.
:set-accelerator (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator for the specified |command_id|. |key_code| can be any virtual key or character value. Returns true (1) on success.
:set-accelerator-at (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator at the specified |index|. |key_code| can be any virtual key or character value. Returns true (1) on success.
:remove-accelerator (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator for the specified |command_id|. Returns true (1) on success.
:remove-accelerator-at (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator at the specified |index|. Returns true (1) on success.
:get-accelerator (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |command_id|. Returns true (1) on success.
:get-accelerator-at (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |index|. Returns true (1) on success.
:set-color (fn [CefMenuModel,int,int,int]) -> int 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.
:set-color-at (fn [CefMenuModel,int,int,int]) -> int 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.
:get-color (fn [CefMenuModel,int,int,int]) -> int 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.
:get-color-at (fn [CefMenuModel,int,int,int]) -> int 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.
:set-font-list (fn [CefMenuModel,int,CefStringUtf16]) -> int 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
:set-font-list-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the font list for the specified |index|. Specify an |index| value of -1 to set the default font. If |font_list| is NULL the system font will be used. Returns true (1) on success. The format is "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma- separated list of font family names, - STYLES is an optional space- separated list of style names (case-sensitive "Bold" and "Italic" are supported), and
Merge properties of a CefMenuModel 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. :is-sub-menu (fn [CefMenuModel]) -> int Returns true (1) if this menu is a submenu. :clear (fn [CefMenuModel]) -> int Clears the menu. Returns true (1) on success. :get-count (fn [CefMenuModel]) -> int Returns the number of items in this menu. :add-separator (fn [CefMenuModel]) -> int Add a separator to the menu. Returns true (1) on success. :add-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add an item to the menu. Returns true (1) on success. :add-check-item (fn [CefMenuModel,int,CefStringUtf16]) -> int Add a check item to the menu. Returns true (1) on success. :add-radio-item (fn [CefMenuModel,int,CefStringUtf16,int]) -> int 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. :add-sub-menu (fn [CefMenuModel,int,CefStringUtf16]) -> CefMenuModel Add a sub-menu to the menu. The new sub-menu is returned. :insert-separator-at (fn [CefMenuModel,int]) -> int Insert a separator in the menu at the specified |index|. Returns true (1) on success. :insert-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert an item in the menu at the specified |index|. Returns true (1) on success. :insert-check-item-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> int Insert a check item in the menu at the specified |index|. Returns true (1) on success. :insert-radio-item-at (fn [CefMenuModel,int,int,CefStringUtf16,int]) -> int 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. :insert-sub-menu-at (fn [CefMenuModel,int,int,CefStringUtf16]) -> CefMenuModel Insert a sub-menu in the menu at the specified |index|. The new sub-menu is returned. :remove (fn [CefMenuModel,int]) -> int Removes the item with the specified |command_id|. Returns true (1) on success. :remove-at (fn [CefMenuModel,int]) -> int Removes the item at the specified |index|. Returns true (1) on success. :get-index-of (fn [CefMenuModel,int]) -> int Returns the index associated with the specified |command_id| or -1 if not found due to the command id not existing in the menu. :get-command-id-at (fn [CefMenuModel,int]) -> int Returns the command id at the specified |index| or -1 if not found due to invalid range or the index being a separator. :set-command-id-at (fn [CefMenuModel,int,int]) -> int Sets the command id at the specified |index|. Returns true (1) on success. :get-label (fn [CefMenuModel,int]) -> CefStringUtf16 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(). :get-label-at (fn [CefMenuModel,int]) -> CefStringUtf16 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(). :set-label (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the label for the specified |command_id|. Returns true (1) on success. :set-label-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Set the label at the specified |index|. Returns true (1) on success. :get-type (fn [CefMenuModel,int]) -> int Returns the item type for the specified |command_id|. :get-type-at (fn [CefMenuModel,int]) -> int Returns the item type at the specified |index|. :get-group-id (fn [CefMenuModel,int]) -> int Returns the group id for the specified |command_id| or -1 if invalid. :get-group-id-at (fn [CefMenuModel,int]) -> int Returns the group id at the specified |index| or -1 if invalid. :set-group-id (fn [CefMenuModel,int,int]) -> int Sets the group id for the specified |command_id|. Returns true (1) on success. :set-group-id-at (fn [CefMenuModel,int,int]) -> int Sets the group id at the specified |index|. Returns true (1) on success. :get-sub-menu (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu for the specified |command_id| or NULL if invalid. :get-sub-menu-at (fn [CefMenuModel,int]) -> CefMenuModel Returns the submenu at the specified |index| or NULL if invalid. :is-visible (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is visible. :is-visible-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is visible. :set-visible (fn [CefMenuModel,int,int]) -> int Change the visibility of the specified |command_id|. Returns true (1) on success. :set-visible-at (fn [CefMenuModel,int,int]) -> int Change the visibility at the specified |index|. Returns true (1) on success. :is-enabled (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is enabled. :is-enabled-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is enabled. :set-enabled (fn [CefMenuModel,int,int]) -> int Change the enabled status of the specified |command_id|. Returns true (1) on success. :set-enabled-at (fn [CefMenuModel,int,int]) -> int Change the enabled status at the specified |index|. Returns true (1) on success. :is-checked (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| is checked. Only applies to check and radio items. :is-checked-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| is checked. Only applies to check and radio items. :set-checked (fn [CefMenuModel,int,int]) -> int Check the specified |command_id|. Only applies to check and radio items. Returns true (1) on success. :set-checked-at (fn [CefMenuModel,int,int]) -> int Check the specified |index|. Only applies to check and radio items. Returns true (1) on success. :has-accelerator (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |command_id| has a keyboard accelerator assigned. :has-accelerator-at (fn [CefMenuModel,int]) -> int Returns true (1) if the specified |index| has a keyboard accelerator assigned. :set-accelerator (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator for the specified |command_id|. |key_code| can be any virtual key or character value. Returns true (1) on success. :set-accelerator-at (fn [CefMenuModel,int,int,int,int,int]) -> int Set the keyboard accelerator at the specified |index|. |key_code| can be any virtual key or character value. Returns true (1) on success. :remove-accelerator (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator for the specified |command_id|. Returns true (1) on success. :remove-accelerator-at (fn [CefMenuModel,int]) -> int Remove the keyboard accelerator at the specified |index|. Returns true (1) on success. :get-accelerator (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |command_id|. Returns true (1) on success. :get-accelerator-at (fn [CefMenuModel,int,Pointer,Pointer,Pointer,Pointer]) -> int Retrieves the keyboard accelerator for the specified |index|. Returns true (1) on success. :set-color (fn [CefMenuModel,int,int,int]) -> int 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. :set-color-at (fn [CefMenuModel,int,int,int]) -> int 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. :get-color (fn [CefMenuModel,int,int,int]) -> int 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. :get-color-at (fn [CefMenuModel,int,int,int]) -> int 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. :set-font-list (fn [CefMenuModel,int,CefStringUtf16]) -> int 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" :set-font-list-at (fn [CefMenuModel,int,CefStringUtf16]) -> int Sets the font list for the specified |index|. Specify an |index| value of -1 to set the default font. If |font_list| is NULL the system font will be used. Returns true (1) on success. The format is "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma- separated list of font family names, - STYLES is an optional space- separated list of style names (case-sensitive "Bold" and "Italic" are supported), and - SIZE is an integer font size in pixels with the suffix "px". Here are examples of valid font description strings: - "Arial, Helvetica, Bold Italic 14px" - "Arial, 14px"
(merge->menu-model-delegate
struct
{:as m
:keys [execute-command mouse-outside-menu unhandled-open-submenu
unhandled-close-submenu menu-will-show menu-closed format-label]})
Merge properties of a CefMenuModelDelegate 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.
:execute-command (fn [CefMenuModelDelegate,CefMenuModel,int,int]) -> void Perform the action associated with the specified |command_id| and optional |event_flags|.
:mouse-outside-menu (fn [CefMenuModelDelegate,CefMenuModel,CefPoint]) -> void Called when the user moves the mouse outside the menu and over the owning window.
:unhandled-open-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled open submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language.
:unhandled-close-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled close submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language.
:menu-will-show (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu is about to show.
:menu-closed (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu has closed.
:format-label (fn [CefMenuModelDelegate,CefMenuModel,CefStringUtf16]) -> int Optionally modify a menu item label. Return true (1) if |label| was modified.
Merge properties of a CefMenuModelDelegate 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. :execute-command (fn [CefMenuModelDelegate,CefMenuModel,int,int]) -> void Perform the action associated with the specified |command_id| and optional |event_flags|. :mouse-outside-menu (fn [CefMenuModelDelegate,CefMenuModel,CefPoint]) -> void Called when the user moves the mouse outside the menu and over the owning window. :unhandled-open-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled open submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language. :unhandled-close-submenu (fn [CefMenuModelDelegate,CefMenuModel,int]) -> void Called on unhandled close submenu keyboard commands. |is_rtl| will be true (1) if the menu is displaying a right-to-left language. :menu-will-show (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu is about to show. :menu-closed (fn [CefMenuModelDelegate,CefMenuModel]) -> void The menu has closed. :format-label (fn [CefMenuModelDelegate,CefMenuModel,CefStringUtf16]) -> int Optionally modify a menu item label. Return true (1) if |label| was modified.
(merge->mouse-event struct {:as m :keys [x y modifiers]})
Merge properties of a CefMouseEvent Structure representing mouse event information.
:x int X coordinate relative to the left side of the view.
:y int Y coordinate relative to the top side of the view.
:modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
Merge properties of a CefMouseEvent Structure representing mouse event information. :x int X coordinate relative to the left side of the view. :y int Y coordinate relative to the top side of the view. :modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
(merge->navigation-entry struct
{:as m
:keys [is-valid get-url get-display-url
get-original-url get-title get-transition-type
has-post-data get-completion-time
get-http-status-code get-sslstatus]})
Merge properties of a CefNavigationEntry Structure used to represent an entry in navigation history.
:is-valid (fn [CefNavigationEntry]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:get-url (fn [CefNavigationEntry]) -> CefStringUtf16 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().
:get-display-url (fn [CefNavigationEntry]) -> CefStringUtf16 Returns a display-friendly version of the URL. The resulting string must be freed by calling cef_string_userfree_free().
:get-original-url (fn [CefNavigationEntry]) -> CefStringUtf16 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().
:get-title (fn [CefNavigationEntry]) -> CefStringUtf16 Returns the title set by the page. This value may be NULL. The resulting string must be freed by calling cef_string_userfree_free().
:get-transition-type (fn [CefNavigationEntry]) -> int Returns the transition type which indicates what the user did to move to this page from the previous page.
:has-post-data (fn [CefNavigationEntry]) -> int Returns true (1) if this navigation includes post data.
:get-completion-time (fn [CefNavigationEntry]) -> CefTime 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.
:get-http-status-code (fn [CefNavigationEntry]) -> int 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.
:get-sslstatus (fn [CefNavigationEntry]) -> CefSslstatus Returns the SSL information for this navigation entry.
Merge properties of a CefNavigationEntry Structure used to represent an entry in navigation history. :is-valid (fn [CefNavigationEntry]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :get-url (fn [CefNavigationEntry]) -> CefStringUtf16 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(). :get-display-url (fn [CefNavigationEntry]) -> CefStringUtf16 Returns a display-friendly version of the URL. The resulting string must be freed by calling cef_string_userfree_free(). :get-original-url (fn [CefNavigationEntry]) -> CefStringUtf16 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(). :get-title (fn [CefNavigationEntry]) -> CefStringUtf16 Returns the title set by the page. This value may be NULL. The resulting string must be freed by calling cef_string_userfree_free(). :get-transition-type (fn [CefNavigationEntry]) -> int Returns the transition type which indicates what the user did to move to this page from the previous page. :has-post-data (fn [CefNavigationEntry]) -> int Returns true (1) if this navigation includes post data. :get-completion-time (fn [CefNavigationEntry]) -> CefTime 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. :get-http-status-code (fn [CefNavigationEntry]) -> int 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. :get-sslstatus (fn [CefNavigationEntry]) -> CefSslstatus Returns the SSL information for this navigation entry.
(merge->navigation-entry-visitor struct {:as m :keys [visit]})
Merge properties of a CefNavigationEntryVisitor Callback structure for cef_browser_host_t::GetNavigationEntries. The functions of this structure will be called on the browser process UI thread.
:visit (fn [CefNavigationEntryVisitor,CefNavigationEntry,int,int,int]) -> int Method that will be executed. Do not keep a reference to |entry| outside of this callback. Return true (1) to continue visiting entries or false (0) to stop. |current| is true (1) if this entry is the currently loaded navigation entry. |index| is the 0-based index of this entry and |total| is the total number of entries.
Merge properties of a CefNavigationEntryVisitor Callback structure for cef_browser_host_t::GetNavigationEntries. The functions of this structure will be called on the browser process UI thread. :visit (fn [CefNavigationEntryVisitor,CefNavigationEntry,int,int,int]) -> int Method that will be executed. Do not keep a reference to |entry| outside of this callback. Return true (1) to continue visiting entries or false (0) to stop. |current| is true (1) if this entry is the currently loaded navigation entry. |index| is the 0-based index of this entry and |total| is the total number of entries.
(merge->pdf-print-callback struct {:as m :keys [on-pdf-print-finished]})
Merge properties of a CefPdfPrintCallback Callback structure for cef_browser_host_t::PrintToPDF. The functions of this structure will be called on the browser process UI thread.
:on-pdf-print-finished (fn [CefPdfPrintCallback,CefStringUtf16,int]) -> void Method that will be executed when the PDF printing has completed. |path| is the output path. |ok| will be true (1) if the printing completed successfully or false (0) otherwise.
Merge properties of a CefPdfPrintCallback Callback structure for cef_browser_host_t::PrintToPDF. The functions of this structure will be called on the browser process UI thread. :on-pdf-print-finished (fn [CefPdfPrintCallback,CefStringUtf16,int]) -> void Method that will be executed when the PDF printing has completed. |path| is the output path. |ok| will be true (1) if the printing completed successfully or false (0) otherwise.
(merge->pdf-print-settings
struct
{:as m
:keys [header-footer-title header-footer-url page-width page-height
scale-factor margin-top margin-right margin-bottom margin-left
margin-type header-footer-enabled selection-only landscape
backgrounds-enabled]})
Merge properties of a CefPdfPrintSettings Structure representing PDF print settings.
:header-footer-title cef_string_t Page title to display in the header. Only used if |header_footer_enabled| is set to true (1).
:header-footer-url cef_string_t URL to display in the footer. Only used if |header_footer_enabled| is set to true (1).
:page-width int Output page size in microns. If either of these values is less than or equal to zero then the default paper size (A4) will be used.
:scale-factor int The percentage to scale the PDF by before printing (e.g. 50 is 50%). If this value is less than or equal to zero the default value of 100 will be used.
:margin-top int Margins in points. Only used if |margin_type| is set to PDF_PRINT_MARGIN_CUSTOM.
:margin-type cef_pdf_print_margin_type_t Margin type.
:header-footer-enabled int Set to true (1) to print headers and footers or false (0) to not print headers and footers.
:selection-only int Set to true (1) to print the selection only or false (0) to print all.
:landscape int Set to true (1) for landscape mode or false (0) for portrait mode.
:backgrounds-enabled int Set to true (1) to print background graphics or false (0) to not print background graphics.
Merge properties of a CefPdfPrintSettings Structure representing PDF print settings. :header-footer-title cef_string_t Page title to display in the header. Only used if |header_footer_enabled| is set to true (1). :header-footer-url cef_string_t URL to display in the footer. Only used if |header_footer_enabled| is set to true (1). :page-width int Output page size in microns. If either of these values is less than or equal to zero then the default paper size (A4) will be used. :scale-factor int The percentage to scale the PDF by before printing (e.g. 50 is 50%). If this value is less than or equal to zero the default value of 100 will be used. :margin-top int Margins in points. Only used if |margin_type| is set to PDF_PRINT_MARGIN_CUSTOM. :margin-type cef_pdf_print_margin_type_t Margin type. :header-footer-enabled int Set to true (1) to print headers and footers or false (0) to not print headers and footers. :selection-only int Set to true (1) to print the selection only or false (0) to print all. :landscape int Set to true (1) for landscape mode or false (0) for portrait mode. :backgrounds-enabled int Set to true (1) to print background graphics or false (0) to not print background graphics.
(merge->point struct {:as m :keys [x y]})
Merge properties of a CefPoint Structure representing a point.
Merge properties of a CefPoint Structure representing a point.
(merge->popup-features struct
{:as m
:keys [x xSet y ySet width widthSet height heightSet
menuBarVisible statusBarVisible toolBarVisible
scrollbarsVisible]})
Merge properties of a CefPopupFeatures Popup window features.
Merge properties of a CefPopupFeatures Popup window features.
(merge->post-data struct
{:as m
:keys [is-read-only has-excluded-elements get-element-count
get-elements remove-element add-element
remove-elements]})
Merge properties of a CefPostData Structure used to represent post data for a web request. The functions of this structure may be called on any thread.
:is-read-only (fn [CefPostData]) -> int Returns true (1) if this object is read-only.
:has-excluded-elements (fn [CefPostData]) -> int 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.
:get-element-count (fn [CefPostData]) -> SizeT Returns the number of existing post data elements.
:get-elements (fn [CefPostData,Pointer,Pointer]) -> void Retrieve the post data elements.
:remove-element (fn [CefPostData,CefPostDataElement]) -> int Remove the specified post data element. Returns true (1) if the removal succeeds.
:add-element (fn [CefPostData,CefPostDataElement]) -> int Add the specified post data element. Returns true (1) if the add succeeds.
:remove-elements (fn [CefPostData]) -> void Remove all existing post data elements.
Merge properties of a CefPostData Structure used to represent post data for a web request. The functions of this structure may be called on any thread. :is-read-only (fn [CefPostData]) -> int Returns true (1) if this object is read-only. :has-excluded-elements (fn [CefPostData]) -> int 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. :get-element-count (fn [CefPostData]) -> SizeT Returns the number of existing post data elements. :get-elements (fn [CefPostData,Pointer,Pointer]) -> void Retrieve the post data elements. :remove-element (fn [CefPostData,CefPostDataElement]) -> int Remove the specified post data element. Returns true (1) if the removal succeeds. :add-element (fn [CefPostData,CefPostDataElement]) -> int Add the specified post data element. Returns true (1) if the add succeeds. :remove-elements (fn [CefPostData]) -> void Remove all existing post data elements.
(merge->post-data-element struct
{:as m
:keys [is-read-only set-to-empty set-to-file
set-to-bytes get-type get-file get-bytes-count
get-bytes]})
Merge properties of a CefPostDataElement Structure used to represent a single element in the request post data. The functions of this structure may be called on any thread.
:is-read-only (fn [CefPostDataElement]) -> int Returns true (1) if this object is read-only.
:set-to-empty (fn [CefPostDataElement]) -> void Remove all contents from the post data element.
:set-to-file (fn [CefPostDataElement,CefStringUtf16]) -> void The post data element will represent a file.
:set-to-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> void The post data element will represent bytes. The bytes passed in will be copied.
:get-type (fn [CefPostDataElement]) -> int Return the type of this post data element.
:get-file (fn [CefPostDataElement]) -> CefStringUtf16 Return the file name. The resulting string must be freed by calling cef_string_userfree_free().
:get-bytes-count (fn [CefPostDataElement]) -> SizeT Return the number of bytes.
:get-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> SizeT Read up to |size| bytes into |bytes| and return the number of bytes actually read.
Merge properties of a CefPostDataElement Structure used to represent a single element in the request post data. The functions of this structure may be called on any thread. :is-read-only (fn [CefPostDataElement]) -> int Returns true (1) if this object is read-only. :set-to-empty (fn [CefPostDataElement]) -> void Remove all contents from the post data element. :set-to-file (fn [CefPostDataElement,CefStringUtf16]) -> void The post data element will represent a file. :set-to-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> void The post data element will represent bytes. The bytes passed in will be copied. :get-type (fn [CefPostDataElement]) -> int Return the type of this post data element. :get-file (fn [CefPostDataElement]) -> CefStringUtf16 Return the file name. The resulting string must be freed by calling cef_string_userfree_free(). :get-bytes-count (fn [CefPostDataElement]) -> SizeT Return the number of bytes. :get-bytes (fn [CefPostDataElement,SizeT,Pointer]) -> SizeT Read up to |size| bytes into |bytes| and return the number of bytes actually read.
(merge->print-dialog-callback struct {:as m :keys [cont cancel]})
Merge properties of a CefPrintDialogCallback Callback structure for asynchronous continuation of print dialog requests.
:cont (fn [CefPrintDialogCallback,CefPrintSettings]) -> void Continue printing with the specified |settings|.
:cancel (fn [CefPrintDialogCallback]) -> void Cancel the printing.
Merge properties of a CefPrintDialogCallback Callback structure for asynchronous continuation of print dialog requests. :cont (fn [CefPrintDialogCallback,CefPrintSettings]) -> void Continue printing with the specified |settings|. :cancel (fn [CefPrintDialogCallback]) -> void Cancel the printing.
(merge->print-handler struct
{:as m
:keys [on-print-start on-print-settings on-print-dialog
on-print-job on-print-reset get-pdf-paper-size]})
Merge properties of a CefPrintHandler 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.
:on-print-start (fn [CefPrintHandler,CefBrowser]) -> void 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).
:on-print-settings (fn [CefPrintHandler,CefBrowser,CefPrintSettings,int]) -> void 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.
:on-print-dialog (fn [CefPrintHandler,CefBrowser,int,CefPrintDialogCallback]) -> int 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.
:on-print-job (fn [CefPrintHandler,CefBrowser,CefStringUtf16,CefStringUtf16,CefPrintJobCallback]) -> int 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.
:on-print-reset (fn [CefPrintHandler,CefBrowser]) -> void Reset client state related to printing.
:get-pdf-paper-size (fn [CefPrintHandler,int]) -> CefSize Return the PDF paper size in device units. Used in combination with cef_browser_host_t::print_to_pdf().
Merge properties of a CefPrintHandler 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. :on-print-start (fn [CefPrintHandler,CefBrowser]) -> void 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). :on-print-settings (fn [CefPrintHandler,CefBrowser,CefPrintSettings,int]) -> void 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. :on-print-dialog (fn [CefPrintHandler,CefBrowser,int,CefPrintDialogCallback]) -> int 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. :on-print-job (fn [CefPrintHandler,CefBrowser,CefStringUtf16,CefStringUtf16,CefPrintJobCallback]) -> int 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. :on-print-reset (fn [CefPrintHandler,CefBrowser]) -> void Reset client state related to printing. :get-pdf-paper-size (fn [CefPrintHandler,int]) -> CefSize Return the PDF paper size in device units. Used in combination with cef_browser_host_t::print_to_pdf().
(merge->print-job-callback struct {:as m :keys [cont]})
Merge properties of a CefPrintJobCallback Callback structure for asynchronous continuation of print job requests.
:cont (fn [CefPrintJobCallback]) -> void Indicate completion of the print job.
Merge properties of a CefPrintJobCallback Callback structure for asynchronous continuation of print job requests. :cont (fn [CefPrintJobCallback]) -> void Indicate completion of the print job.
(merge->print-settings
struct
{:as m
:keys [is-valid is-read-only set-orientation is-landscape
set-printer-printable-area set-device-name get-device-name set-dpi
get-dpi set-page-ranges get-page-ranges-count get-page-ranges
set-selection-only is-selection-only set-collate will-collate
set-color-model get-color-model set-copies get-copies set-duplex-mode
get-duplex-mode]})
Merge properties of a CefPrintSettings Structure representing print settings.
:is-valid (fn [CefPrintSettings]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-read-only (fn [CefPrintSettings]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:set-orientation (fn [CefPrintSettings,int]) -> void Set the page orientation.
:is-landscape (fn [CefPrintSettings]) -> int Returns true (1) if the orientation is landscape.
:set-printer-printable-area (fn [CefPrintSettings,CefSize,CefRect,int]) -> void 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.
:set-device-name (fn [CefPrintSettings,CefStringUtf16]) -> void Set the device name.
:get-device-name (fn [CefPrintSettings]) -> CefStringUtf16 Get the device name. The resulting string must be freed by calling cef_string_userfree_free().
:set-dpi (fn [CefPrintSettings,int]) -> void Set the DPI (dots per inch).
:get-dpi (fn [CefPrintSettings]) -> int Get the DPI (dots per inch).
:set-page-ranges (fn [CefPrintSettings,SizeT,CefRange]) -> void Set the page ranges.
:get-page-ranges-count (fn [CefPrintSettings]) -> SizeT Returns the number of page ranges that currently exist.
:get-page-ranges (fn [CefPrintSettings,Pointer,CefRange]) -> void Retrieve the page ranges.
:set-selection-only (fn [CefPrintSettings,int]) -> void Set whether only the selection will be printed.
:is-selection-only (fn [CefPrintSettings]) -> int Returns true (1) if only the selection will be printed.
:set-collate (fn [CefPrintSettings,int]) -> void Set whether pages will be collated.
:will-collate (fn [CefPrintSettings]) -> int Returns true (1) if pages will be collated.
:set-color-model (fn [CefPrintSettings,int]) -> void Set the color model.
:get-color-model (fn [CefPrintSettings]) -> int Get the color model.
:set-copies (fn [CefPrintSettings,int]) -> void Set the number of copies.
:get-copies (fn [CefPrintSettings]) -> int Get the number of copies.
:set-duplex-mode (fn [CefPrintSettings,int]) -> void Set the duplex mode.
:get-duplex-mode (fn [CefPrintSettings]) -> int Get the duplex mode.
Merge properties of a CefPrintSettings Structure representing print settings. :is-valid (fn [CefPrintSettings]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-read-only (fn [CefPrintSettings]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :set-orientation (fn [CefPrintSettings,int]) -> void Set the page orientation. :is-landscape (fn [CefPrintSettings]) -> int Returns true (1) if the orientation is landscape. :set-printer-printable-area (fn [CefPrintSettings,CefSize,CefRect,int]) -> void 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. :set-device-name (fn [CefPrintSettings,CefStringUtf16]) -> void Set the device name. :get-device-name (fn [CefPrintSettings]) -> CefStringUtf16 Get the device name. The resulting string must be freed by calling cef_string_userfree_free(). :set-dpi (fn [CefPrintSettings,int]) -> void Set the DPI (dots per inch). :get-dpi (fn [CefPrintSettings]) -> int Get the DPI (dots per inch). :set-page-ranges (fn [CefPrintSettings,SizeT,CefRange]) -> void Set the page ranges. :get-page-ranges-count (fn [CefPrintSettings]) -> SizeT Returns the number of page ranges that currently exist. :get-page-ranges (fn [CefPrintSettings,Pointer,CefRange]) -> void Retrieve the page ranges. :set-selection-only (fn [CefPrintSettings,int]) -> void Set whether only the selection will be printed. :is-selection-only (fn [CefPrintSettings]) -> int Returns true (1) if only the selection will be printed. :set-collate (fn [CefPrintSettings,int]) -> void Set whether pages will be collated. :will-collate (fn [CefPrintSettings]) -> int Returns true (1) if pages will be collated. :set-color-model (fn [CefPrintSettings,int]) -> void Set the color model. :get-color-model (fn [CefPrintSettings]) -> int Get the color model. :set-copies (fn [CefPrintSettings,int]) -> void Set the number of copies. :get-copies (fn [CefPrintSettings]) -> int Get the number of copies. :set-duplex-mode (fn [CefPrintSettings,int]) -> void Set the duplex mode. :get-duplex-mode (fn [CefPrintSettings]) -> int Get the duplex mode.
(merge->process-message
struct
{:as m :keys [is-valid is-read-only copy get-name get-argument-list]})
Merge properties of a CefProcessMessage Structure representing a message. Can be used on any process and thread.
:is-valid (fn [CefProcessMessage]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0).
:is-read-only (fn [CefProcessMessage]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects.
:copy (fn [CefProcessMessage]) -> CefProcessMessage Returns a writable copy of this object.
:get-name (fn [CefProcessMessage]) -> CefStringUtf16 Returns the message name. The resulting string must be freed by calling cef_string_userfree_free().
:get-argument-list (fn [CefProcessMessage]) -> CefListValue Returns the list of arguments.
Merge properties of a CefProcessMessage Structure representing a message. Can be used on any process and thread. :is-valid (fn [CefProcessMessage]) -> int Returns true (1) if this object is valid. Do not call any other functions if this function returns false (0). :is-read-only (fn [CefProcessMessage]) -> int Returns true (1) if the values of this object are read-only. Some APIs may expose read-only objects. :copy (fn [CefProcessMessage]) -> CefProcessMessage Returns a writable copy of this object. :get-name (fn [CefProcessMessage]) -> CefStringUtf16 Returns the message name. The resulting string must be freed by calling cef_string_userfree_free(). :get-argument-list (fn [CefProcessMessage]) -> CefListValue Returns the list of arguments.
(merge->range struct {:as m :keys [from to]})
Merge properties of a CefRange Structure representing a range.
Merge properties of a CefRange Structure representing a range.
(merge->read-handler struct {:as m :keys [read seek tell eof may-block]})
Merge properties of a CefReadHandler Structure the client can implement to provide a custom stream reader. The functions of this structure may be called on any thread.
:read (fn [CefReadHandler,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data.
:seek (fn [CefReadHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure.
:tell (fn [CefReadHandler]) -> long Return the current offset position.
:eof (fn [CefReadHandler]) -> int Return non-zero if at end of file.
:may-block (fn [CefReadHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
Merge properties of a CefReadHandler Structure the client can implement to provide a custom stream reader. The functions of this structure may be called on any thread. :read (fn [CefReadHandler,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data. :seek (fn [CefReadHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure. :tell (fn [CefReadHandler]) -> long Return the current offset position. :eof (fn [CefReadHandler]) -> int Return non-zero if at end of file. :may-block (fn [CefReadHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
(merge->rect struct {:as m :keys [x y width height]})
Merge properties of a CefRect Structure representing a rectangle.
Merge properties of a CefRect Structure representing a rectangle.
(merge->register-cdm-callback struct
{:as m :keys [on-cdm-registration-complete]})
Merge properties of a CefRegisterCdmCallback Implement this structure to receive notification when CDM registration is complete. The functions of this structure will be called on the browser process UI thread.
:on-cdm-registration-complete (fn [CefRegisterCdmCallback,int,CefStringUtf16]) -> void Method that will be called when CDM registration is complete. |result| will be CEF_CDM_REGISTRATION_ERROR_NONE if registration completed successfully. Otherwise, |result| and |error_message| will contain additional information about why registration failed.
Merge properties of a CefRegisterCdmCallback Implement this structure to receive notification when CDM registration is complete. The functions of this structure will be called on the browser process UI thread. :on-cdm-registration-complete (fn [CefRegisterCdmCallback,int,CefStringUtf16]) -> void Method that will be called when CDM registration is complete. |result| will be CEF_CDM_REGISTRATION_ERROR_NONE if registration completed successfully. Otherwise, |result| and |error_message| will contain additional information about why registration failed.
(merge->registration struct {:as m :keys []})
Merge properties of a CefRegistration Generic callback structure used for managing the lifespan of a registration.
Merge properties of a CefRegistration Generic callback structure used for managing the lifespan of a registration.
(merge->render-handler
struct
{:as m
:keys [get-accessibility-handler get-root-screen-rect get-view-rect
get-screen-point get-screen-info on-popup-show on-popup-size on-paint
on-accelerated-paint start-dragging update-drag-cursor
on-scroll-offset-changed on-ime-composition-range-changed
on-text-selection-changed on-virtual-keyboard-requested]})
Merge properties of a CefRenderHandler Implement this structure to handle events when window rendering is disabled. The functions of this structure will be called on the UI thread.
:get-accessibility-handler (fn [CefRenderHandler]) -> CefAccessibilityHandler Return the handler for accessibility notifications. If no handler is provided the default implementation will be used.
:get-root-screen-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> int Called to retrieve the root window rectangle in screen coordinates. Return true (1) if the rectangle was provided. If this function returns false (0) the rectangle from GetViewRect will be used.
:get-view-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called to retrieve the view rectangle which is relative to screen coordinates. This function must always provide a non-NULL rectangle.
:get-screen-point (fn [CefRenderHandler,CefBrowser,int,int,Pointer,Pointer]) -> int Called to retrieve the translation from view coordinates to actual screen coordinates. Return true (1) if the screen coordinates were provided.
:get-screen-info (fn [CefRenderHandler,CefBrowser,CefScreenInfo]) -> int 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.
:on-popup-show (fn [CefRenderHandler,CefBrowser,int]) -> void 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).
:on-popup-size (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called when the browser wants to move or resize the popup widget. |rect| contains the new location and size in view coordinates.
:on-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer,int,int]) -> void 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).
:on-accelerated-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer]) -> void 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. |shared_handle| is the handle for a D3D11 Texture2D that can be accessed via ID3D11Device using the OpenSharedResource function. This function is only called when cef_window_tInfo::shared_texture_enabled is set to true (1), and is currently only supported on Windows.
:start-dragging (fn [CefRenderHandler,CefBrowser,CefDragData,int,int,int]) -> int 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::DragSourceEnded 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.
:update-drag-cursor (fn [CefRenderHandler,CefBrowser,int]) -> void 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).
:on-scroll-offset-changed (fn [CefRenderHandler,CefBrowser,double,double]) -> void Called when the scroll offset has changed.
:on-ime-composition-range-changed (fn [CefRenderHandler,CefBrowser,CefRange,SizeT,CefRect]) -> void 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.
:on-text-selection-changed (fn [CefRenderHandler,CefBrowser,CefStringUtf16,CefRange]) -> void Called when text selection has changed for the specified |browser|. |selected_text| is the currently selected text and |selected_range| is the character range.
:on-virtual-keyboard-requested (fn [CefRenderHandler,CefBrowser,int]) -> void 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.
Merge properties of a CefRenderHandler Implement this structure to handle events when window rendering is disabled. The functions of this structure will be called on the UI thread. :get-accessibility-handler (fn [CefRenderHandler]) -> CefAccessibilityHandler Return the handler for accessibility notifications. If no handler is provided the default implementation will be used. :get-root-screen-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> int Called to retrieve the root window rectangle in screen coordinates. Return true (1) if the rectangle was provided. If this function returns false (0) the rectangle from GetViewRect will be used. :get-view-rect (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called to retrieve the view rectangle which is relative to screen coordinates. This function must always provide a non-NULL rectangle. :get-screen-point (fn [CefRenderHandler,CefBrowser,int,int,Pointer,Pointer]) -> int Called to retrieve the translation from view coordinates to actual screen coordinates. Return true (1) if the screen coordinates were provided. :get-screen-info (fn [CefRenderHandler,CefBrowser,CefScreenInfo]) -> int 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. :on-popup-show (fn [CefRenderHandler,CefBrowser,int]) -> void 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). :on-popup-size (fn [CefRenderHandler,CefBrowser,CefRect]) -> void Called when the browser wants to move or resize the popup widget. |rect| contains the new location and size in view coordinates. :on-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer,int,int]) -> void 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). :on-accelerated-paint (fn [CefRenderHandler,CefBrowser,int,SizeT,CefRect,Pointer]) -> void 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. |shared_handle| is the handle for a D3D11 Texture2D that can be accessed via ID3D11Device using the OpenSharedResource function. This function is only called when cef_window_tInfo::shared_texture_enabled is set to true (1), and is currently only supported on Windows. :start-dragging (fn [CefRenderHandler,CefBrowser,CefDragData,int,int,int]) -> int 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. :update-drag-cursor (fn [CefRenderHandler,CefBrowser,int]) -> void 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). :on-scroll-offset-changed (fn [CefRenderHandler,CefBrowser,double,double]) -> void Called when the scroll offset has changed. :on-ime-composition-range-changed (fn [CefRenderHandler,CefBrowser,CefRange,SizeT,CefRect]) -> void 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. :on-text-selection-changed (fn [CefRenderHandler,CefBrowser,CefStringUtf16,CefRange]) -> void Called when text selection has changed for the specified |browser|. |selected_text| is the currently selected text and |selected_range| is the character range. :on-virtual-keyboard-requested (fn [CefRenderHandler,CefBrowser,int]) -> void 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.
(merge->render-process-handler
struct
{:as m
:keys [on-web-kit-initialized on-browser-created on-browser-destroyed
get-load-handler on-context-created on-context-released
on-uncaught-exception on-focused-node-changed
on-process-message-received]})
Merge properties of a CefRenderProcessHandler 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.
:on-web-kit-initialized (fn [CefRenderProcessHandler]) -> void Called after WebKit has been initialized.
:on-browser-created (fn [CefRenderProcessHandler,CefBrowser,CefDictionaryValue]) -> void 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 a 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().
:on-browser-destroyed (fn [CefRenderProcessHandler,CefBrowser]) -> void Called before a browser is destroyed.
:get-load-handler (fn [CefRenderProcessHandler]) -> CefLoadHandler Return the handler for browser load status events.
:on-context-created (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void 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.
:on-context-released (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void Called immediately before the V8 context for a frame is released. No references to the context should be kept after this function is called.
:on-uncaught-exception (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context,CefV8exception,CefV8stackTrace]) -> void Called for global uncaught exceptions in a frame. Execution of this callback is disabled by default. To enable set CefSettings.uncaught_exception_stack_size > 0.
:on-focused-node-changed (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefDomnode]) -> void 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.
:on-process-message-received (fn [CefRenderProcessHandler,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
Merge properties of a CefRenderProcessHandler 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. :on-web-kit-initialized (fn [CefRenderProcessHandler]) -> void Called after WebKit has been initialized. :on-browser-created (fn [CefRenderProcessHandler,CefBrowser,CefDictionaryValue]) -> void 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 a 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(). :on-browser-destroyed (fn [CefRenderProcessHandler,CefBrowser]) -> void Called before a browser is destroyed. :get-load-handler (fn [CefRenderProcessHandler]) -> CefLoadHandler Return the handler for browser load status events. :on-context-created (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void 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. :on-context-released (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context]) -> void Called immediately before the V8 context for a frame is released. No references to the context should be kept after this function is called. :on-uncaught-exception (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefV8context,CefV8exception,CefV8stackTrace]) -> void Called for global uncaught exceptions in a frame. Execution of this callback is disabled by default. To enable set CefSettings.uncaught_exception_stack_size > 0. :on-focused-node-changed (fn [CefRenderProcessHandler,CefBrowser,CefFrame,CefDomnode]) -> void 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. :on-process-message-received (fn [CefRenderProcessHandler,CefBrowser,CefFrame,int,CefProcessMessage]) -> int Called when a new message is received from a different process. Return true (1) if the message was handled or false (0) otherwise. Do not keep a reference to or attempt to access the message outside of this callback.
(merge->request struct
{:as m
:keys [is-read-only get-url set-url get-method set-method
set-referrer get-referrer-url get-referrer-policy
get-post-data set-post-data get-header-map
set-header-map get-header-by-name set-header-by-name set
get-flags set-flags get-first-party-for-cookies
set-first-party-for-cookies get-resource-type
get-transition-type get-identifier]})
Merge properties of a CefRequest Structure used to represent a web request. The functions of this structure may be called on any thread.
:is-read-only (fn [CefRequest]) -> int Returns true (1) if this object is read-only.
:get-url (fn [CefRequest]) -> CefStringUtf16 Get the fully qualified URL. The resulting string must be freed by calling cef_string_userfree_free().
:set-url (fn [CefRequest,CefStringUtf16]) -> void Set the fully qualified URL.
:get-method (fn [CefRequest]) -> CefStringUtf16 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().
:set-method (fn [CefRequest,CefStringUtf16]) -> void Set the request function type.
:set-referrer (fn [CefRequest,CefStringUtf16,int]) -> void 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.
:get-referrer-url (fn [CefRequest]) -> CefStringUtf16 Get the referrer URL. The resulting string must be freed by calling cef_string_userfree_free().
:get-referrer-policy (fn [CefRequest]) -> int Get the referrer policy.
:get-post-data (fn [CefRequest]) -> CefPostData Get the post data.
:set-post-data (fn [CefRequest,CefPostData]) -> void Set the post data.
:get-header-map (fn [CefRequest,Pointer]) -> void Get the header values. Will not include the Referer value if any.
:set-header-map (fn [CefRequest,Pointer]) -> void Set the header values. If a Referer value exists in the header map it will be removed and ignored.
:get-header-by-name (fn [CefRequest,CefStringUtf16]) -> CefStringUtf16 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().
:set-header-by-name (fn [CefRequest,CefStringUtf16,CefStringUtf16,int]) -> void 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.
:set (fn [CefRequest,CefStringUtf16,CefStringUtf16,CefPostData,Pointer]) -> void Set all values at one time.
:get-flags (fn [CefRequest]) -> int Get the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values.
:set-flags (fn [CefRequest,int]) -> void Set the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values.
:get-first-party-for-cookies (fn [CefRequest]) -> CefStringUtf16 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().
:set-first-party-for-cookies (fn [CefRequest,CefStringUtf16]) -> void Set the URL to the first party for cookies used in combination with cef_urlrequest_t.
:get-resource-type (fn [CefRequest]) -> int Get the resource type for this request. Only available in the browser process.
:get-transition-type (fn [CefRequest]) -> int 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.
:get-identifier (fn [CefRequest]) -> long 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.
Merge properties of a CefRequest Structure used to represent a web request. The functions of this structure may be called on any thread. :is-read-only (fn [CefRequest]) -> int Returns true (1) if this object is read-only. :get-url (fn [CefRequest]) -> CefStringUtf16 Get the fully qualified URL. The resulting string must be freed by calling cef_string_userfree_free(). :set-url (fn [CefRequest,CefStringUtf16]) -> void Set the fully qualified URL. :get-method (fn [CefRequest]) -> CefStringUtf16 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(). :set-method (fn [CefRequest,CefStringUtf16]) -> void Set the request function type. :set-referrer (fn [CefRequest,CefStringUtf16,int]) -> void 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. :get-referrer-url (fn [CefRequest]) -> CefStringUtf16 Get the referrer URL. The resulting string must be freed by calling cef_string_userfree_free(). :get-referrer-policy (fn [CefRequest]) -> int Get the referrer policy. :get-post-data (fn [CefRequest]) -> CefPostData Get the post data. :set-post-data (fn [CefRequest,CefPostData]) -> void Set the post data. :get-header-map (fn [CefRequest,Pointer]) -> void Get the header values. Will not include the Referer value if any. :set-header-map (fn [CefRequest,Pointer]) -> void Set the header values. If a Referer value exists in the header map it will be removed and ignored. :get-header-by-name (fn [CefRequest,CefStringUtf16]) -> CefStringUtf16 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(). :set-header-by-name (fn [CefRequest,CefStringUtf16,CefStringUtf16,int]) -> void 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. :set (fn [CefRequest,CefStringUtf16,CefStringUtf16,CefPostData,Pointer]) -> void Set all values at one time. :get-flags (fn [CefRequest]) -> int Get the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values. :set-flags (fn [CefRequest,int]) -> void Set the flags used in combination with cef_urlrequest_t. See cef_urlrequest_flags_t for supported values. :get-first-party-for-cookies (fn [CefRequest]) -> CefStringUtf16 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(). :set-first-party-for-cookies (fn [CefRequest,CefStringUtf16]) -> void Set the URL to the first party for cookies used in combination with cef_urlrequest_t. :get-resource-type (fn [CefRequest]) -> int Get the resource type for this request. Only available in the browser process. :get-transition-type (fn [CefRequest]) -> int 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. :get-identifier (fn [CefRequest]) -> long 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.
(merge->request-callback struct {:as m :keys [cont cancel]})
Merge properties of a CefRequestCallback Callback structure used for asynchronous continuation of url requests.
:cont (fn [CefRequestCallback,int]) -> void Continue the url request. If |allow| is true (1) the request will be continued. Otherwise, the request will be canceled.
:cancel (fn [CefRequestCallback]) -> void Cancel the url request.
Merge properties of a CefRequestCallback Callback structure used for asynchronous continuation of url requests. :cont (fn [CefRequestCallback,int]) -> void Continue the url request. If |allow| is true (1) the request will be continued. Otherwise, the request will be canceled. :cancel (fn [CefRequestCallback]) -> void Cancel the url request.
(merge->request-context
struct
{:as m
:keys [is-same is-sharing-with is-global get-handler get-cache-path
get-cookie-manager register-scheme-handler-factory
clear-scheme-handler-factories purge-plugin-list-cache has-preference
get-preference get-all-preferences can-set-preference set-preference
clear-certificate-exceptions clear-http-auth-credentials
close-all-connections resolve-host load-extension did-load-extension
has-extension get-extensions get-extension get-media-router]})
Merge properties of a CefRequestContext 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.
:is-same (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is pointing to the same context as |that| object.
:is-sharing-with (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is sharing the same storage as |that| object.
:is-global (fn [CefRequestContext]) -> int 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.
:get-handler (fn [CefRequestContext]) -> CefRequestContextHandler Returns the handler for this context if any.
:get-cache-path (fn [CefRequestContext]) -> CefStringUtf16 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().
:get-cookie-manager (fn [CefRequestContext,CefCompletionCallback]) -> CefCookieManager Returns the cookie manager for this object. If |callback| is non-NULL it will be executed asnychronously on the IO thread after the manager's storage has been initialized.
:register-scheme-handler-factory (fn [CefRequestContext,CefStringUtf16,CefStringUtf16,CefSchemeHandlerFactory]) -> int 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.
:clear-scheme-handler-factories (fn [CefRequestContext]) -> int Clear all registered scheme handler factories. Returns false (0) on error. This function may be called on any thread in the browser process.
:purge-plugin-list-cache (fn [CefRequestContext,int]) -> void Tells all renderer processes associated with this context to throw away their plugin list cache. If |reload_pages| is true (1) they will also reload all pages with plugins. cef_request_context_handler_t::OnBeforePluginLoad may be called to rebuild the plugin list cache.
:has-preference (fn [CefRequestContext,CefStringUtf16]) -> int Returns true (1) if a preference with the specified |name| exists. This function must be called on the browser process UI thread.
:get-preference (fn [CefRequestContext,CefStringUtf16]) -> CefValue 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.
:get-all-preferences (fn [CefRequestContext,int]) -> CefDictionaryValue 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.
:can-set-preference (fn [CefRequestContext,CefStringUtf16]) -> int 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.
:set-preference (fn [CefRequestContext,CefStringUtf16,CefValue,CefStringUtf16]) -> int 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.
:clear-certificate-exceptions (fn [CefRequestContext,CefCompletionCallback]) -> void 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.
:clear-http-auth-credentials (fn [CefRequestContext,CefCompletionCallback]) -> void 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.
:close-all-connections (fn [CefRequestContext,CefCompletionCallback]) -> void 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.
:resolve-host (fn [CefRequestContext,CefStringUtf16,CefResolveCallback]) -> void Attempts to resolve |origin| to a list of associated IP addresses. |callback| will be executed on the UI thread after completion.
:load-extension (fn [CefRequestContext,CefStringUtf16,CefDictionaryValue,CefExtensionHandler]) -> void 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:
:did-load-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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.
:has-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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.
:get-extensions (fn [CefRequestContext,Pointer]) -> int 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.
:get-extension (fn [CefRequestContext,CefStringUtf16]) -> CefExtension 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.
:get-media-router (fn [CefRequestContext]) -> CefMediaRouter Returns the MediaRouter object associated with this context.
Merge properties of a CefRequestContext 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. :is-same (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is pointing to the same context as |that| object. :is-sharing-with (fn [CefRequestContext,CefRequestContext]) -> int Returns true (1) if this object is sharing the same storage as |that| object. :is-global (fn [CefRequestContext]) -> int 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. :get-handler (fn [CefRequestContext]) -> CefRequestContextHandler Returns the handler for this context if any. :get-cache-path (fn [CefRequestContext]) -> CefStringUtf16 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(). :get-cookie-manager (fn [CefRequestContext,CefCompletionCallback]) -> CefCookieManager Returns the cookie manager for this object. If |callback| is non-NULL it will be executed asnychronously on the IO thread after the manager's storage has been initialized. :register-scheme-handler-factory (fn [CefRequestContext,CefStringUtf16,CefStringUtf16,CefSchemeHandlerFactory]) -> int 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. :clear-scheme-handler-factories (fn [CefRequestContext]) -> int Clear all registered scheme handler factories. Returns false (0) on error. This function may be called on any thread in the browser process. :purge-plugin-list-cache (fn [CefRequestContext,int]) -> void Tells all renderer processes associated with this context to throw away their plugin list cache. If |reload_pages| is true (1) they will also reload all pages with plugins. cef_request_context_handler_t::OnBeforePluginLoad may be called to rebuild the plugin list cache. :has-preference (fn [CefRequestContext,CefStringUtf16]) -> int Returns true (1) if a preference with the specified |name| exists. This function must be called on the browser process UI thread. :get-preference (fn [CefRequestContext,CefStringUtf16]) -> CefValue 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. :get-all-preferences (fn [CefRequestContext,int]) -> CefDictionaryValue 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. :can-set-preference (fn [CefRequestContext,CefStringUtf16]) -> int 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. :set-preference (fn [CefRequestContext,CefStringUtf16,CefValue,CefStringUtf16]) -> int 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. :clear-certificate-exceptions (fn [CefRequestContext,CefCompletionCallback]) -> void 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. :clear-http-auth-credentials (fn [CefRequestContext,CefCompletionCallback]) -> void 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. :close-all-connections (fn [CefRequestContext,CefCompletionCallback]) -> void 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. :resolve-host (fn [CefRequestContext,CefStringUtf16,CefResolveCallback]) -> void Attempts to resolve |origin| to a list of associated IP addresses. |callback| will be executed on the UI thread after completion. :load-extension (fn [CefRequestContext,CefStringUtf16,CefDictionaryValue,CefExtensionHandler]) -> void 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. :did-load-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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. :has-extension (fn [CefRequestContext,CefStringUtf16]) -> int 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. :get-extensions (fn [CefRequestContext,Pointer]) -> int 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. :get-extension (fn [CefRequestContext,CefStringUtf16]) -> CefExtension 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. :get-media-router (fn [CefRequestContext]) -> CefMediaRouter Returns the MediaRouter object associated with this context.
(merge->request-context-handler struct
{:as m
:keys [on-request-context-initialized
on-before-plugin-load
get-resource-request-handler]})
Merge properties of a CefRequestContextHandler Implement this structure to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed.
:on-request-context-initialized (fn [CefRequestContextHandler,CefRequestContext]) -> void Called on the browser process UI thread immediately after the request context has been initialized.
:on-before-plugin-load (fn [CefRequestContextHandler,CefStringUtf16,CefStringUtf16,int,CefStringUtf16,CefWebPluginInfo,int]) -> int
Called on multiple browser process threads before a plugin instance is
loaded. |mime_type| is the mime type of the plugin that will be loaded.
|plugin_url| is the content URL that the plugin will load and may be NULL.
|is_main_frame| will be true (1) if the plugin is being loaded in the main
(top-level) frame, |top_origin_url| is the URL for the top-level frame that
contains the plugin when loading a specific plugin instance or NULL when
building the initial list of enabled plugins for 'navigator.plugins'
JavaScript state. |plugin_info| includes additional information about the
plugin that will be loaded. |plugin_policy| is the recommended policy.
Modify |plugin_policy| and return true (1) to change the policy. Return
false (0) to use the recommended policy. The default plugin policy can be
set at runtime using the --plugin-policy=[allow|detect|block]
command-
line flag. Decisions to mark a plugin as disabled by setting
|plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when
|top_origin_url| is NULL. To purge the plugin list cache and potentially
trigger new calls to this function call
cef_request_context_t::PurgePluginListCache.
:get-resource-request-handler (fn [CefRequestContextHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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).
Merge properties of a CefRequestContextHandler Implement this structure to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed. :on-request-context-initialized (fn [CefRequestContextHandler,CefRequestContext]) -> void Called on the browser process UI thread immediately after the request context has been initialized. :on-before-plugin-load (fn [CefRequestContextHandler,CefStringUtf16,CefStringUtf16,int,CefStringUtf16,CefWebPluginInfo,int]) -> int Called on multiple browser process threads before a plugin instance is loaded. |mime_type| is the mime type of the plugin that will be loaded. |plugin_url| is the content URL that the plugin will load and may be NULL. |is_main_frame| will be true (1) if the plugin is being loaded in the main (top-level) frame, |top_origin_url| is the URL for the top-level frame that contains the plugin when loading a specific plugin instance or NULL when building the initial list of enabled plugins for 'navigator.plugins' JavaScript state. |plugin_info| includes additional information about the plugin that will be loaded. |plugin_policy| is the recommended policy. Modify |plugin_policy| and return true (1) to change the policy. Return false (0) to use the recommended policy. The default plugin policy can be set at runtime using the `--plugin-policy=[allow|detect|block]` command- line flag. Decisions to mark a plugin as disabled by setting |plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when |top_origin_url| is NULL. To purge the plugin list cache and potentially trigger new calls to this function call cef_request_context_t::PurgePluginListCache. :get-resource-request-handler (fn [CefRequestContextHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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).
(merge->request-context-settings
struct
{:as m
:keys [size cache-path persist-session-cookies persist-user-preferences
ignore-certificate-errors accept-language-list]})
Merge properties of a CefRequestContextSettings Request context initialization settings. Specify NULL or 0 to get the recommended default values.
:size size_t Size of this structure.
:cache-path cef_string_t The location where cache data for this request context will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. To share the global browser cache and related configuration set this value to match the CefSettings.cache_path value.
:persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. Can be set globally using the CefSettings.persist_session_cookies value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value.
:persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). Can be set globally using the CefSettings.persist_user_preferences value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value.
:ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Can be set globally using the CefSettings.ignore_certificate_errors value. This value will be ignored if |cache_path| matches the CefSettings.cache_path value.
:accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. Can be set globally using the CefSettings.accept_language_list value or overridden on a per- browser basis using the CefBrowserSettings.accept_language_list value. If all values are empty then "en-US,en" will be used. This value will be ignored if |cache_path| matches the CefSettings.cache_path value.
Merge properties of a CefRequestContextSettings Request context initialization settings. Specify NULL or 0 to get the recommended default values. :size size_t Size of this structure. :cache-path cef_string_t The location where cache data for this request context will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. To share the global browser cache and related configuration set this value to match the CefSettings.cache_path value. :persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. Can be set globally using the CefSettings.persist_session_cookies value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value. :persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). Can be set globally using the CefSettings.persist_user_preferences value. This value will be ignored if |cache_path| is empty or if it matches the CefSettings.cache_path value. :ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Can be set globally using the CefSettings.ignore_certificate_errors value. This value will be ignored if |cache_path| matches the CefSettings.cache_path value. :accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. Can be set globally using the CefSettings.accept_language_list value or overridden on a per- browser basis using the CefBrowserSettings.accept_language_list value. If all values are empty then "en-US,en" will be used. This value will be ignored if |cache_path| matches the CefSettings.cache_path value.
(merge->request-handler
struct
{:as m
:keys [on-before-browse on-open-urlfrom-tab get-resource-request-handler
get-auth-credentials on-quota-request on-certificate-error
on-select-client-certificate on-plugin-crashed on-render-view-ready
on-render-process-terminated on-document-available-in-main-frame]})
Merge properties of a CefRequestHandler Implement this structure to handle events related to browser requests. The functions of this structure will be called on the thread indicated.
:on-before-browse (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int]) -> int 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).
:on-open-urlfrom-tab (fn [CefRequestHandler,CefBrowser,CefFrame,CefStringUtf16,int,int]) -> int 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.
:get-resource-request-handler (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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.
:get-auth-credentials (fn [CefRequestHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int 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.
:on-quota-request (fn [CefRequestHandler,CefBrowser,CefStringUtf16,long,CefRequestCallback]) -> int Called on the IO thread when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. |origin_url| is the origin of the page making the request. |new_size| is the requested quota size in bytes. Return true (1) to continue the request and call cef_request_callback_t::cont() either in this function or at a later time to grant or deny the request. Return false (0) to cancel the request immediately.
:on-certificate-error (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,CefSslinfo,CefRequestCallback]) -> int Called on the UI thread to handle requests for URLs with an invalid SSL certificate. Return true (1) and call cef_request_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. If CefSettings.ignore_certificate_errors is set all invalid certificates will be accepted without calling this function.
:on-select-client-certificate (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,int,SizeT,Pointer,CefSelectClientCertificateCallback]) -> int 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.
:on-plugin-crashed (fn [CefRequestHandler,CefBrowser,CefStringUtf16]) -> void Called on the browser process UI thread when a plugin has crashed. |plugin_path| is the path of the plugin that crashed.
:on-render-view-ready (fn [CefRequestHandler,CefBrowser]) -> void 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.
:on-render-process-terminated (fn [CefRequestHandler,CefBrowser,int]) -> void Called on the browser process UI thread when the render process terminates unexpectedly. |status| indicates how the process terminated.
:on-document-available-in-main-frame (fn [CefRequestHandler,CefBrowser]) -> void Called on the browser process UI thread when the window.document object of the main frame has been created.
Merge properties of a CefRequestHandler Implement this structure to handle events related to browser requests. The functions of this structure will be called on the thread indicated. :on-before-browse (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int]) -> int 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). :on-open-urlfrom-tab (fn [CefRequestHandler,CefBrowser,CefFrame,CefStringUtf16,int,int]) -> int 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. :get-resource-request-handler (fn [CefRequestHandler,CefBrowser,CefFrame,CefRequest,int,int,CefStringUtf16,Pointer]) -> CefResourceRequestHandler 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. :get-auth-credentials (fn [CefRequestHandler,CefBrowser,CefStringUtf16,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int 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. :on-quota-request (fn [CefRequestHandler,CefBrowser,CefStringUtf16,long,CefRequestCallback]) -> int Called on the IO thread when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. |origin_url| is the origin of the page making the request. |new_size| is the requested quota size in bytes. Return true (1) to continue the request and call cef_request_callback_t::cont() either in this function or at a later time to grant or deny the request. Return false (0) to cancel the request immediately. :on-certificate-error (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,CefSslinfo,CefRequestCallback]) -> int Called on the UI thread to handle requests for URLs with an invalid SSL certificate. Return true (1) and call cef_request_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. If CefSettings.ignore_certificate_errors is set all invalid certificates will be accepted without calling this function. :on-select-client-certificate (fn [CefRequestHandler,CefBrowser,int,CefStringUtf16,int,SizeT,Pointer,CefSelectClientCertificateCallback]) -> int 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. :on-plugin-crashed (fn [CefRequestHandler,CefBrowser,CefStringUtf16]) -> void Called on the browser process UI thread when a plugin has crashed. |plugin_path| is the path of the plugin that crashed. :on-render-view-ready (fn [CefRequestHandler,CefBrowser]) -> void 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. :on-render-process-terminated (fn [CefRequestHandler,CefBrowser,int]) -> void Called on the browser process UI thread when the render process terminates unexpectedly. |status| indicates how the process terminated. :on-document-available-in-main-frame (fn [CefRequestHandler,CefBrowser]) -> void Called on the browser process UI thread when the window.document object of the main frame has been created.
(merge->resolve-callback struct {:as m :keys [on-resolve-completed]})
Merge properties of a CefResolveCallback Callback structure for cef_request_context_t::ResolveHost.
:on-resolve-completed (fn [CefResolveCallback,int,Pointer]) -> void 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.
Merge properties of a CefResolveCallback Callback structure for cef_request_context_t::ResolveHost. :on-resolve-completed (fn [CefResolveCallback,int,Pointer]) -> void 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.
(merge->resource-bundle-handler struct
{:as m
:keys [get-localized-string get-data-resource
get-data-resource-for-scale]})
Merge properties of a CefResourceBundleHandler 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.
:get-localized-string (fn [CefResourceBundleHandler,int,CefStringUtf16]) -> int 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.
:get-data-resource (fn [CefResourceBundleHandler,int,Pointer,Pointer]) -> int 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.
:get-data-resource-for-scale (fn [CefResourceBundleHandler,int,int,Pointer,Pointer]) -> int 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.
Merge properties of a CefResourceBundleHandler 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. :get-localized-string (fn [CefResourceBundleHandler,int,CefStringUtf16]) -> int 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. :get-data-resource (fn [CefResourceBundleHandler,int,Pointer,Pointer]) -> int 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. :get-data-resource-for-scale (fn [CefResourceBundleHandler,int,int,Pointer,Pointer]) -> int 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.
(merge->resource-handler struct
{:as m
:keys [open process-request get-response-headers skip
read read-response cancel]})
Merge properties of a CefResourceHandler Structure used to implement a custom request handler structure. The functions of this structure will be called on the IO thread unless otherwise indicated.
:open (fn [CefResourceHandler,CefRequest,Pointer,CefCallback]) -> int 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.
:process-request (fn [CefResourceHandler,CefRequest,CefCallback]) -> int 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.
:get-response-headers (fn [CefResourceHandler,CefResponse,Pointer,CefStringUtf16]) -> void 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.
:skip (fn [CefResourceHandler,long,Pointer,CefResourceSkipCallback]) -> int 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.
:read (fn [CefResourceHandler,Pointer,int,Pointer,CefResourceReadCallback]) -> int 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.
:read-response (fn [CefResourceHandler,Pointer,int,Pointer,CefCallback]) -> int 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.
:cancel (fn [CefResourceHandler]) -> void Request processing has been canceled.
Merge properties of a CefResourceHandler Structure used to implement a custom request handler structure. The functions of this structure will be called on the IO thread unless otherwise indicated. :open (fn [CefResourceHandler,CefRequest,Pointer,CefCallback]) -> int 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. :process-request (fn [CefResourceHandler,CefRequest,CefCallback]) -> int 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. :get-response-headers (fn [CefResourceHandler,CefResponse,Pointer,CefStringUtf16]) -> void 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. :skip (fn [CefResourceHandler,long,Pointer,CefResourceSkipCallback]) -> int 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. :read (fn [CefResourceHandler,Pointer,int,Pointer,CefResourceReadCallback]) -> int 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. :read-response (fn [CefResourceHandler,Pointer,int,Pointer,CefCallback]) -> int 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. :cancel (fn [CefResourceHandler]) -> void Request processing has been canceled.
(merge->resource-read-callback struct {:as m :keys [cont]})
Merge properties of a CefResourceReadCallback Callback for asynchronous continuation of cef_resource_handler_t::read().
:cont (fn [CefResourceReadCallback,int]) -> void 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.
Merge properties of a CefResourceReadCallback Callback for asynchronous continuation of cef_resource_handler_t::read(). :cont (fn [CefResourceReadCallback,int]) -> void 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.
(merge->resource-request-handler
struct
{:as m
:keys [get-cookie-access-filter on-before-resource-load get-resource-handler
on-resource-redirect on-resource-response get-resource-response-filter
on-resource-load-complete on-protocol-execution]})
Merge properties of a CefResourceRequestHandler 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.
:get-cookie-access-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefCookieAccessFilter 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.
:on-before-resource-load (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefRequestCallback]) -> int 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_request_callback_t:: cont() at a later time to continue or cancel the request asynchronously. Return RV_CANCEL to cancel the request immediately.
:get-resource-handler (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefResourceHandler 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.
:on-resource-redirect (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,CefStringUtf16]) -> void 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.
:on-resource-response (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> int 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.
:get-resource-response-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> CefResponseFilter 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.
:on-resource-load-complete (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,int,long]) -> void 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.
:on-protocol-execution (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,Pointer]) -> void 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.
Merge properties of a CefResourceRequestHandler 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. :get-cookie-access-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefCookieAccessFilter 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. :on-before-resource-load (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefRequestCallback]) -> int 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_request_callback_t:: cont() at a later time to continue or cancel the request asynchronously. Return RV_CANCEL to cancel the request immediately. :get-resource-handler (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest]) -> CefResourceHandler 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. :on-resource-redirect (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,CefStringUtf16]) -> void 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. :on-resource-response (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> int 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. :get-resource-response-filter (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse]) -> CefResponseFilter 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. :on-resource-load-complete (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,CefResponse,int,long]) -> void 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. :on-protocol-execution (fn [CefResourceRequestHandler,CefBrowser,CefFrame,CefRequest,Pointer]) -> void 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.
(merge->resource-skip-callback struct {:as m :keys [cont]})
Merge properties of a CefResourceSkipCallback Callback for asynchronous continuation of cef_resource_handler_t::skip().
:cont (fn [CefResourceSkipCallback,long]) -> void 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.
Merge properties of a CefResourceSkipCallback Callback for asynchronous continuation of cef_resource_handler_t::skip(). :cont (fn [CefResourceSkipCallback,long]) -> void 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.
(merge->response struct
{:as m
:keys [is-read-only get-error set-error get-status set-status
get-status-text set-status-text get-mime-type
set-mime-type get-charset set-charset
get-header-by-name set-header-by-name get-header-map
set-header-map get-url set-url]})
Merge properties of a CefResponse Structure used to represent a web response. The functions of this structure may be called on any thread.
:is-read-only (fn [CefResponse]) -> int Returns true (1) if this object is read-only.
:get-error (fn [CefResponse]) -> int Get the response error code. Returns ERR_NONE if there was no error.
:set-error (fn [CefResponse,int]) -> void Set the response error code. This can be used by custom scheme handlers to return errors during initial request processing.
:get-status (fn [CefResponse]) -> int Get the response status code.
:set-status (fn [CefResponse,int]) -> void Set the response status code.
:get-status-text (fn [CefResponse]) -> CefStringUtf16 Get the response status text. The resulting string must be freed by calling cef_string_userfree_free().
:set-status-text (fn [CefResponse,CefStringUtf16]) -> void Set the response status text.
:get-mime-type (fn [CefResponse]) -> CefStringUtf16 Get the response mime type. The resulting string must be freed by calling cef_string_userfree_free().
:set-mime-type (fn [CefResponse,CefStringUtf16]) -> void Set the response mime type.
:get-charset (fn [CefResponse]) -> CefStringUtf16 Get the response charset. The resulting string must be freed by calling cef_string_userfree_free().
:set-charset (fn [CefResponse,CefStringUtf16]) -> void Set the response charset.
:get-header-by-name (fn [CefResponse,CefStringUtf16]) -> CefStringUtf16 Get the value for the specified response header field. The resulting string must be freed by calling cef_string_userfree_free().
:set-header-by-name (fn [CefResponse,CefStringUtf16,CefStringUtf16,int]) -> void 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.
:get-header-map (fn [CefResponse,Pointer]) -> void Get all response header fields.
:set-header-map (fn [CefResponse,Pointer]) -> void Set all response header fields.
:get-url (fn [CefResponse]) -> CefStringUtf16 Get the resolved URL after redirects or changed as a result of HSTS. The resulting string must be freed by calling cef_string_userfree_free().
:set-url (fn [CefResponse,CefStringUtf16]) -> void Set the resolved URL after redirects or changed as a result of HSTS.
Merge properties of a CefResponse Structure used to represent a web response. The functions of this structure may be called on any thread. :is-read-only (fn [CefResponse]) -> int Returns true (1) if this object is read-only. :get-error (fn [CefResponse]) -> int Get the response error code. Returns ERR_NONE if there was no error. :set-error (fn [CefResponse,int]) -> void Set the response error code. This can be used by custom scheme handlers to return errors during initial request processing. :get-status (fn [CefResponse]) -> int Get the response status code. :set-status (fn [CefResponse,int]) -> void Set the response status code. :get-status-text (fn [CefResponse]) -> CefStringUtf16 Get the response status text. The resulting string must be freed by calling cef_string_userfree_free(). :set-status-text (fn [CefResponse,CefStringUtf16]) -> void Set the response status text. :get-mime-type (fn [CefResponse]) -> CefStringUtf16 Get the response mime type. The resulting string must be freed by calling cef_string_userfree_free(). :set-mime-type (fn [CefResponse,CefStringUtf16]) -> void Set the response mime type. :get-charset (fn [CefResponse]) -> CefStringUtf16 Get the response charset. The resulting string must be freed by calling cef_string_userfree_free(). :set-charset (fn [CefResponse,CefStringUtf16]) -> void Set the response charset. :get-header-by-name (fn [CefResponse,CefStringUtf16]) -> CefStringUtf16 Get the value for the specified response header field. The resulting string must be freed by calling cef_string_userfree_free(). :set-header-by-name (fn [CefResponse,CefStringUtf16,CefStringUtf16,int]) -> void 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. :get-header-map (fn [CefResponse,Pointer]) -> void Get all response header fields. :set-header-map (fn [CefResponse,Pointer]) -> void Set all response header fields. :get-url (fn [CefResponse]) -> CefStringUtf16 Get the resolved URL after redirects or changed as a result of HSTS. The resulting string must be freed by calling cef_string_userfree_free(). :set-url (fn [CefResponse,CefStringUtf16]) -> void Set the resolved URL after redirects or changed as a result of HSTS.
(merge->response-filter struct {:as m :keys [init-filter filter]})
Merge properties of a CefResponseFilter Implement this structure to filter resource response content. The functions of this structure will be called on the browser process IO thread.
:init-filter (fn [CefResponseFilter]) -> int Initialize the response filter. Will only be called a single time. The filter will not be installed if this function returns false (0).
:filter (fn [CefResponseFilter,Pointer,SizeT,Pointer,Pointer,SizeT,Pointer]) -> int Called to filter a chunk of data. Expected usage is as follows: A. Read input data from |data_in| and set |data_in_read| to the number of bytes that were read up to a maximum of |data_in_size|. |data_in| will be NULL if |data_in_size| is zero. B. Write filtered output data to |data_out| and set |data_out_written| to the number of bytes that were written up to a maximum of |data_out_size|. If no output data was written then all data must be read from |data_in| (user must set |data_in_read| = |data_in_size|). C. Return RESPONSE_FILTER_DONE if all output data was written or RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending. This function will be called repeatedly until the input buffer has been fully read (user sets |data_in_read| = |data_in_size|) and there is no more input data to filter (the resource response is complete). This function may then be called an additional time with an NULL input buffer if the user filled the output buffer (set |data_out_written| = |data_out_size|) and returned RESPONSE_FILTER_NEED_MORE_DATA to indicate that output data is still pending. Calls to this function will stop when one of the following conditions is met: A. There is no more input data to filter (the resource response is complete) and the user sets |data_out_written| = 0 or returns RESPONSE_FILTER_DONE to indicate that all data has been written, or; B. The user returns RESPONSE_FILTER_ERROR to indicate an error. Do not keep a reference to the buffers passed to this function.
Merge properties of a CefResponseFilter Implement this structure to filter resource response content. The functions of this structure will be called on the browser process IO thread. :init-filter (fn [CefResponseFilter]) -> int Initialize the response filter. Will only be called a single time. The filter will not be installed if this function returns false (0). :filter (fn [CefResponseFilter,Pointer,SizeT,Pointer,Pointer,SizeT,Pointer]) -> int Called to filter a chunk of data. Expected usage is as follows: A. Read input data from |data_in| and set |data_in_read| to the number of bytes that were read up to a maximum of |data_in_size|. |data_in| will be NULL if |data_in_size| is zero. B. Write filtered output data to |data_out| and set |data_out_written| to the number of bytes that were written up to a maximum of |data_out_size|. If no output data was written then all data must be read from |data_in| (user must set |data_in_read| = |data_in_size|). C. Return RESPONSE_FILTER_DONE if all output data was written or RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending. This function will be called repeatedly until the input buffer has been fully read (user sets |data_in_read| = |data_in_size|) and there is no more input data to filter (the resource response is complete). This function may then be called an additional time with an NULL input buffer if the user filled the output buffer (set |data_out_written| = |data_out_size|) and returned RESPONSE_FILTER_NEED_MORE_DATA to indicate that output data is still pending. Calls to this function will stop when one of the following conditions is met: A. There is no more input data to filter (the resource response is complete) and the user sets |data_out_written| = 0 or returns RESPONSE_FILTER_DONE to indicate that all data has been written, or; B. The user returns RESPONSE_FILTER_ERROR to indicate an error. Do not keep a reference to the buffers passed to this function.
(merge->run-context-menu-callback struct {:as m :keys [cont cancel]})
Merge properties of a CefRunContextMenuCallback Callback structure used for continuation of custom context menu display.
:cont (fn [CefRunContextMenuCallback,int,int]) -> void Complete context menu display by selecting the specified |command_id| and |event_flags|.
:cancel (fn [CefRunContextMenuCallback]) -> void Cancel context menu display.
Merge properties of a CefRunContextMenuCallback Callback structure used for continuation of custom context menu display. :cont (fn [CefRunContextMenuCallback,int,int]) -> void Complete context menu display by selecting the specified |command_id| and |event_flags|. :cancel (fn [CefRunContextMenuCallback]) -> void Cancel context menu display.
(merge->run-file-dialog-callback struct
{:as m :keys [on-file-dialog-dismissed]})
Merge properties of a CefRunFileDialogCallback Callback structure for cef_browser_host_t::RunFileDialog. The functions of this structure will be called on the browser process UI thread.
:on-file-dialog-dismissed (fn [CefRunFileDialogCallback,int,Pointer]) -> void Called asynchronously after the file dialog is dismissed. |selected_accept_filter| is the 0-based index of the value selected from the accept filters array passed to cef_browser_host_t::RunFileDialog. |file_paths| will be a single value or a list of values depending on the dialog mode. If the selection was cancelled |file_paths| will be NULL.
Merge properties of a CefRunFileDialogCallback Callback structure for cef_browser_host_t::RunFileDialog. The functions of this structure will be called on the browser process UI thread. :on-file-dialog-dismissed (fn [CefRunFileDialogCallback,int,Pointer]) -> void Called asynchronously after the file dialog is dismissed. |selected_accept_filter| is the 0-based index of the value selected from the accept filters array passed to cef_browser_host_t::RunFileDialog. |file_paths| will be a single value or a list of values depending on the dialog mode. If the selection was cancelled |file_paths| will be NULL.
(merge->scheme-handler-factory struct {:as m :keys [create]})
Merge properties of a CefSchemeHandlerFactory Structure that creates cef_resource_handler_t instances for handling scheme requests. The functions of this structure will always be called on the IO thread.
:create (fn [CefSchemeHandlerFactory,CefBrowser,CefFrame,CefStringUtf16,CefRequest]) -> CefResourceHandler Return a new resource handler instance to handle the request or an NULL reference to allow default handling of the request. |browser| and |frame| will be the browser window and frame respectively that originated the request or NULL if the request did not originate from a browser window (for example, if the request came from cef_urlrequest_t). The |request| object passed to this function cannot be modified.
Merge properties of a CefSchemeHandlerFactory Structure that creates cef_resource_handler_t instances for handling scheme requests. The functions of this structure will always be called on the IO thread. :create (fn [CefSchemeHandlerFactory,CefBrowser,CefFrame,CefStringUtf16,CefRequest]) -> CefResourceHandler Return a new resource handler instance to handle the request or an NULL reference to allow default handling of the request. |browser| and |frame| will be the browser window and frame respectively that originated the request or NULL if the request did not originate from a browser window (for example, if the request came from cef_urlrequest_t). The |request| object passed to this function cannot be modified.
(merge->scheme-registrar struct {:as m :keys [add-custom-scheme]})
Merge properties of a CefSchemeRegistrar Structure that manages custom scheme registrations.
:add-custom-scheme (fn [CefSchemeRegistrar,CefStringUtf16,int]) -> int Register a custom scheme. This function should not be called for the built- in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. See cef_scheme_options_t for possible values for |options|. This function may be called on any thread. It should only be called once per unique |scheme_name| value. If |scheme_name| is already registered or if an error occurs this function will return false (0).
Merge properties of a CefSchemeRegistrar Structure that manages custom scheme registrations. :add-custom-scheme (fn [CefSchemeRegistrar,CefStringUtf16,int]) -> int Register a custom scheme. This function should not be called for the built- in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. See cef_scheme_options_t for possible values for |options|. This function may be called on any thread. It should only be called once per unique |scheme_name| value. If |scheme_name| is already registered or if an error occurs this function will return false (0).
(merge->screen-info struct
{:as m
:keys [device-scale-factor depth depth-per-component
is-monochrome rect available-rect]})
Merge properties of a CefScreenInfo Screen information used when window rendering is disabled. This structure is passed as a parameter to CefRenderHandler::GetScreenInfo and should be filled in by the client.
:device-scale-factor float Device scale factor. Specifies the ratio between physical and logical pixels.
:depth int The screen depth in bits per pixel.
:depth-per-component int The bits per color component. This assumes that the colors are balanced equally.
:is-monochrome int This can be true for black and white printers.
:rect cef_rect_t This is set from the rcMonitor member of MONITORINFOEX, to whit: "A RECT structure that specifies the display monitor rectangle, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values." The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views.
:available-rect cef_rect_t This is set from the rcWork member of MONITORINFOEX, to whit: "A RECT structure that specifies the work area rectangle of the display monitor that can be used by applications, expressed in virtual-screen coordinates. Windows uses this rectangle to maximize an application on the monitor. The rest of the area in rcMonitor contains system windows such as the task bar and side bars. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values". The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views.
Merge properties of a CefScreenInfo Screen information used when window rendering is disabled. This structure is passed as a parameter to CefRenderHandler::GetScreenInfo and should be filled in by the client. :device-scale-factor float Device scale factor. Specifies the ratio between physical and logical pixels. :depth int The screen depth in bits per pixel. :depth-per-component int The bits per color component. This assumes that the colors are balanced equally. :is-monochrome int This can be true for black and white printers. :rect cef_rect_t This is set from the rcMonitor member of MONITORINFOEX, to whit: "A RECT structure that specifies the display monitor rectangle, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values." The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views. :available-rect cef_rect_t This is set from the rcWork member of MONITORINFOEX, to whit: "A RECT structure that specifies the work area rectangle of the display monitor that can be used by applications, expressed in virtual-screen coordinates. Windows uses this rectangle to maximize an application on the monitor. The rest of the area in rcMonitor contains system windows such as the task bar and side bars. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values". The |rect| and |available_rect| properties are used to determine the available surface for rendering popup views.
(merge->select-client-certificate-callback struct {:as m :keys [select]})
Merge properties of a CefSelectClientCertificateCallback Callback structure used to select a client certificate for authentication.
:select (fn [CefSelectClientCertificateCallback,CefX509certificate]) -> void Chooses the specified certificate for client certificate authentication. NULL value means that no client certificate should be used.
Merge properties of a CefSelectClientCertificateCallback Callback structure used to select a client certificate for authentication. :select (fn [CefSelectClientCertificateCallback,CefX509certificate]) -> void Chooses the specified certificate for client certificate authentication. NULL value means that no client certificate should be used.
(merge->set-cookie-callback struct {:as m :keys [on-complete]})
Merge properties of a CefSetCookieCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::set_cookie().
:on-complete (fn [CefSetCookieCallback,int]) -> void Method that will be called upon completion. |success| will be true (1) if the cookie was set successfully.
Merge properties of a CefSetCookieCallback Structure to implement to be notified of asynchronous completion via cef_cookie_manager_t::set_cookie(). :on-complete (fn [CefSetCookieCallback,int]) -> void Method that will be called upon completion. |success| will be true (1) if the cookie was set successfully.
(merge->settings
struct
{:as m
:keys [size no-sandbox browser-subprocess-path framework-dir-path
main-bundle-path chrome-runtime multi-threaded-message-loop
external-message-pump windowless-rendering-enabled
command-line-args-disabled cache-path root-cache-path user-data-path
persist-session-cookies persist-user-preferences user-agent
product-version locale log-file log-severity javascript-flags
resources-dir-path locales-dir-path pack-loading-disabled
remote-debugging-port uncaught-exception-stack-size
ignore-certificate-errors background-color accept-language-list
application-client-id-for-file-scanning]})
Merge properties of a CefSettings Initialization settings. Specify NULL or 0 to get the recommended default values. Many of these and other settings can also configured using command- line switches.
:size size_t Size of this structure.
:no-sandbox int Set to true (1) to disable the sandbox for sub-processes. See cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also configurable using the "no-sandbox" command-line switch.
:browser-subprocess-path cef_string_t The path to a separate executable that will be launched for sub-processes. If this value is empty on Windows or Linux then the main process executable will be used. If this value is empty on macOS then a helper executable must exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper" in the top-level app bundle. See the comments on CefExecuteProcess() for details. If this value is non-empty then it must be an absolute path. Also configurable using the "browser-subprocess-path" command-line switch.
:framework-dir-path cef_string_t The path to the CEF framework directory on macOS. If this value is empty then the framework must exist at "Contents/Frameworks/Chromium Embedded Framework.framework" in the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "framework-dir-path" command-line switch.
:main-bundle-path cef_string_t The path to the main bundle on macOS. If this value is empty then it defaults to the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "main-bundle-path" command-line switch.
:chrome-runtime int Set to true (1) to enable use of the Chrome runtime in CEF. This feature is considered experimental and is not recommended for most users at this time. See issue #2969 for details.
:multi-threaded-message-loop int Set to true (1) to have the browser process message loop run in a separate thread. If false (0) than the CefDoMessageLoopWork() function must be called from your application message loop. This option is only supported on Windows and Linux.
:external-message-pump int Set to true (1) to control browser process main (UI) thread message pump scheduling via the CefBrowserProcessHandler::OnScheduleMessagePumpWork() callback. This option is recommended for use in combination with the CefDoMessageLoopWork() function in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on CefDoMessageLoopWork). Enabling this option is not recommended for most users; leave this option disabled and use either the CefRunMessageLoop() function or multi_threaded_message_loop if possible.
:windowless-rendering-enabled int Set to true (1) to enable windowless (off-screen) rendering support. Do not enable this value if the application does not use windowless rendering as it may reduce rendering performance on some systems.
:command-line-args-disabled int Set to true (1) to disable configuration of browser process features using standard CEF and Chromium command-line arguments. Configuration can still be specified using CEF data structures or via the CefApp::OnBeforeCommandLineProcessing() method.
:cache-path cef_string_t The location where data for the global browser cache will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.cache_path value.
:root-cache-path cef_string_t The root directory that all CefSettings.cache_path and CefRequestContextSettings.cache_path values must have in common. If this value is empty and CefSettings.cache_path is non-empty then it will default to the CefSettings.cache_path value. If this value is non-empty then it must be an absolute path. Failure to set this value correctly may result in the sandbox blocking read/write access to the cache_path directory.
:user-data-path cef_string_t The location where user data such as spell checking dictionary files will be stored on disk. If this value is empty then the default platform-specific user data directory will be used ("~/.cef_user_data" directory on Linux, "~/Library/Application Support/CEF/User Data" directory on Mac OS X, "Local Settings\Application Data\CEF\User Data" directory under the user profile directory on Windows). If this value is non-empty then it must be an absolute path.
:persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-session-cookies" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_session_cookies value.
:persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-user-preferences" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_user_preferences value.
:user-agent cef_string_t Value that will be returned as the User-Agent HTTP header. If empty the default User-Agent string will be used. Also configurable using the "user-agent" command-line switch.
:product-version cef_string_t Value that will be inserted as the product portion of the default User-Agent string. If empty the Chromium product version will be used. If |userAgent| is specified this value will be ignored. Also configurable using the "product-version" command-line switch.
:locale cef_string_t The locale string that will be passed to WebKit. If empty the default locale of "en-US" will be used. This value is ignored on Linux where locale is determined using environment variable parsing with the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also configurable using the "lang" command-line switch.
:log-file cef_string_t The directory and file name to use for the debug log. If empty a default log file name and location will be used. On Windows and Linux a "debug.log" file will be written in the main executable directory. On Mac OS X a "~/Library/Logs/<app name>_debug.log" file will be written where <app name> is the name of the main app executable. Also configurable using the "log-file" command-line switch.
:log-severity cef_log_severity_t The log severity. Only messages of this severity level or higher will be logged. When set to DISABLE no messages will be written to the log file, but FATAL messages will still be output to stderr. Also configurable using the "log-severity" command-line switch with a value of "verbose", "info", "warning", "error", "fatal" or "disable".
:javascript-flags cef_string_t Custom flags that will be used when initializing the V8 JavaScript engine. The consequences of using custom flags may not be well tested. Also configurable using the "js-flags" command-line switch.
:resources-dir-path cef_string_t The fully qualified path for the resources directory. If this value is empty the cef.pak and/or devtools_resources.pak files must be located in the module directory on Windows/Linux or the app bundle Resources directory on Mac OS X. If this value is non-empty then it must be an absolute path. Also configurable using the "resources-dir-path" command-line switch.
:locales-dir-path cef_string_t The fully qualified path for the locales directory. If this value is empty the locales directory must be located in the module directory. If this value is non-empty then it must be an absolute path. This value is ignored on Mac OS X where pack files are always loaded from the app bundle Resources directory. Also configurable using the "locales-dir-path" command-line switch.
:pack-loading-disabled int Set to true (1) to disable loading of pack files for resources and locales. A resource bundle handler must be provided for the browser and render processes via CefApp::GetResourceBundleHandler() if loading of pack files is disabled. Also configurable using the "disable-pack-loading" command- line switch.
:remote-debugging-port int Set to a value between 1024 and 65535 to enable remote debugging on the specified port. For example, if 8080 is specified the remote debugging URL will be http://localhost:8080. CEF can be remotely debugged from any CEF or Chrome browser window. Also configurable using the "remote-debugging-port" command-line switch.
:uncaught-exception-stack-size int The number of stack trace frames to capture for uncaught exceptions. Specify a positive value to enable the CefRenderProcessHandler:: OnUncaughtException() callback. Specify 0 (default value) and OnUncaughtException() will not be called. Also configurable using the "uncaught-exception-stack-size" command-line switch.
:ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Also configurable using the "ignore-certificate-errors" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.ignore_certificate_errors value.
:background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the default value of opaque white be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled.
:accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be overridden on a per-browser basis using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.accept_language_list value.
:application-client-id-for-file-scanning cef_string_t GUID string used for identifying the application. This is passed to the system AV function for scanning downloaded files. By default, the GUID will be an empty string and the file will be treated as an untrusted file when the GUID is empty.
Merge properties of a CefSettings Initialization settings. Specify NULL or 0 to get the recommended default values. Many of these and other settings can also configured using command- line switches. :size size_t Size of this structure. :no-sandbox int Set to true (1) to disable the sandbox for sub-processes. See cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also configurable using the "no-sandbox" command-line switch. :browser-subprocess-path cef_string_t The path to a separate executable that will be launched for sub-processes. If this value is empty on Windows or Linux then the main process executable will be used. If this value is empty on macOS then a helper executable must exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper" in the top-level app bundle. See the comments on CefExecuteProcess() for details. If this value is non-empty then it must be an absolute path. Also configurable using the "browser-subprocess-path" command-line switch. :framework-dir-path cef_string_t The path to the CEF framework directory on macOS. If this value is empty then the framework must exist at "Contents/Frameworks/Chromium Embedded Framework.framework" in the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "framework-dir-path" command-line switch. :main-bundle-path cef_string_t The path to the main bundle on macOS. If this value is empty then it defaults to the top-level app bundle. If this value is non-empty then it must be an absolute path. Also configurable using the "main-bundle-path" command-line switch. :chrome-runtime int Set to true (1) to enable use of the Chrome runtime in CEF. This feature is considered experimental and is not recommended for most users at this time. See issue #2969 for details. :multi-threaded-message-loop int Set to true (1) to have the browser process message loop run in a separate thread. If false (0) than the CefDoMessageLoopWork() function must be called from your application message loop. This option is only supported on Windows and Linux. :external-message-pump int Set to true (1) to control browser process main (UI) thread message pump scheduling via the CefBrowserProcessHandler::OnScheduleMessagePumpWork() callback. This option is recommended for use in combination with the CefDoMessageLoopWork() function in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on CefDoMessageLoopWork). Enabling this option is not recommended for most users; leave this option disabled and use either the CefRunMessageLoop() function or multi_threaded_message_loop if possible. :windowless-rendering-enabled int Set to true (1) to enable windowless (off-screen) rendering support. Do not enable this value if the application does not use windowless rendering as it may reduce rendering performance on some systems. :command-line-args-disabled int Set to true (1) to disable configuration of browser process features using standard CEF and Chromium command-line arguments. Configuration can still be specified using CEF data structures or via the CefApp::OnBeforeCommandLineProcessing() method. :cache-path cef_string_t The location where data for the global browser cache will be stored on disk. If this value is non-empty then it must be an absolute path that is either equal to or a child directory of CefSettings.root_cache_path. If this value is empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.cache_path value. :root-cache-path cef_string_t The root directory that all CefSettings.cache_path and CefRequestContextSettings.cache_path values must have in common. If this value is empty and CefSettings.cache_path is non-empty then it will default to the CefSettings.cache_path value. If this value is non-empty then it must be an absolute path. Failure to set this value correctly may result in the sandbox blocking read/write access to the cache_path directory. :user-data-path cef_string_t The location where user data such as spell checking dictionary files will be stored on disk. If this value is empty then the default platform-specific user data directory will be used ("~/.cef_user_data" directory on Linux, "~/Library/Application Support/CEF/User Data" directory on Mac OS X, "Local Settings\Application Data\CEF\User Data" directory under the user profile directory on Windows). If this value is non-empty then it must be an absolute path. :persist-session-cookies int To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-session-cookies" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_session_cookies value. :persist-user-preferences int To persist user preferences as a JSON file in the cache path directory set this value to true (1). A |cache_path| value must also be specified to enable this feature. Also configurable using the "persist-user-preferences" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.persist_user_preferences value. :user-agent cef_string_t Value that will be returned as the User-Agent HTTP header. If empty the default User-Agent string will be used. Also configurable using the "user-agent" command-line switch. :product-version cef_string_t Value that will be inserted as the product portion of the default User-Agent string. If empty the Chromium product version will be used. If |userAgent| is specified this value will be ignored. Also configurable using the "product-version" command-line switch. :locale cef_string_t The locale string that will be passed to WebKit. If empty the default locale of "en-US" will be used. This value is ignored on Linux where locale is determined using environment variable parsing with the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also configurable using the "lang" command-line switch. :log-file cef_string_t The directory and file name to use for the debug log. If empty a default log file name and location will be used. On Windows and Linux a "debug.log" file will be written in the main executable directory. On Mac OS X a "~/Library/Logs/<app name>_debug.log" file will be written where <app name> is the name of the main app executable. Also configurable using the "log-file" command-line switch. :log-severity cef_log_severity_t The log severity. Only messages of this severity level or higher will be logged. When set to DISABLE no messages will be written to the log file, but FATAL messages will still be output to stderr. Also configurable using the "log-severity" command-line switch with a value of "verbose", "info", "warning", "error", "fatal" or "disable". :javascript-flags cef_string_t Custom flags that will be used when initializing the V8 JavaScript engine. The consequences of using custom flags may not be well tested. Also configurable using the "js-flags" command-line switch. :resources-dir-path cef_string_t The fully qualified path for the resources directory. If this value is empty the cef.pak and/or devtools_resources.pak files must be located in the module directory on Windows/Linux or the app bundle Resources directory on Mac OS X. If this value is non-empty then it must be an absolute path. Also configurable using the "resources-dir-path" command-line switch. :locales-dir-path cef_string_t The fully qualified path for the locales directory. If this value is empty the locales directory must be located in the module directory. If this value is non-empty then it must be an absolute path. This value is ignored on Mac OS X where pack files are always loaded from the app bundle Resources directory. Also configurable using the "locales-dir-path" command-line switch. :pack-loading-disabled int Set to true (1) to disable loading of pack files for resources and locales. A resource bundle handler must be provided for the browser and render processes via CefApp::GetResourceBundleHandler() if loading of pack files is disabled. Also configurable using the "disable-pack-loading" command- line switch. :remote-debugging-port int Set to a value between 1024 and 65535 to enable remote debugging on the specified port. For example, if 8080 is specified the remote debugging URL will be http://localhost:8080. CEF can be remotely debugged from any CEF or Chrome browser window. Also configurable using the "remote-debugging-port" command-line switch. :uncaught-exception-stack-size int The number of stack trace frames to capture for uncaught exceptions. Specify a positive value to enable the CefRenderProcessHandler:: OnUncaughtException() callback. Specify 0 (default value) and OnUncaughtException() will not be called. Also configurable using the "uncaught-exception-stack-size" command-line switch. :ignore-certificate-errors int Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Also configurable using the "ignore-certificate-errors" command-line switch. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.ignore_certificate_errors value. :background-color cef_color_t Background color used for the browser before a document is loaded and when no document color is specified. The alpha component must be either fully opaque (0xFF) or fully transparent (0x00). If the alpha component is fully opaque then the RGB components will be used as the background color. If the alpha component is fully transparent for a windowed browser then the default value of opaque white be used. If the alpha component is fully transparent for a windowless (off-screen) browser then transparent painting will be enabled. :accept-language-list cef_string_t Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be overridden on a per-browser basis using the CefBrowserSettings.accept_language_list value. If both values are empty then "en-US,en" will be used. Can be overridden for individual CefRequestContext instances via the CefRequestContextSettings.accept_language_list value. :application-client-id-for-file-scanning cef_string_t GUID string used for identifying the application. This is passed to the system AV function for scanning downloaded files. By default, the GUID will be an empty string and the file will be treated as an untrusted file when the GUID is empty.
(merge->size struct {:as m :keys [width height]})
Merge properties of a CefSize Structure representing a size.
Merge properties of a CefSize Structure representing a size.
(merge->sslinfo struct {:as m :keys [get-cert-status get-x509certificate]})
Merge properties of a CefSslinfo Structure representing SSL information.
:get-cert-status (fn [CefSslinfo]) -> int Returns a bitmask containing any and all problems verifying the server certificate.
:get-x509certificate (fn [CefSslinfo]) -> CefX509certificate Returns the X.509 certificate.
Merge properties of a CefSslinfo Structure representing SSL information. :get-cert-status (fn [CefSslinfo]) -> int Returns a bitmask containing any and all problems verifying the server certificate. :get-x509certificate (fn [CefSslinfo]) -> CefX509certificate Returns the X.509 certificate.
(merge->sslstatus struct
{:as m
:keys [is-secure-connection get-cert-status get-sslversion
get-content-status get-x509certificate]})
Merge properties of a CefSslstatus Structure representing the SSL information for a navigation entry.
:is-secure-connection (fn [CefSslstatus]) -> int Returns true (1) if the status is related to a secure SSL/TLS connection.
:get-cert-status (fn [CefSslstatus]) -> int Returns a bitmask containing any and all problems verifying the server certificate.
:get-sslversion (fn [CefSslstatus]) -> int Returns the SSL version used for the SSL connection.
:get-content-status (fn [CefSslstatus]) -> int Returns a bitmask containing the page security content status.
:get-x509certificate (fn [CefSslstatus]) -> CefX509certificate Returns the X.509 certificate.
Merge properties of a CefSslstatus Structure representing the SSL information for a navigation entry. :is-secure-connection (fn [CefSslstatus]) -> int Returns true (1) if the status is related to a secure SSL/TLS connection. :get-cert-status (fn [CefSslstatus]) -> int Returns a bitmask containing any and all problems verifying the server certificate. :get-sslversion (fn [CefSslstatus]) -> int Returns the SSL version used for the SSL connection. :get-content-status (fn [CefSslstatus]) -> int Returns a bitmask containing the page security content status. :get-x509certificate (fn [CefSslstatus]) -> CefX509certificate Returns the X.509 certificate.
(merge->stream-reader struct {:as m :keys [read seek tell eof may-block]})
Merge properties of a CefStreamReader Structure used to read data from a stream. The functions of this structure may be called on any thread.
:read (fn [CefStreamReader,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data.
:seek (fn [CefStreamReader,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure.
:tell (fn [CefStreamReader]) -> long Return the current offset position.
:eof (fn [CefStreamReader]) -> int Return non-zero if at end of file.
:may-block (fn [CefStreamReader]) -> int Returns true (1) if this reader performs work like accessing the file system which may block. Used as a hint for determining the thread to access the reader from.
Merge properties of a CefStreamReader Structure used to read data from a stream. The functions of this structure may be called on any thread. :read (fn [CefStreamReader,Pointer,SizeT,SizeT]) -> SizeT Read raw binary data. :seek (fn [CefStreamReader,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure. :tell (fn [CefStreamReader]) -> long Return the current offset position. :eof (fn [CefStreamReader]) -> int Return non-zero if at end of file. :may-block (fn [CefStreamReader]) -> int Returns true (1) if this reader performs work like accessing the file system which may block. Used as a hint for determining the thread to access the reader from.
(merge->stream-writer struct {:as m :keys [write seek tell flush may-block]})
Merge properties of a CefStreamWriter Structure used to write data to a stream. The functions of this structure may be called on any thread.
:write (fn [CefStreamWriter,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data.
:seek (fn [CefStreamWriter,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure.
:tell (fn [CefStreamWriter]) -> long Return the current offset position.
:flush (fn [CefStreamWriter]) -> int Flush the stream.
:may-block (fn [CefStreamWriter]) -> int Returns true (1) if this writer performs work like accessing the file system which may block. Used as a hint for determining the thread to access the writer from.
Merge properties of a CefStreamWriter Structure used to write data to a stream. The functions of this structure may be called on any thread. :write (fn [CefStreamWriter,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data. :seek (fn [CefStreamWriter,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on failure. :tell (fn [CefStreamWriter]) -> long Return the current offset position. :flush (fn [CefStreamWriter]) -> int Flush the stream. :may-block (fn [CefStreamWriter]) -> int Returns true (1) if this writer performs work like accessing the file system which may block. Used as a hint for determining the thread to access the writer from.
(merge->string-utf16 struct {:as m :keys [str length dtor]})
Merge properties of a CefStringUtf16
Merge properties of a CefStringUtf16
(merge->string-utf8 struct {:as m :keys [str length dtor]})
Merge properties of a CefStringUtf8
Merge properties of a CefStringUtf8
(merge->string-visitor struct {:as m :keys [visit]})
Merge properties of a CefStringVisitor Implement this structure to receive string values asynchronously.
:visit (fn [CefStringVisitor,CefStringUtf16]) -> void Method that will be executed.
Merge properties of a CefStringVisitor Implement this structure to receive string values asynchronously. :visit (fn [CefStringVisitor,CefStringUtf16]) -> void Method that will be executed.
(merge->string-wide struct {:as m :keys [str length dtor]})
Merge properties of a CefStringWide CEF string type definitions. Whomever allocates |str| is responsible for providing an appropriate |dtor| implementation that will free the string in the same memory space. When reusing an existing string structure make sure to call |dtor| for the old value before assigning new |str| and |dtor| values. Static strings will have a NULL |dtor| value. Using the below functions if you want this managed for you.
Merge properties of a CefStringWide CEF string type definitions. Whomever allocates |str| is responsible for providing an appropriate |dtor| implementation that will free the string in the same memory space. When reusing an existing string structure make sure to call |dtor| for the old value before assigning new |str| and |dtor| values. Static strings will have a NULL |dtor| value. Using the below functions if you want this managed for you.
(merge->task struct {:as m :keys [execute]})
Merge properties of a CefTask Implement this structure for asynchronous task execution. If the task is posted successfully and if the associated message loop is still running then the execute() function will be called on the target thread. If the task fails to post then the task object may be destroyed on the source thread instead of the target thread. For this reason be cautious when performing work in the task object destructor.
:execute (fn [CefTask]) -> void Method that will be executed on the target thread.
Merge properties of a CefTask Implement this structure for asynchronous task execution. If the task is posted successfully and if the associated message loop is still running then the execute() function will be called on the target thread. If the task fails to post then the task object may be destroyed on the source thread instead of the target thread. For this reason be cautious when performing work in the task object destructor. :execute (fn [CefTask]) -> void Method that will be executed on the target thread.
(merge->task-runner struct
{:as m
:keys [is-same belongs-to-current-thread belongs-to-thread
post-task post-delayed-task]})
Merge properties of a CefTaskRunner Structure that asynchronously executes tasks on the associated thread. It is safe to call the functions of this structure on any thread. CEF maintains multiple internal threads that are used for handling different types of tasks in different processes. The cef_thread_id_t definitions in cef_types.h list the common CEF threads. Task runners are also available for other CEF threads as appropriate (for example, V8 WebWorker threads).
:is-same (fn [CefTaskRunner,CefTaskRunner]) -> int Returns true (1) if this object is pointing to the same task runner as |that| object.
:belongs-to-current-thread (fn [CefTaskRunner]) -> int Returns true (1) if this task runner belongs to the current thread.
:belongs-to-thread (fn [CefTaskRunner,int]) -> int Returns true (1) if this task runner is for the specified CEF thread.
:post-task (fn [CefTaskRunner,CefTask]) -> int Post a task for execution on the thread associated with this task runner. Execution will occur asynchronously.
:post-delayed-task (fn [CefTaskRunner,CefTask,long]) -> int Post a task for delayed execution on the thread associated with this task runner. Execution will occur asynchronously. Delayed tasks are not supported on V8 WebWorker threads and will be executed without the specified delay.
Merge properties of a CefTaskRunner Structure that asynchronously executes tasks on the associated thread. It is safe to call the functions of this structure on any thread. CEF maintains multiple internal threads that are used for handling different types of tasks in different processes. The cef_thread_id_t definitions in cef_types.h list the common CEF threads. Task runners are also available for other CEF threads as appropriate (for example, V8 WebWorker threads). :is-same (fn [CefTaskRunner,CefTaskRunner]) -> int Returns true (1) if this object is pointing to the same task runner as |that| object. :belongs-to-current-thread (fn [CefTaskRunner]) -> int Returns true (1) if this task runner belongs to the current thread. :belongs-to-thread (fn [CefTaskRunner,int]) -> int Returns true (1) if this task runner is for the specified CEF thread. :post-task (fn [CefTaskRunner,CefTask]) -> int Post a task for execution on the thread associated with this task runner. Execution will occur asynchronously. :post-delayed-task (fn [CefTaskRunner,CefTask,long]) -> int Post a task for delayed execution on the thread associated with this task runner. Execution will occur asynchronously. Delayed tasks are not supported on V8 WebWorker threads and will be executed without the specified delay.
(merge->time struct
{:as m
:keys [year month day-of-week day-of-month hour minute second
millisecond]})
Merge properties of a CefTime Time information. Values should always be in UTC.
:month int Four or five digit year "2007" (1601 to 30827 on Windows, 1970 to 2038 on 32-bit POSIX)
:day-of-week int 1-based month (values 1 = January, etc.)
:day-of-month int 0-based day of week (0 = Sunday, etc.)
:hour int 1-based day of month (1-31)
:minute int Hour within the current day (0-23)
:second int Minute within the current hour (0-59)
:millisecond int Second within the current minute (0-59 plus leap seconds which may take it up to 60).
Merge properties of a CefTime Time information. Values should always be in UTC. :month int Four or five digit year "2007" (1601 to 30827 on Windows, 1970 to 2038 on 32-bit POSIX) :day-of-week int 1-based month (values 1 = January, etc.) :day-of-month int 0-based day of week (0 = Sunday, etc.) :hour int 1-based day of month (1-31) :minute int Hour within the current day (0-23) :second int Minute within the current hour (0-59) :millisecond int Second within the current minute (0-59 plus leap seconds which may take it up to 60).
(merge->touch-event struct
{:as m
:keys [id x y radius-x radius-y rotation-angle pressure
type modifiers pointer-type]})
Merge properties of a CefTouchEvent Structure representing touch event information.
:id int Id of a touch point. Must be unique per touch, can be any number except -1. Note that a maximum of 16 concurrent touches will be tracked; touches beyond that will be ignored.
:x float X coordinate relative to the left side of the view.
:y float Y coordinate relative to the top side of the view.
:radius-x float X radius in pixels. Set to 0 if not applicable.
:radius-y float Y radius in pixels. Set to 0 if not applicable.
:rotation-angle float Rotation angle in radians. Set to 0 if not applicable.
:pressure float The normalized pressure of the pointer input in the range of [0,1]. Set to 0 if not applicable.
:type cef_touch_event_type_t The state of the touch point. Touches begin with one CEF_TET_PRESSED event followed by zero or more CEF_TET_MOVED events and finally one CEF_TET_RELEASED or CEF_TET_CANCELLED event. Events not respecting this order will be ignored.
:modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values.
:pointer-type cef_pointer_type_t The device type that caused the event.
Merge properties of a CefTouchEvent Structure representing touch event information. :id int Id of a touch point. Must be unique per touch, can be any number except -1. Note that a maximum of 16 concurrent touches will be tracked; touches beyond that will be ignored. :x float X coordinate relative to the left side of the view. :y float Y coordinate relative to the top side of the view. :radius-x float X radius in pixels. Set to 0 if not applicable. :radius-y float Y radius in pixels. Set to 0 if not applicable. :rotation-angle float Rotation angle in radians. Set to 0 if not applicable. :pressure float The normalized pressure of the pointer input in the range of [0,1]. Set to 0 if not applicable. :type cef_touch_event_type_t The state of the touch point. Touches begin with one CEF_TET_PRESSED event followed by zero or more CEF_TET_MOVED events and finally one CEF_TET_RELEASED or CEF_TET_CANCELLED event. Events not respecting this order will be ignored. :modifiers uint32 Bit flags describing any pressed modifier keys. See cef_event_flags_t for values. :pointer-type cef_pointer_type_t The device type that caused the event.
(merge->urlparts struct
{:as m
:keys [spec scheme username password host port origin path
query fragment]})
Merge properties of a CefUrlparts URL component parts.
:spec cef_string_t The complete URL specification.
:scheme cef_string_t Scheme component not including the colon (e.g., "http").
:username cef_string_t User name component.
:password cef_string_t Password component.
:host cef_string_t Host component. This may be a hostname, an IPv4 address or an IPv6 literal surrounded by square brackets (e.g., "[2001:db8::1]").
:port cef_string_t Port number component.
:origin cef_string_t Origin contains just the scheme, host, and port from a URL. Equivalent to clearing any username and password, replacing the path with a slash, and clearing everything after that. This value will be empty for non-standard URLs.
:path cef_string_t Path component including the first slash following the host.
:query cef_string_t Query string component (i.e., everything following the '?').
:fragment cef_string_t Fragment (hash) identifier component (i.e., the string following the '#').
Merge properties of a CefUrlparts URL component parts. :spec cef_string_t The complete URL specification. :scheme cef_string_t Scheme component not including the colon (e.g., "http"). :username cef_string_t User name component. :password cef_string_t Password component. :host cef_string_t Host component. This may be a hostname, an IPv4 address or an IPv6 literal surrounded by square brackets (e.g., "[2001:db8::1]"). :port cef_string_t Port number component. :origin cef_string_t Origin contains just the scheme, host, and port from a URL. Equivalent to clearing any username and password, replacing the path with a slash, and clearing everything after that. This value will be empty for non-standard URLs. :path cef_string_t Path component including the first slash following the host. :query cef_string_t Query string component (i.e., everything following the '?'). :fragment cef_string_t Fragment (hash) identifier component (i.e., the string following the '#').
(merge->urlrequest struct
{:as m
:keys [get-request get-client get-request-status
get-request-error get-response response-was-cached
cancel]})
Merge properties of a CefUrlrequest Structure used to make a URL request. URL requests are not associated with a browser instance so no cef_client_t callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the functions of the URL request object must be accessed on the same thread that created it.
:get-request (fn [CefUrlrequest]) -> CefRequest Returns the request object used to create this URL request. The returned object is read-only and should not be modified.
:get-client (fn [CefUrlrequest]) -> CefUrlrequestClient Returns the client.
:get-request-status (fn [CefUrlrequest]) -> int Returns the request status.
:get-request-error (fn [CefUrlrequest]) -> int Returns the request error if status is UR_CANCELED or UR_FAILED, or 0 otherwise.
:get-response (fn [CefUrlrequest]) -> CefResponse Returns the response, or NULL if no response information is available. Response information will only be available after the upload has completed. The returned object is read-only and should not be modified.
:response-was-cached (fn [CefUrlrequest]) -> int Returns true (1) if the response body was served from the cache. This includes responses for which revalidation was required.
:cancel (fn [CefUrlrequest]) -> void Cancel the request.
Merge properties of a CefUrlrequest Structure used to make a URL request. URL requests are not associated with a browser instance so no cef_client_t callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the functions of the URL request object must be accessed on the same thread that created it. :get-request (fn [CefUrlrequest]) -> CefRequest Returns the request object used to create this URL request. The returned object is read-only and should not be modified. :get-client (fn [CefUrlrequest]) -> CefUrlrequestClient Returns the client. :get-request-status (fn [CefUrlrequest]) -> int Returns the request status. :get-request-error (fn [CefUrlrequest]) -> int Returns the request error if status is UR_CANCELED or UR_FAILED, or 0 otherwise. :get-response (fn [CefUrlrequest]) -> CefResponse Returns the response, or NULL if no response information is available. Response information will only be available after the upload has completed. The returned object is read-only and should not be modified. :response-was-cached (fn [CefUrlrequest]) -> int Returns true (1) if the response body was served from the cache. This includes responses for which revalidation was required. :cancel (fn [CefUrlrequest]) -> void Cancel the request.
(merge->urlrequest-client struct
{:as m
:keys [on-request-complete on-upload-progress
on-download-progress on-download-data
get-auth-credentials]})
Merge properties of a CefUrlrequestClient Structure that should be implemented by the cef_urlrequest_t client. The functions of this structure will be called on the same thread that created the request unless otherwise documented.
:on-request-complete (fn [CefUrlrequestClient,CefUrlrequest]) -> void Notifies the client that the request has completed. Use the cef_urlrequest_t::GetRequestStatus function to determine if the request was successful or not.
:on-upload-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of upload progress. |current| denotes the number of bytes sent so far and |total| is the total size of uploading data (or -1 if chunked upload is enabled). This function will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request.
:on-download-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of download progress. |current| denotes the number of bytes received up to the call and |total| is the expected total size of the response (or -1 if not determined).
:on-download-data (fn [CefUrlrequestClient,CefUrlrequest,Pointer,SizeT]) -> void Called when some part of the response is read. |data| contains the current bytes received since the last call. This function will not be called if the UR_FLAG_NO_DOWNLOAD_DATA flag is set on the request.
:get-auth-credentials (fn [CefUrlrequestClient,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int Called on the IO thread when the browser needs credentials from the user. |isProxy| indicates whether the host is a proxy server. |host| contains the hostname and |port| contains the port number. Return true (1) to continue the request and call cef_auth_callback_t::cont() when the authentication information is available. If the request has an associated browser/frame then returning false (0) will result in a call to GetAuthCredentials on the cef_request_handler_t associated with that browser, if any. Otherwise, returning false (0) will cancel the request immediately. This function will only be called for requests initiated from the browser process.
Merge properties of a CefUrlrequestClient Structure that should be implemented by the cef_urlrequest_t client. The functions of this structure will be called on the same thread that created the request unless otherwise documented. :on-request-complete (fn [CefUrlrequestClient,CefUrlrequest]) -> void Notifies the client that the request has completed. Use the cef_urlrequest_t::GetRequestStatus function to determine if the request was successful or not. :on-upload-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of upload progress. |current| denotes the number of bytes sent so far and |total| is the total size of uploading data (or -1 if chunked upload is enabled). This function will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request. :on-download-progress (fn [CefUrlrequestClient,CefUrlrequest,long,long]) -> void Notifies the client of download progress. |current| denotes the number of bytes received up to the call and |total| is the expected total size of the response (or -1 if not determined). :on-download-data (fn [CefUrlrequestClient,CefUrlrequest,Pointer,SizeT]) -> void Called when some part of the response is read. |data| contains the current bytes received since the last call. This function will not be called if the UR_FLAG_NO_DOWNLOAD_DATA flag is set on the request. :get-auth-credentials (fn [CefUrlrequestClient,int,CefStringUtf16,int,CefStringUtf16,CefStringUtf16,CefAuthCallback]) -> int Called on the IO thread when the browser needs credentials from the user. |isProxy| indicates whether the host is a proxy server. |host| contains the hostname and |port| contains the port number. Return true (1) to continue the request and call cef_auth_callback_t::cont() when the authentication information is available. If the request has an associated browser/frame then returning false (0) will result in a call to GetAuthCredentials on the cef_request_handler_t associated with that browser, if any. Otherwise, returning false (0) will cancel the request immediately. This function will only be called for requests initiated from the browser process.
(merge->v8accessor struct {:as m :keys [get set]})
Merge properties of a CefV8accessor Structure that should be implemented to handle V8 accessor calls. Accessor identifiers are registered by calling cef_v8value_t::set_value(). The functions of this structure will be called on the thread associated with the V8 accessor.
:get (fn [CefV8accessor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. If retrieval succeeds set |retval| to the return value. If retrieval fails set |exception| to the exception that will be thrown. Return true (1) if accessor retrieval was handled.
:set (fn [CefV8accessor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. |value| is the new value being assigned to the accessor. If assignment fails set |exception| to the exception that will be thrown. Return true (1) if accessor assignment was handled.
Merge properties of a CefV8accessor Structure that should be implemented to handle V8 accessor calls. Accessor identifiers are registered by calling cef_v8value_t::set_value(). The functions of this structure will be called on the thread associated with the V8 accessor. :get (fn [CefV8accessor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. If retrieval succeeds set |retval| to the return value. If retrieval fails set |exception| to the exception that will be thrown. Return true (1) if accessor retrieval was handled. :set (fn [CefV8accessor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the accessor value identified by |name|. |object| is the receiver ('this' object) of the accessor. |value| is the new value being assigned to the accessor. If assignment fails set |exception| to the exception that will be thrown. Return true (1) if accessor assignment was handled.
(merge->v8array-buffer-release-callback struct {:as m :keys [release-buffer]})
Merge properties of a CefV8arrayBufferReleaseCallback Callback structure that is passed to cef_v8value_t::CreateArrayBuffer.
:release-buffer (fn [CefV8arrayBufferReleaseCallback,Pointer]) -> void Called to release |buffer| when the ArrayBuffer JS object is garbage collected. |buffer| is the value that was passed to CreateArrayBuffer along with this object.
Merge properties of a CefV8arrayBufferReleaseCallback Callback structure that is passed to cef_v8value_t::CreateArrayBuffer. :release-buffer (fn [CefV8arrayBufferReleaseCallback,Pointer]) -> void Called to release |buffer| when the ArrayBuffer JS object is garbage collected. |buffer| is the value that was passed to CreateArrayBuffer along with this object.
(merge->v8context struct
{:as m
:keys [get-task-runner is-valid get-browser get-frame
get-global enter exit is-same eval]})
Merge properties of a CefV8context Structure representing a V8 context handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:get-task-runner (fn [CefV8context]) -> CefTaskRunner Returns the task runner associated with this context. V8 handles can only be accessed from the thread on which they are created. This function can be called on any render process thread.
:is-valid (fn [CefV8context]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:get-browser (fn [CefV8context]) -> CefBrowser Returns the browser for this context. This function will return an NULL reference for WebWorker contexts.
:get-frame (fn [CefV8context]) -> CefFrame Returns the frame for this context. This function will return an NULL reference for WebWorker contexts.
:get-global (fn [CefV8context]) -> CefV8value Returns the global object for this context. The context must be entered before calling this function.
:enter (fn [CefV8context]) -> int Enter this context. A context must be explicitly entered before creating a V8 Object, Array, Function or Date asynchronously. exit() must be called the same number of times as enter() before releasing this context. V8 objects belong to the context in which they are created. Returns true (1) if the scope was entered successfully.
:exit (fn [CefV8context]) -> int Exit this context. Call this function only after calling enter(). Returns true (1) if the scope was exited successfully.
:is-same (fn [CefV8context,CefV8context]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:eval (fn [CefV8context,CefStringUtf16,CefStringUtf16,int,Pointer,Pointer]) -> int Execute a string of JavaScript code in this V8 context. The |script_url| parameter is the URL where the script in question can be found, if any. The |start_line| parameter is the base line number to use for error reporting. On success |retval| will be set to the return value, if any, and the function will return true (1). On failure |exception| will be set to the exception, if any, and the function will return false (0).
Merge properties of a CefV8context Structure representing a V8 context handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :get-task-runner (fn [CefV8context]) -> CefTaskRunner Returns the task runner associated with this context. V8 handles can only be accessed from the thread on which they are created. This function can be called on any render process thread. :is-valid (fn [CefV8context]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :get-browser (fn [CefV8context]) -> CefBrowser Returns the browser for this context. This function will return an NULL reference for WebWorker contexts. :get-frame (fn [CefV8context]) -> CefFrame Returns the frame for this context. This function will return an NULL reference for WebWorker contexts. :get-global (fn [CefV8context]) -> CefV8value Returns the global object for this context. The context must be entered before calling this function. :enter (fn [CefV8context]) -> int Enter this context. A context must be explicitly entered before creating a V8 Object, Array, Function or Date asynchronously. exit() must be called the same number of times as enter() before releasing this context. V8 objects belong to the context in which they are created. Returns true (1) if the scope was entered successfully. :exit (fn [CefV8context]) -> int Exit this context. Call this function only after calling enter(). Returns true (1) if the scope was exited successfully. :is-same (fn [CefV8context,CefV8context]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :eval (fn [CefV8context,CefStringUtf16,CefStringUtf16,int,Pointer,Pointer]) -> int Execute a string of JavaScript code in this V8 context. The |script_url| parameter is the URL where the script in question can be found, if any. The |start_line| parameter is the base line number to use for error reporting. On success |retval| will be set to the return value, if any, and the function will return true (1). On failure |exception| will be set to the exception, if any, and the function will return false (0).
(merge->v8exception struct
{:as m
:keys [get-message get-source-line get-script-resource-name
get-line-number get-start-position get-end-position
get-start-column get-end-column]})
Merge properties of a CefV8exception Structure representing a V8 exception. The functions of this structure may be called on any render process thread.
:get-message (fn [CefV8exception]) -> CefStringUtf16 Returns the exception message. The resulting string must be freed by calling cef_string_userfree_free().
:get-source-line (fn [CefV8exception]) -> CefStringUtf16 Returns the line of source code that the exception occurred within. The resulting string must be freed by calling cef_string_userfree_free().
:get-script-resource-name (fn [CefV8exception]) -> CefStringUtf16 Returns the resource name for the script from where the function causing the error originates. The resulting string must be freed by calling cef_string_userfree_free().
:get-line-number (fn [CefV8exception]) -> int Returns the 1-based number of the line where the error occurred or 0 if the line number is unknown.
:get-start-position (fn [CefV8exception]) -> int Returns the index within the script of the first character where the error occurred.
:get-end-position (fn [CefV8exception]) -> int Returns the index within the script of the last character where the error occurred.
:get-start-column (fn [CefV8exception]) -> int Returns the index within the line of the first character where the error occurred.
:get-end-column (fn [CefV8exception]) -> int Returns the index within the line of the last character where the error occurred.
Merge properties of a CefV8exception Structure representing a V8 exception. The functions of this structure may be called on any render process thread. :get-message (fn [CefV8exception]) -> CefStringUtf16 Returns the exception message. The resulting string must be freed by calling cef_string_userfree_free(). :get-source-line (fn [CefV8exception]) -> CefStringUtf16 Returns the line of source code that the exception occurred within. The resulting string must be freed by calling cef_string_userfree_free(). :get-script-resource-name (fn [CefV8exception]) -> CefStringUtf16 Returns the resource name for the script from where the function causing the error originates. The resulting string must be freed by calling cef_string_userfree_free(). :get-line-number (fn [CefV8exception]) -> int Returns the 1-based number of the line where the error occurred or 0 if the line number is unknown. :get-start-position (fn [CefV8exception]) -> int Returns the index within the script of the first character where the error occurred. :get-end-position (fn [CefV8exception]) -> int Returns the index within the script of the last character where the error occurred. :get-start-column (fn [CefV8exception]) -> int Returns the index within the line of the first character where the error occurred. :get-end-column (fn [CefV8exception]) -> int Returns the index within the line of the last character where the error occurred.
(merge->v8handler struct {:as m :keys [execute]})
Merge properties of a CefV8handler Structure that should be implemented to handle V8 function calls. The functions of this structure will be called on the thread associated with the V8 function.
:execute (fn [CefV8handler,CefStringUtf16,CefV8value,SizeT,Pointer,Pointer,CefStringUtf16]) -> int Handle execution of the function identified by |name|. |object| is the receiver ('this' object) of the function. |arguments| is the list of arguments passed to the function. If execution succeeds set |retval| to the function return value. If execution fails set |exception| to the exception that will be thrown. Return true (1) if execution was handled.
Merge properties of a CefV8handler Structure that should be implemented to handle V8 function calls. The functions of this structure will be called on the thread associated with the V8 function. :execute (fn [CefV8handler,CefStringUtf16,CefV8value,SizeT,Pointer,Pointer,CefStringUtf16]) -> int Handle execution of the function identified by |name|. |object| is the receiver ('this' object) of the function. |arguments| is the list of arguments passed to the function. If execution succeeds set |retval| to the function return value. If execution fails set |exception| to the exception that will be thrown. Return true (1) if execution was handled.
(merge->v8interceptor struct
{:as m
:keys [get-byname get-byindex set-byname set-byindex]})
Merge properties of a CefV8interceptor Structure that should be implemented to handle V8 interceptor calls. The functions of this structure will be called on the thread associated with the V8 interceptor. Interceptor's named property handlers (with first argument of type CefString) are called when object is indexed by string. Indexed property handlers (with first argument of type int) are called when object is indexed by integer.
:get-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. If the property has an associated accessor, it will be called only if you don't set |retval|. Return true (1) if interceptor retrieval was handled, false (0) otherwise.
:get-byindex (fn [CefV8interceptor,int,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor retrieval was handled, false (0) otherwise.
:set-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. This setter will always be called, even when the property has an associated accessor. Return true (1) if interceptor assignment was handled, false (0) otherwise.
:set-byindex (fn [CefV8interceptor,int,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor assignment was handled, false (0) otherwise.
Merge properties of a CefV8interceptor Structure that should be implemented to handle V8 interceptor calls. The functions of this structure will be called on the thread associated with the V8 interceptor. Interceptor's named property handlers (with first argument of type CefString) are called when object is indexed by string. Indexed property handlers (with first argument of type int) are called when object is indexed by integer. :get-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. If the property has an associated accessor, it will be called only if you don't set |retval|. Return true (1) if interceptor retrieval was handled, false (0) otherwise. :get-byindex (fn [CefV8interceptor,int,CefV8value,Pointer,CefStringUtf16]) -> int Handle retrieval of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. If retrieval succeeds, set |retval| to the return value. If the requested value does not exist, don't set either |retval| or |exception|. If retrieval fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor retrieval was handled, false (0) otherwise. :set-byname (fn [CefV8interceptor,CefStringUtf16,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |name|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. This setter will always be called, even when the property has an associated accessor. Return true (1) if interceptor assignment was handled, false (0) otherwise. :set-byindex (fn [CefV8interceptor,int,CefV8value,CefV8value,CefStringUtf16]) -> int Handle assignment of the interceptor value identified by |index|. |object| is the receiver ('this' object) of the interceptor. |value| is the new value being assigned to the interceptor. If assignment fails, set |exception| to the exception that will be thrown. Return true (1) if interceptor assignment was handled, false (0) otherwise.
(merge->v8stack-frame
struct
{:as m
:keys [is-valid get-script-name get-script-name-or-source-url
get-function-name get-line-number get-column is-eval is-constructor]})
Merge properties of a CefV8stackFrame Structure representing a V8 stack frame handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:is-valid (fn [CefV8stackFrame]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:get-script-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function. The resulting string must be freed by calling cef_string_userfree_free().
:get-script-name-or-source-url (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function or the sourceURL value if the script name is undefined and its source ends with a "//@ sourceURL=..." string. The resulting string must be freed by calling cef_string_userfree_free().
:get-function-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the function. The resulting string must be freed by calling cef_string_userfree_free().
:get-line-number (fn [CefV8stackFrame]) -> int Returns the 1-based line number for the function call or 0 if unknown.
:get-column (fn [CefV8stackFrame]) -> int Returns the 1-based column offset on the line for the function call or 0 if unknown.
:is-eval (fn [CefV8stackFrame]) -> int Returns true (1) if the function was compiled using eval().
:is-constructor (fn [CefV8stackFrame]) -> int Returns true (1) if the function was called as a constructor via "new".
Merge properties of a CefV8stackFrame Structure representing a V8 stack frame handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :is-valid (fn [CefV8stackFrame]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :get-script-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function. The resulting string must be freed by calling cef_string_userfree_free(). :get-script-name-or-source-url (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the resource script that contains the function or the sourceURL value if the script name is undefined and its source ends with a "//@ sourceURL=..." string. The resulting string must be freed by calling cef_string_userfree_free(). :get-function-name (fn [CefV8stackFrame]) -> CefStringUtf16 Returns the name of the function. The resulting string must be freed by calling cef_string_userfree_free(). :get-line-number (fn [CefV8stackFrame]) -> int Returns the 1-based line number for the function call or 0 if unknown. :get-column (fn [CefV8stackFrame]) -> int Returns the 1-based column offset on the line for the function call or 0 if unknown. :is-eval (fn [CefV8stackFrame]) -> int Returns true (1) if the function was compiled using eval(). :is-constructor (fn [CefV8stackFrame]) -> int Returns true (1) if the function was called as a constructor via "new".
(merge->v8stack-trace struct {:as m :keys [is-valid get-frame-count get-frame]})
Merge properties of a CefV8stackTrace Structure representing a V8 stack trace handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:is-valid (fn [CefV8stackTrace]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:get-frame-count (fn [CefV8stackTrace]) -> int Returns the number of stack frames.
:get-frame (fn [CefV8stackTrace,int]) -> CefV8stackFrame Returns the stack frame at the specified 0-based index.
Merge properties of a CefV8stackTrace Structure representing a V8 stack trace handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :is-valid (fn [CefV8stackTrace]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :get-frame-count (fn [CefV8stackTrace]) -> int Returns the number of stack frames. :get-frame (fn [CefV8stackTrace,int]) -> CefV8stackFrame Returns the stack frame at the specified 0-based index.
(merge->v8value
struct
{:as m
:keys [is-valid is-undefined is-null is-bool is-int is-uint is-double is-date
is-string is-object is-array is-array-buffer is-function is-same
get-bool-value get-int-value get-uint-value get-double-value
get-date-value get-string-value is-user-created has-exception
get-exception clear-exception will-rethrow-exceptions
set-rethrow-exceptions has-value-bykey has-value-byindex
delete-value-bykey delete-value-byindex get-value-bykey
get-value-byindex set-value-bykey set-value-byindex
set-value-byaccessor get-keys set-user-data get-user-data
get-externally-allocated-memory adjust-externally-allocated-memory
get-array-length get-array-buffer-release-callback neuter-array-buffer
get-function-name get-function-handler execute-function
execute-function-with-context]})
Merge properties of a CefV8value Structure representing a V8 value handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.
:is-valid (fn [CefV8value]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0).
:is-undefined (fn [CefV8value]) -> int True if the value type is undefined.
:is-null (fn [CefV8value]) -> int True if the value type is null.
:is-bool (fn [CefV8value]) -> int True if the value type is bool.
:is-int (fn [CefV8value]) -> int True if the value type is int.
:is-uint (fn [CefV8value]) -> int True if the value type is unsigned int.
:is-double (fn [CefV8value]) -> int True if the value type is double.
:is-date (fn [CefV8value]) -> int True if the value type is Date.
:is-string (fn [CefV8value]) -> int True if the value type is string.
:is-object (fn [CefV8value]) -> int True if the value type is object.
:is-array (fn [CefV8value]) -> int True if the value type is array.
:is-array-buffer (fn [CefV8value]) -> int True if the value type is an ArrayBuffer.
:is-function (fn [CefV8value]) -> int True if the value type is function.
:is-same (fn [CefV8value,CefV8value]) -> int Returns true (1) if this object is pointing to the same handle as |that| object.
:get-bool-value (fn [CefV8value]) -> int Return a bool value.
:get-int-value (fn [CefV8value]) -> int Return an int value.
:get-uint-value (fn [CefV8value]) -> int Return an unsigned int value.
:get-double-value (fn [CefV8value]) -> double Return a double value.
:get-date-value (fn [CefV8value]) -> CefTime Return a Date value.
:get-string-value (fn [CefV8value]) -> CefStringUtf16 Return a string value. The resulting string must be freed by calling cef_string_userfree_free().
:is-user-created (fn [CefV8value]) -> int OBJECT METHODS - These functions are only available on objects. Arrays and functions are also objects. String- and integer-based keys can be used interchangably with the framework converting between them as necessary. Returns true (1) if this is a user created object.
:has-exception (fn [CefV8value]) -> int Returns true (1) if the last function call resulted in an exception. This attribute exists only in the scope of the current CEF value object.
:get-exception (fn [CefV8value]) -> CefV8exception Returns the exception resulting from the last function call. This attribute exists only in the scope of the current CEF value object.
:clear-exception (fn [CefV8value]) -> int Clears the last exception and returns true (1) on success.
:will-rethrow-exceptions (fn [CefV8value]) -> int Returns true (1) if this object will re-throw future exceptions. This attribute exists only in the scope of the current CEF value object.
:set-rethrow-exceptions (fn [CefV8value,int]) -> int Set whether this object will re-throw future exceptions. By default exceptions are not re-thrown. If a exception is re-thrown the current context should not be accessed again until after the exception has been caught and not re-thrown. Returns true (1) on success. This attribute exists only in the scope of the current CEF value object.
:has-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Returns true (1) if the object has a value with the specified identifier.
:has-value-byindex (fn [CefV8value,int]) -> int Returns true (1) if the object has a value with the specified identifier.
:delete-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed.
:delete-value-byindex (fn [CefV8value,int]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly, deletion fails or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed.
:get-value-bykey (fn [CefV8value,CefStringUtf16]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown.
:get-value-byindex (fn [CefV8value,int]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown.
:set-value-bykey (fn [CefV8value,CefStringUtf16,CefV8value,int]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed.
:set-value-byindex (fn [CefV8value,int,CefV8value]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed.
:set-value-byaccessor (fn [CefV8value,CefStringUtf16,int,int]) -> int Registers an identifier and returns true (1) on success. Access to the identifier will be forwarded to the cef_v8accessor_t instance passed to cef_v8value_t::cef_v8value_create_object(). Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed.
:get-keys (fn [CefV8value,Pointer]) -> int Read the keys for the object's values into the specified vector. Integer- based keys will also be returned as strings.
:set-user-data (fn [CefV8value,CefBaseRefCounted]) -> int Sets the user data for this object and returns true (1) on success. Returns false (0) if this function is called incorrectly. This function can only be called on user created objects.
:get-user-data (fn [CefV8value]) -> CefBaseRefCounted Returns the user data, if any, assigned to this object.
:get-externally-allocated-memory (fn [CefV8value]) -> int Returns the amount of externally allocated memory registered for the object.
:adjust-externally-allocated-memory (fn [CefV8value,int]) -> int Adjusts the amount of registered external memory for the object. Used to give V8 an indication of the amount of externally allocated memory that is kept alive by JavaScript objects. V8 uses this information to decide when to perform global garbage collection. Each cef_v8value_t tracks the amount of external memory associated with it and automatically decreases the global total by the appropriate amount on its destruction. |change_in_bytes| specifies the number of bytes to adjust by. This function returns the number of bytes associated with the object after the adjustment. This function can only be called on user created objects.
:get-array-length (fn [CefV8value]) -> int ARRAY METHODS - These functions are only available on arrays. Returns the number of elements in the array.
:get-array-buffer-release-callback (fn [CefV8value]) -> CefV8arrayBufferReleaseCallback ARRAY BUFFER METHODS - These functions are only available on ArrayBuffers. Returns the ReleaseCallback object associated with the ArrayBuffer or NULL if the ArrayBuffer was not created with CreateArrayBuffer.
:neuter-array-buffer (fn [CefV8value]) -> int Prevent the ArrayBuffer from using it's memory block by setting the length to zero. This operation cannot be undone. If the ArrayBuffer was created with CreateArrayBuffer then cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to release the underlying buffer.
:get-function-name (fn [CefV8value]) -> CefStringUtf16 FUNCTION METHODS - These functions are only available on functions. Returns the function name. The resulting string must be freed by calling cef_string_userfree_free().
:get-function-handler (fn [CefV8value]) -> CefV8handler Returns the function handler or NULL if not a CEF-created function.
:execute-function (fn [CefV8value,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the current V8 context. This function should only be called from within the scope of a cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference. |object| is the receiver ('this' object) of the function. If |object| is NULL the current context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown.
:execute-function-with-context (fn [CefV8value,CefV8context,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the specified V8 context. |object| is the receiver ('this' object) of the function. If |object| is NULL the specified context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown.
Merge properties of a CefV8value Structure representing a V8 value handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function. :is-valid (fn [CefV8value]) -> int Returns true (1) if the underlying handle is valid and it can be accessed on the current thread. Do not call any other functions if this function returns false (0). :is-undefined (fn [CefV8value]) -> int True if the value type is undefined. :is-null (fn [CefV8value]) -> int True if the value type is null. :is-bool (fn [CefV8value]) -> int True if the value type is bool. :is-int (fn [CefV8value]) -> int True if the value type is int. :is-uint (fn [CefV8value]) -> int True if the value type is unsigned int. :is-double (fn [CefV8value]) -> int True if the value type is double. :is-date (fn [CefV8value]) -> int True if the value type is Date. :is-string (fn [CefV8value]) -> int True if the value type is string. :is-object (fn [CefV8value]) -> int True if the value type is object. :is-array (fn [CefV8value]) -> int True if the value type is array. :is-array-buffer (fn [CefV8value]) -> int True if the value type is an ArrayBuffer. :is-function (fn [CefV8value]) -> int True if the value type is function. :is-same (fn [CefV8value,CefV8value]) -> int Returns true (1) if this object is pointing to the same handle as |that| object. :get-bool-value (fn [CefV8value]) -> int Return a bool value. :get-int-value (fn [CefV8value]) -> int Return an int value. :get-uint-value (fn [CefV8value]) -> int Return an unsigned int value. :get-double-value (fn [CefV8value]) -> double Return a double value. :get-date-value (fn [CefV8value]) -> CefTime Return a Date value. :get-string-value (fn [CefV8value]) -> CefStringUtf16 Return a string value. The resulting string must be freed by calling cef_string_userfree_free(). :is-user-created (fn [CefV8value]) -> int OBJECT METHODS - These functions are only available on objects. Arrays and functions are also objects. String- and integer-based keys can be used interchangably with the framework converting between them as necessary. Returns true (1) if this is a user created object. :has-exception (fn [CefV8value]) -> int Returns true (1) if the last function call resulted in an exception. This attribute exists only in the scope of the current CEF value object. :get-exception (fn [CefV8value]) -> CefV8exception Returns the exception resulting from the last function call. This attribute exists only in the scope of the current CEF value object. :clear-exception (fn [CefV8value]) -> int Clears the last exception and returns true (1) on success. :will-rethrow-exceptions (fn [CefV8value]) -> int Returns true (1) if this object will re-throw future exceptions. This attribute exists only in the scope of the current CEF value object. :set-rethrow-exceptions (fn [CefV8value,int]) -> int Set whether this object will re-throw future exceptions. By default exceptions are not re-thrown. If a exception is re-thrown the current context should not be accessed again until after the exception has been caught and not re-thrown. Returns true (1) on success. This attribute exists only in the scope of the current CEF value object. :has-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Returns true (1) if the object has a value with the specified identifier. :has-value-byindex (fn [CefV8value,int]) -> int Returns true (1) if the object has a value with the specified identifier. :delete-value-bykey (fn [CefV8value,CefStringUtf16]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed. :delete-value-byindex (fn [CefV8value,int]) -> int Deletes the value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly, deletion fails or an exception is thrown. For read-only and don't-delete values this function will return true (1) even though deletion failed. :get-value-bykey (fn [CefV8value,CefStringUtf16]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown. :get-value-byindex (fn [CefV8value,int]) -> CefV8value Returns the value with the specified identifier on success. Returns NULL if this function is called incorrectly or an exception is thrown. :set-value-bykey (fn [CefV8value,CefStringUtf16,CefV8value,int]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed. :set-value-byindex (fn [CefV8value,int,CefV8value]) -> int Associates a value with the specified identifier and returns true (1) on success. Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed. :set-value-byaccessor (fn [CefV8value,CefStringUtf16,int,int]) -> int Registers an identifier and returns true (1) on success. Access to the identifier will be forwarded to the cef_v8accessor_t instance passed to cef_v8value_t::cef_v8value_create_object(). Returns false (0) if this function is called incorrectly or an exception is thrown. For read-only values this function will return true (1) even though assignment failed. :get-keys (fn [CefV8value,Pointer]) -> int Read the keys for the object's values into the specified vector. Integer- based keys will also be returned as strings. :set-user-data (fn [CefV8value,CefBaseRefCounted]) -> int Sets the user data for this object and returns true (1) on success. Returns false (0) if this function is called incorrectly. This function can only be called on user created objects. :get-user-data (fn [CefV8value]) -> CefBaseRefCounted Returns the user data, if any, assigned to this object. :get-externally-allocated-memory (fn [CefV8value]) -> int Returns the amount of externally allocated memory registered for the object. :adjust-externally-allocated-memory (fn [CefV8value,int]) -> int Adjusts the amount of registered external memory for the object. Used to give V8 an indication of the amount of externally allocated memory that is kept alive by JavaScript objects. V8 uses this information to decide when to perform global garbage collection. Each cef_v8value_t tracks the amount of external memory associated with it and automatically decreases the global total by the appropriate amount on its destruction. |change_in_bytes| specifies the number of bytes to adjust by. This function returns the number of bytes associated with the object after the adjustment. This function can only be called on user created objects. :get-array-length (fn [CefV8value]) -> int ARRAY METHODS - These functions are only available on arrays. Returns the number of elements in the array. :get-array-buffer-release-callback (fn [CefV8value]) -> CefV8arrayBufferReleaseCallback ARRAY BUFFER METHODS - These functions are only available on ArrayBuffers. Returns the ReleaseCallback object associated with the ArrayBuffer or NULL if the ArrayBuffer was not created with CreateArrayBuffer. :neuter-array-buffer (fn [CefV8value]) -> int Prevent the ArrayBuffer from using it's memory block by setting the length to zero. This operation cannot be undone. If the ArrayBuffer was created with CreateArrayBuffer then cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to release the underlying buffer. :get-function-name (fn [CefV8value]) -> CefStringUtf16 FUNCTION METHODS - These functions are only available on functions. Returns the function name. The resulting string must be freed by calling cef_string_userfree_free(). :get-function-handler (fn [CefV8value]) -> CefV8handler Returns the function handler or NULL if not a CEF-created function. :execute-function (fn [CefV8value,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the current V8 context. This function should only be called from within the scope of a cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference. |object| is the receiver ('this' object) of the function. If |object| is NULL the current context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown. :execute-function-with-context (fn [CefV8value,CefV8context,CefV8value,SizeT,Pointer]) -> CefV8value Execute the function using the specified V8 context. |object| is the receiver ('this' object) of the function. If |object| is NULL the specified context's global object will be used. |arguments| is the list of arguments that will be passed to the function. Returns the function return value on success. Returns NULL if this function is called incorrectly or an exception is thrown.
(merge->value struct
{:as m
:keys [is-valid is-owned is-read-only is-same is-equal copy
get-type get-bool get-int get-double get-string get-binary
get-dictionary get-list set-null set-bool set-int
set-double set-string set-binary set-dictionary
set-list]})
Merge properties of a CefValue Structure that wraps other data value types. Complex types (binary, dictionary and list) will be referenced but not owned by this object. Can be used on any process and thread.
:is-valid (fn [CefValue]) -> int Returns true (1) if the underlying data is valid. This will always be true (1) for simple types. For complex types (binary, dictionary and list) the underlying data may become invalid if owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. This value object can be re-used by calling Set*() even if the underlying data is invalid.
:is-owned (fn [CefValue]) -> int Returns true (1) if the underlying data is owned by another object.
:is-read-only (fn [CefValue]) -> int Returns true (1) if the underlying data is read-only. Some APIs may expose read-only objects.
:is-same (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa.
:is-equal (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object.
:copy (fn [CefValue]) -> CefValue Returns a copy of this object. The underlying data will also be copied.
:get-type (fn [CefValue]) -> int Returns the underlying value type.
:get-bool (fn [CefValue]) -> int Returns the underlying value as type bool.
:get-int (fn [CefValue]) -> int Returns the underlying value as type int.
:get-double (fn [CefValue]) -> double Returns the underlying value as type double.
:get-string (fn [CefValue]) -> CefStringUtf16 Returns the underlying value as type string. The resulting string must be freed by calling cef_string_userfree_free().
:get-binary (fn [CefValue]) -> CefBinaryValue Returns the underlying value as type binary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_binary().
:get-dictionary (fn [CefValue]) -> CefDictionaryValue Returns the underlying value as type dictionary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_dictionary().
:get-list (fn [CefValue]) -> CefListValue Returns the underlying value as type list. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_list().
:set-null (fn [CefValue]) -> int Sets the underlying value as type null. Returns true (1) if the value was set successfully.
:set-bool (fn [CefValue,int]) -> int Sets the underlying value as type bool. Returns true (1) if the value was set successfully.
:set-int (fn [CefValue,int]) -> int Sets the underlying value as type int. Returns true (1) if the value was set successfully.
:set-double (fn [CefValue,double]) -> int Sets the underlying value as type double. Returns true (1) if the value was set successfully.
:set-string (fn [CefValue,CefStringUtf16]) -> int Sets the underlying value as type string. Returns true (1) if the value was set successfully.
:set-binary (fn [CefValue,CefBinaryValue]) -> int Sets the underlying value as type binary. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
:set-dictionary (fn [CefValue,CefDictionaryValue]) -> int Sets the underlying value as type dict. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
:set-list (fn [CefValue,CefListValue]) -> int Sets the underlying value as type list. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
Merge properties of a CefValue Structure that wraps other data value types. Complex types (binary, dictionary and list) will be referenced but not owned by this object. Can be used on any process and thread. :is-valid (fn [CefValue]) -> int Returns true (1) if the underlying data is valid. This will always be true (1) for simple types. For complex types (binary, dictionary and list) the underlying data may become invalid if owned by another object (e.g. list or dictionary) and that other object is then modified or destroyed. This value object can be re-used by calling Set*() even if the underlying data is invalid. :is-owned (fn [CefValue]) -> int Returns true (1) if the underlying data is owned by another object. :is-read-only (fn [CefValue]) -> int Returns true (1) if the underlying data is read-only. Some APIs may expose read-only objects. :is-same (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have the same underlying data. If true (1) modifications to this object will also affect |that| object and vice-versa. :is-equal (fn [CefValue,CefValue]) -> int Returns true (1) if this object and |that| object have an equivalent underlying value but are not necessarily the same object. :copy (fn [CefValue]) -> CefValue Returns a copy of this object. The underlying data will also be copied. :get-type (fn [CefValue]) -> int Returns the underlying value type. :get-bool (fn [CefValue]) -> int Returns the underlying value as type bool. :get-int (fn [CefValue]) -> int Returns the underlying value as type int. :get-double (fn [CefValue]) -> double Returns the underlying value as type double. :get-string (fn [CefValue]) -> CefStringUtf16 Returns the underlying value as type string. The resulting string must be freed by calling cef_string_userfree_free(). :get-binary (fn [CefValue]) -> CefBinaryValue Returns the underlying value as type binary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_binary(). :get-dictionary (fn [CefValue]) -> CefDictionaryValue Returns the underlying value as type dictionary. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_dictionary(). :get-list (fn [CefValue]) -> CefListValue Returns the underlying value as type list. The returned reference may become invalid if the value is owned by another object or if ownership is transferred to another object in the future. To maintain a reference to the value after assigning ownership to a dictionary or list pass this object to the set_value() function instead of passing the returned reference to set_list(). :set-null (fn [CefValue]) -> int Sets the underlying value as type null. Returns true (1) if the value was set successfully. :set-bool (fn [CefValue,int]) -> int Sets the underlying value as type bool. Returns true (1) if the value was set successfully. :set-int (fn [CefValue,int]) -> int Sets the underlying value as type int. Returns true (1) if the value was set successfully. :set-double (fn [CefValue,double]) -> int Sets the underlying value as type double. Returns true (1) if the value was set successfully. :set-string (fn [CefValue,CefStringUtf16]) -> int Sets the underlying value as type string. Returns true (1) if the value was set successfully. :set-binary (fn [CefValue,CefBinaryValue]) -> int Sets the underlying value as type binary. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged. :set-dictionary (fn [CefValue,CefDictionaryValue]) -> int Sets the underlying value as type dict. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged. :set-list (fn [CefValue,CefListValue]) -> int Sets the underlying value as type list. Returns true (1) if the value was set successfully. This object keeps a reference to |value| and ownership of the underlying data remains unchanged.
(merge->web-plugin-info struct
{:as m
:keys [get-name get-path get-version get-description]})
Merge properties of a CefWebPluginInfo Information about a specific web plugin.
:get-name (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin name. The resulting string must be freed by calling cef_string_userfree_free().
:get-path (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin file path (DLL/bundle/library). The resulting string must be freed by calling cef_string_userfree_free().
:get-version (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the version of the plugin (may be OS-specific). The resulting string must be freed by calling cef_string_userfree_free().
:get-description (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns a description of the plugin from the version information. The resulting string must be freed by calling cef_string_userfree_free().
Merge properties of a CefWebPluginInfo Information about a specific web plugin. :get-name (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin name. The resulting string must be freed by calling cef_string_userfree_free(). :get-path (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the plugin file path (DLL/bundle/library). The resulting string must be freed by calling cef_string_userfree_free(). :get-version (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns the version of the plugin (may be OS-specific). The resulting string must be freed by calling cef_string_userfree_free(). :get-description (fn [CefWebPluginInfo]) -> CefStringUtf16 Returns a description of the plugin from the version information. The resulting string must be freed by calling cef_string_userfree_free().
(merge->web-plugin-info-visitor struct {:as m :keys [visit]})
Merge properties of a CefWebPluginInfoVisitor Structure to implement for visiting web plugin information. The functions of this structure will be called on the browser process UI thread.
:visit (fn [CefWebPluginInfoVisitor,CefWebPluginInfo,int,int]) -> int Method that will be called once for each plugin. |count| is the 0-based index for the current plugin. |total| is the total number of plugins. Return false (0) to stop visiting plugins. This function may never be called if no plugins are found.
Merge properties of a CefWebPluginInfoVisitor Structure to implement for visiting web plugin information. The functions of this structure will be called on the browser process UI thread. :visit (fn [CefWebPluginInfoVisitor,CefWebPluginInfo,int,int]) -> int Method that will be called once for each plugin. |count| is the 0-based index for the current plugin. |total| is the total number of plugins. Return false (0) to stop visiting plugins. This function may never be called if no plugins are found.
(merge->web-plugin-unstable-callback struct {:as m :keys [is-unstable]})
Merge properties of a CefWebPluginUnstableCallback Structure to implement for receiving unstable plugin information. The functions of this structure will be called on the browser process IO thread.
:is-unstable (fn [CefWebPluginUnstableCallback,CefStringUtf16,int]) -> void Method that will be called for the requested plugin. |unstable| will be true (1) if the plugin has reached the crash count threshold of 3 times in 120 seconds.
Merge properties of a CefWebPluginUnstableCallback Structure to implement for receiving unstable plugin information. The functions of this structure will be called on the browser process IO thread. :is-unstable (fn [CefWebPluginUnstableCallback,CefStringUtf16,int]) -> void Method that will be called for the requested plugin. |unstable| will be true (1) if the plugin has reached the crash count threshold of 3 times in 120 seconds.
(merge->window-info struct
{:as m
:keys [window-name x y width height hidden parent-view
windowless-rendering-enabled shared-texture-enabled
external-begin-frame-enabled view]})
Merge properties of a CefWindowInfoMac Class representing window information.
:hidden int Set to true (1) to create the view initially hidden. Mac OSX only
:windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value.
:shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11).
:external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
Merge properties of a CefWindowInfoMac Class representing window information. :hidden int Set to true (1) to create the view initially hidden. Mac OSX only :windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value. :shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11). :external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
(merge->window-info-linux
struct
{:as m
:keys [window-name x y width height parent-view windowless-rendering-enabled
shared-texture-enabled external-begin-frame-enabled view]})
Merge properties of a CefWindowInfoLinux Class representing window information.
:windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value.
:shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11).
:external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
Merge properties of a CefWindowInfoLinux Class representing window information. :windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value. :shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11). :external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
(merge->window-info-mac struct
{:as m
:keys [window-name x y width height hidden parent-view
windowless-rendering-enabled
shared-texture-enabled
external-begin-frame-enabled view]})
Merge properties of a CefWindowInfoMac Class representing window information.
:hidden int Set to true (1) to create the view initially hidden. Mac OSX only
:windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value.
:shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11).
:external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
Merge properties of a CefWindowInfoMac Class representing window information. :hidden int Set to true (1) to create the view initially hidden. Mac OSX only :windowless-rendering-enabled int Set to true (1) to create the browser using windowless (off-screen) rendering. No view will be created for the browser and all rendering will occur via the CefRenderHandler interface. The |parent_view| value will be used to identify monitor info and to act as the parent view for dialogs, context menus, etc. If |parent_view| is not provided then the main screen monitor will be used and some functionality that requires a parent view may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting CefBrowserSettings.background_color to an opaque value. :shared-texture-enabled int Set to true (1) to enable shared textures for windowless rendering. Only valid if windowless_rendering_enabled above is also set to true. Currently only supported on Windows (D3D11). :external-begin-frame-enabled int Set to true (1) to enable the ability to issue BeginFrame from the client application.
(merge->write-handler struct {:as m :keys [write seek tell flush may-block]})
Merge properties of a CefWriteHandler Structure the client can implement to provide a custom stream writer. The functions of this structure may be called on any thread.
:write (fn [CefWriteHandler,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data.
:seek (fn [CefWriteHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure.
:tell (fn [CefWriteHandler]) -> long Return the current offset position.
:flush (fn [CefWriteHandler]) -> int Flush the stream.
:may-block (fn [CefWriteHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
Merge properties of a CefWriteHandler Structure the client can implement to provide a custom stream writer. The functions of this structure may be called on any thread. :write (fn [CefWriteHandler,Pointer,SizeT,SizeT]) -> SizeT Write raw binary data. :seek (fn [CefWriteHandler,long,int]) -> int Seek to the specified offset position. |whence| may be any one of SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on failure. :tell (fn [CefWriteHandler]) -> long Return the current offset position. :flush (fn [CefWriteHandler]) -> int Flush the stream. :may-block (fn [CefWriteHandler]) -> int Return true (1) if this handler performs work like accessing the file system which may block. Used as a hint for determining the thread to access the handler from.
(merge->x509cert-principal
struct
{:as m
:keys [get-display-name get-common-name get-locality-name
get-state-or-province-name get-country-name get-street-addresses
get-organization-names get-organization-unit-names
get-domain-components]})
Merge properties of a CefX509certPrincipal Structure representing the issuer or subject field of an X.509 certificate.
:get-display-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns a name that can be used to represent the issuer. It tries in this order: Common Name (CN), Organization Name (O) and Organizational Unit Name (OU) and returns the first non-NULL one found. The resulting string must be freed by calling cef_string_userfree_free().
:get-common-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the common name. The resulting string must be freed by calling cef_string_userfree_free().
:get-locality-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the locality name. The resulting string must be freed by calling cef_string_userfree_free().
:get-state-or-province-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the state or province name. The resulting string must be freed by calling cef_string_userfree_free().
:get-country-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the country name. The resulting string must be freed by calling cef_string_userfree_free().
:get-street-addresses (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of street addresses.
:get-organization-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization names.
:get-organization-unit-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization unit names.
:get-domain-components (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of domain components.
Merge properties of a CefX509certPrincipal Structure representing the issuer or subject field of an X.509 certificate. :get-display-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns a name that can be used to represent the issuer. It tries in this order: Common Name (CN), Organization Name (O) and Organizational Unit Name (OU) and returns the first non-NULL one found. The resulting string must be freed by calling cef_string_userfree_free(). :get-common-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the common name. The resulting string must be freed by calling cef_string_userfree_free(). :get-locality-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the locality name. The resulting string must be freed by calling cef_string_userfree_free(). :get-state-or-province-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the state or province name. The resulting string must be freed by calling cef_string_userfree_free(). :get-country-name (fn [CefX509certPrincipal]) -> CefStringUtf16 Returns the country name. The resulting string must be freed by calling cef_string_userfree_free(). :get-street-addresses (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of street addresses. :get-organization-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization names. :get-organization-unit-names (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of organization unit names. :get-domain-components (fn [CefX509certPrincipal,Pointer]) -> void Retrieve the list of domain components.
(merge->x509certificate
struct
{:as m
:keys [get-subject get-issuer get-serial-number get-valid-start
get-valid-expiry get-derencoded get-pemencoded get-issuer-chain-size
get-derencoded-issuer-chain get-pemencoded-issuer-chain]})
Merge properties of a CefX509certificate Structure representing a X.509 certificate.
:get-subject (fn [CefX509certificate]) -> CefX509certPrincipal Returns the subject of the X.509 certificate. For HTTPS server certificates this represents the web server. The common name of the subject should match the host name of the web server.
:get-issuer (fn [CefX509certificate]) -> CefX509certPrincipal Returns the issuer of the X.509 certificate.
:get-serial-number (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded serial number for the X.509 certificate. The value possibly includes a leading 00 byte.
:get-valid-start (fn [CefX509certificate]) -> CefTime Returns the date before which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified.
:get-valid-expiry (fn [CefX509certificate]) -> CefTime Returns the date after which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified.
:get-derencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded data for the X.509 certificate.
:get-pemencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the PEM encoded data for the X.509 certificate.
:get-issuer-chain-size (fn [CefX509certificate]) -> SizeT Returns the number of certificates in the issuer chain. If 0, the certificate is self-signed.
:get-derencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the DER encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string.
:get-pemencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the PEM encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string.
Merge properties of a CefX509certificate Structure representing a X.509 certificate. :get-subject (fn [CefX509certificate]) -> CefX509certPrincipal Returns the subject of the X.509 certificate. For HTTPS server certificates this represents the web server. The common name of the subject should match the host name of the web server. :get-issuer (fn [CefX509certificate]) -> CefX509certPrincipal Returns the issuer of the X.509 certificate. :get-serial-number (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded serial number for the X.509 certificate. The value possibly includes a leading 00 byte. :get-valid-start (fn [CefX509certificate]) -> CefTime Returns the date before which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified. :get-valid-expiry (fn [CefX509certificate]) -> CefTime Returns the date after which the X.509 certificate is invalid. CefTime.GetTimeT() will return 0 if no date was specified. :get-derencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the DER encoded data for the X.509 certificate. :get-pemencoded (fn [CefX509certificate]) -> CefBinaryValue Returns the PEM encoded data for the X.509 certificate. :get-issuer-chain-size (fn [CefX509certificate]) -> SizeT Returns the number of certificates in the issuer chain. If 0, the certificate is self-signed. :get-derencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the DER encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string. :get-pemencoded-issuer-chain (fn [CefX509certificate,Pointer,Pointer]) -> void Returns the PEM encoded data for the certificate issuer chain. If we failed to encode a certificate in the chain it is still present in the array but is an NULL string.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close