cef_browser_host_t.send_dev_tools_message

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.

struct cef_browser_host_t
extern (System)
int function(cef_browser_host_t* self, const(void)* message, size_t message_size) nothrow send_dev_tools_message;

Meta