Liking cljdoc? Tell your friends :D
Clojure only.

com.phronemophobic.cef

Clojure Wrappers for CEF

Clojure Wrappers for CEF
raw docstring

cef-browser-host-create-browserclj

(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.
raw docstring

cef-do-message-loop-workclj

(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.
raw docstring

cef-initializeclj

(cef-initialize app)
(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).
raw docstring

cef-quit-message-loopclj

(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.
raw docstring

cef-run-message-loopclj

(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.
raw docstring

cef-stringclj

(cef-string s)

Convert a java String into a CefString

Convert a java String into a CefString
raw docstring

default-target-dirclj


download-and-extract-frameworkclj

(download-and-extract-framework)
(download-and-extract-framework 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.

The Chromium Framework is about 234M unzipped which doesn't belong in the clojure jar. Download and extract the framework to target-dir.
raw docstring

download-and-prepare-environment!clj

(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.
raw docstring

extract-helperclj

(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.
raw docstring

IDoccljprotocol

Makes documentation accessible from instances.

Makes documentation accessible from instances.

docclj

(doc this)

Returns the doc string for an instance.

Returns the doc string for an instance.

print-docclj

(print-doc this)

Prints the doc string for an instance.

Prints the doc string for an instance.
raw docstring

map->accessibility-handlerclj

(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.
raw docstring

map->appclj

(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.
raw docstring

map->audio-handlerclj

(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.
raw docstring

map->audio-parametersclj

(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
raw docstring

map->auth-callbackclj

(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.
raw docstring

map->base-ref-countedclj

(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.
raw docstring

map->base-scopedclj

(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.
raw docstring

map->before-download-callbackclj

(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.
raw docstring

map->binary-valueclj

(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.
raw docstring

map->box-layout-settingsclj

(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.
raw docstring

map->browserclj

(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.
raw docstring

map->browser-hostclj

(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,CefWindowInfo,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,CefWindowInfo,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.
raw docstring

map->browser-process-handlerclj

(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.
raw docstring

map->browser-settingsclj

(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.
raw docstring

map->callbackclj

(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.
raw docstring

map->clientclj

(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.
raw docstring

map->command-lineclj

(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".
raw docstring

map->completion-callbackclj

(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.
raw docstring

map->composition-underlineclj

(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.
raw docstring

map->context-menu-handlerclj

(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.
raw docstring

map->context-menu-paramsclj

(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.
raw docstring

map->cookieclj

(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.
raw docstring

map->cookie-access-filterclj

(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.
raw docstring

map->cookie-managerclj

(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.
raw docstring

map->cookie-visitorclj

(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.
raw docstring

map->cursor-infoclj

(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.
raw docstring

map->delete-cookies-callbackclj

(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.
raw docstring

map->dev-tools-message-observerclj

(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.
raw docstring

map->dialog-handlerclj

(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).
raw docstring

map->dictionary-valueclj

(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.
raw docstring

map->display-handlerclj

(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.
raw docstring

map->domdocumentclj

(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().
raw docstring

map->domnodeclj

(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.
raw docstring

map->domvisitorclj

(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.
raw docstring

map->download-handlerclj

(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.
raw docstring

map->download-image-callbackclj

(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.
raw docstring

map->download-itemclj

(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().
raw docstring

map->download-item-callbackclj

(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.
raw docstring

map->drag-dataclj

(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.
raw docstring

map->drag-handlerclj

(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.
raw docstring

map->draggable-regionclj

(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.
raw docstring

map->extensionclj

(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.
raw docstring

map->extension-handlerclj

(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,CefWindowInfo,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,CefWindowInfo,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.
raw docstring

map->file-dialog-callbackclj

(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.
raw docstring

map->find-handlerclj

(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.
raw docstring

map->focus-handlerclj

(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.
raw docstring

map->frameclj

(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:

  • 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.

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.
raw docstring

map->get-extension-resource-callbackclj

(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.
raw docstring

map->imageclj

(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.
raw docstring

map->insetsclj

(map->insets)
(map->insets {:as m :keys [top left bottom right]})

Make a CefInsets Structure representing insets.

Make a CefInsets
Structure representing insets.
raw docstring

map->jsdialog-callbackclj

(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.
raw docstring

map->jsdialog-handlerclj

(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.
raw docstring

map->key-eventclj

(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.
raw docstring

map->keyboard-handlerclj

(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.
raw docstring

map->life-span-handlerclj

(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,CefWindowInfo,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,CefWindowInfo,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.
raw docstring

map->list-valueclj

(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.
raw docstring

map->load-handlerclj

(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.
raw docstring

map->main-argsclj

(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.
raw docstring

map->media-observerclj

(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.
raw docstring

map->media-routeclj

(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.
raw docstring

map->media-route-create-callbackclj

(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.
raw docstring

map->media-routerclj

(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.
raw docstring

map->media-sinkclj

(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|.
raw docstring

map->media-sink-device-infoclj

(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.
raw docstring

map->media-sink-device-info-callbackclj

(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.
raw docstring

map->media-sourceclj

(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.
raw docstring

map->menu-modelclj

(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

  • 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"
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"
raw docstring

map->menu-model-delegateclj

(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.
raw docstring

map->mouse-eventclj

(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.
raw docstring

map->navigation-entryclj

(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.
raw docstring

map->navigation-entry-visitorclj

(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.
raw docstring

map->pdf-print-callbackclj

(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.
raw docstring

map->pdf-print-settingsclj

(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.
raw docstring

map->pointclj

(map->point)
(map->point {:as m :keys [x y]})

Make a CefPoint Structure representing a point.

Make a CefPoint
Structure representing a point.
raw docstring

map->popup-featuresclj

(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.
raw docstring

map->post-dataclj

(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.
raw docstring

map->post-data-elementclj

(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.
raw docstring

map->print-dialog-callbackclj

(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.
raw docstring

map->print-handlerclj

(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().
raw docstring

map->print-job-callbackclj

(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.
raw docstring

map->print-settingsclj

(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.
raw docstring

map->process-messageclj

(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.
raw docstring

map->rangeclj

(map->range)
(map->range {:as m :keys [from to]})

Make a CefRange Structure representing a range.

Make a CefRange
Structure representing a range.
raw docstring

map->read-handlerclj

(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.
raw docstring

map->rectclj

(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.
raw docstring

map->register-cdm-callbackclj

(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.
raw docstring

map->registrationclj

(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.
raw docstring

map->render-handlerclj

(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.
raw docstring

map->render-process-handlerclj

(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.
raw docstring

map->requestclj

(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.
raw docstring

map->request-callbackclj

(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.
raw docstring

map->request-contextclj

(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:

  • 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.

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.
raw docstring

map->request-context-handlerclj

(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).
raw docstring

map->request-context-settingsclj

(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.
raw docstring

map->request-handlerclj

(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.
raw docstring

map->resolve-callbackclj

(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.
raw docstring

map->resource-bundle-handlerclj

(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.
raw docstring

map->resource-handlerclj

(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.
raw docstring

map->resource-read-callbackclj

(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.
raw docstring

map->resource-request-handlerclj

(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.
raw docstring

map->resource-skip-callbackclj

(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.
raw docstring

map->responseclj

(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.
raw docstring

map->response-filterclj

(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.
raw docstring

map->run-context-menu-callbackclj

(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.
raw docstring

map->run-file-dialog-callbackclj

(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.
raw docstring

map->scheme-handler-factoryclj

(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.
raw docstring

map->scheme-registrarclj

(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).
raw docstring

map->screen-infoclj

(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.
raw docstring

map->select-client-certificate-callbackclj

(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.
raw docstring

(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.
raw docstring

map->settingsclj

(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.
raw docstring

map->sizeclj

(map->size)
(map->size {:as m :keys [width height]})

Make a CefSize Structure representing a size.

Make a CefSize
Structure representing a size.
raw docstring

map->sslinfoclj

(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.
raw docstring

map->sslstatusclj

(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.
raw docstring

map->stream-readerclj

(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.
raw docstring

map->stream-writerclj

(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.
raw docstring

map->string-utf16clj

(map->string-utf16)
(map->string-utf16 {:as m :keys [str length dtor]})

Make a CefStringUtf16

Make a CefStringUtf16
raw docstring

map->string-utf8clj

(map->string-utf8)
(map->string-utf8 {:as m :keys [str length dtor]})

Make a CefStringUtf8

Make a CefStringUtf8
raw docstring

map->string-visitorclj

(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.
raw docstring

map->string-wideclj

(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.
raw docstring

map->taskclj

(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.
raw docstring

map->task-runnerclj

(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.
raw docstring

map->timeclj

(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).
raw docstring

map->touch-eventclj

(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.
raw docstring

map->urlpartsclj

(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 '#').
raw docstring

map->urlrequestclj

(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.
raw docstring

map->urlrequest-clientclj

(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.
raw docstring

map->v8accessorclj

(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.
raw docstring

map->v8array-buffer-release-callbackclj

(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.
raw docstring

map->v8contextclj

(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).
raw docstring

map->v8exceptionclj

(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.
raw docstring

map->v8handlerclj

(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.
raw docstring

map->v8interceptorclj

(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.
raw docstring

map->v8stack-frameclj

(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".
raw docstring

map->v8stack-traceclj

(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.
raw docstring

map->v8valueclj

(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.
raw docstring

map->valueclj

(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.
raw docstring

map->web-plugin-infoclj

(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().
raw docstring

map->web-plugin-info-visitorclj

(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.
raw docstring

map->web-plugin-unstable-callbackclj

(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.
raw docstring

map->window-infoclj

(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 CefWindowInfo Class representing window information.

:hidden int Set to true (1) to create the view initially hidden.

: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 CefWindowInfo
Class representing window information.

:hidden int
Set to true (1) to create the view initially hidden.

: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.
raw docstring

map->write-handlerclj

(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.
raw docstring

map->x509cert-principalclj

(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.
raw docstring

map->x509certificateclj

(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.
raw docstring

merge->accessibility-handlerclj

(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.
raw docstring

merge->appclj

(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.
raw docstring

merge->audio-handlerclj

(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.
raw docstring

merge->audio-parametersclj

(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
raw docstring

merge->auth-callbackclj

(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.
raw docstring

merge->base-ref-countedclj

(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.
raw docstring

merge->base-scopedclj

(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.
raw docstring

merge->before-download-callbackclj

(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.
raw docstring

merge->binary-valueclj

(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.
raw docstring

merge->box-layout-settingsclj

(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.
raw docstring

merge->browserclj

(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.
raw docstring

merge->browser-hostclj

(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,CefWindowInfo,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,CefWindowInfo,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.
raw docstring

merge->browser-process-handlerclj

(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.
raw docstring

merge->browser-settingsclj

(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.
raw docstring

merge->callbackclj

(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.
raw docstring

merge->clientclj

(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.
raw docstring

merge->command-lineclj

(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".
raw docstring

merge->completion-callbackclj

(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.
raw docstring

merge->composition-underlineclj

(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.
raw docstring

merge->context-menu-handlerclj

(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.
raw docstring

merge->context-menu-paramsclj

(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.
raw docstring

merge->cookieclj

(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.
raw docstring

merge->cookie-access-filterclj

(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.
raw docstring

merge->cookie-managerclj

(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.
raw docstring

merge->cookie-visitorclj

(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.
raw docstring

merge->cursor-infoclj

(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.
raw docstring

merge->delete-cookies-callbackclj

(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.
raw docstring

merge->dev-tools-message-observerclj

(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.
raw docstring

merge->dialog-handlerclj

(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).
raw docstring

merge->dictionary-valueclj

(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.
raw docstring

merge->display-handlerclj

(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.
raw docstring

merge->domdocumentclj

(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().
raw docstring

merge->domnodeclj

(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.
raw docstring

merge->domvisitorclj

(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.
raw docstring

merge->download-handlerclj

(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.
raw docstring

merge->download-image-callbackclj

(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.
raw docstring

merge->download-itemclj

(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().
raw docstring

merge->download-item-callbackclj

(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.
raw docstring

merge->drag-dataclj

(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.
raw docstring

merge->drag-handlerclj

(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.
raw docstring

merge->draggable-regionclj

(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.
raw docstring

merge->extensionclj

(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.
raw docstring

merge->extension-handlerclj

(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,CefWindowInfo,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,CefWindowInfo,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.
raw docstring

merge->file-dialog-callbackclj

(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.
raw docstring

merge->find-handlerclj

(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.
raw docstring

merge->focus-handlerclj

(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.
raw docstring

merge->frameclj

(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:

  • 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 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.
raw docstring

merge->get-extension-resource-callbackclj

(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.
raw docstring

merge->imageclj

(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.
raw docstring

merge->insetsclj

(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.
raw docstring

merge->jsdialog-callbackclj

(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.
raw docstring

merge->jsdialog-handlerclj

(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.
raw docstring

merge->key-eventclj

(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.
raw docstring

merge->keyboard-handlerclj

(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.
raw docstring

merge->life-span-handlerclj

(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,CefWindowInfo,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,CefWindowInfo,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.
raw docstring

merge->list-valueclj

(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.
raw docstring

merge->load-handlerclj

(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.
raw docstring

merge->main-argsclj

(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.
raw docstring

merge->media-observerclj

(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.
raw docstring

merge->media-routeclj

(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.
raw docstring

merge->media-route-create-callbackclj

(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.
raw docstring

merge->media-routerclj

(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.
raw docstring

merge->media-sinkclj

(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|.
raw docstring

merge->media-sink-device-infoclj

(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.
raw docstring

merge->media-sink-device-info-callbackclj

(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.
raw docstring

merge->media-sourceclj

(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.
raw docstring

merge->menu-modelclj

(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

  • 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 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"
raw docstring

merge->menu-model-delegateclj

(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.
raw docstring

merge->mouse-eventclj

(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.
raw docstring

merge->navigation-entryclj

(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.
raw docstring

merge->navigation-entry-visitorclj

(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.
raw docstring

merge->pdf-print-callbackclj

(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.
raw docstring

merge->pdf-print-settingsclj

(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.
raw docstring

merge->pointclj

(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.
raw docstring

merge->popup-featuresclj

(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.
raw docstring

merge->post-dataclj

(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.
raw docstring

merge->post-data-elementclj

(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.
raw docstring

merge->print-dialog-callbackclj

(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.
raw docstring

merge->print-handlerclj

(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().
raw docstring

merge->print-job-callbackclj

(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.
raw docstring

merge->print-settingsclj

(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.
raw docstring

merge->process-messageclj

(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.
raw docstring

merge->rangeclj

(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.
raw docstring

merge->read-handlerclj

(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.
raw docstring

merge->rectclj

(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.
raw docstring

merge->register-cdm-callbackclj

(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.
raw docstring

merge->registrationclj

(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.
raw docstring

merge->render-handlerclj

(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.
raw docstring

merge->render-process-handlerclj

(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.
raw docstring

merge->requestclj

(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.
raw docstring

merge->request-callbackclj

(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.
raw docstring

merge->request-contextclj

(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:

  • 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 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.
raw docstring

merge->request-context-handlerclj

(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).
raw docstring

merge->request-context-settingsclj

(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.
raw docstring

merge->request-handlerclj

(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.
raw docstring

merge->resolve-callbackclj

(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.
raw docstring

merge->resource-bundle-handlerclj

(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.
raw docstring

merge->resource-handlerclj

(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.
raw docstring

merge->resource-read-callbackclj

(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.
raw docstring

merge->resource-request-handlerclj

(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.
raw docstring

merge->resource-skip-callbackclj

(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.
raw docstring

merge->responseclj

(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.
raw docstring

merge->response-filterclj

(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.
raw docstring

merge->run-context-menu-callbackclj

(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.
raw docstring

merge->run-file-dialog-callbackclj

(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.
raw docstring

merge->scheme-handler-factoryclj

(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.
raw docstring

merge->scheme-registrarclj

(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).
raw docstring

merge->screen-infoclj

(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.
raw docstring

merge->select-client-certificate-callbackclj

(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.
raw docstring

(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.
raw docstring

merge->settingsclj

(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.
raw docstring

merge->sizeclj

(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.
raw docstring

merge->sslinfoclj

(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.
raw docstring

merge->sslstatusclj

(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.
raw docstring

merge->stream-readerclj

(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.
raw docstring

merge->stream-writerclj

(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.
raw docstring

merge->string-utf16clj

(merge->string-utf16 struct {:as m :keys [str length dtor]})

Merge properties of a CefStringUtf16

Merge properties of a CefStringUtf16
raw docstring

merge->string-utf8clj

(merge->string-utf8 struct {:as m :keys [str length dtor]})

Merge properties of a CefStringUtf8

Merge properties of a CefStringUtf8
raw docstring

merge->string-visitorclj

(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.
raw docstring

merge->string-wideclj

(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.
raw docstring

merge->taskclj

(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.
raw docstring

merge->task-runnerclj

(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.
raw docstring

merge->timeclj

(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).
raw docstring

merge->touch-eventclj

(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.
raw docstring

merge->urlpartsclj

(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 '#').
raw docstring

merge->urlrequestclj

(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.
raw docstring

merge->urlrequest-clientclj

(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.
raw docstring

merge->v8accessorclj

(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.
raw docstring

merge->v8array-buffer-release-callbackclj

(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.
raw docstring

merge->v8contextclj

(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).
raw docstring

merge->v8exceptionclj

(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.
raw docstring

merge->v8handlerclj

(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.
raw docstring

merge->v8interceptorclj

(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.
raw docstring

merge->v8stack-frameclj

(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".
raw docstring

merge->v8stack-traceclj

(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.
raw docstring

merge->v8valueclj

(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.
raw docstring

merge->valueclj

(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.
raw docstring

merge->web-plugin-infoclj

(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().
raw docstring

merge->web-plugin-info-visitorclj

(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.
raw docstring

merge->web-plugin-unstable-callbackclj

(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.
raw docstring

merge->window-infoclj

(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 CefWindowInfo Class representing window information.

:hidden int Set to true (1) to create the view initially hidden.

: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 CefWindowInfo
Class representing window information.

:hidden int
Set to true (1) to create the view initially hidden.

: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.
raw docstring

merge->write-handlerclj

(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.
raw docstring

merge->x509cert-principalclj

(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.
raw docstring

merge->x509certificateclj

(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.
raw docstring

post-task-to-mainclj

(post-task-to-main f)

prepare-environment!clj

(prepare-environment!)
(prepare-environment! target-dir)

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close