# Interface ICefDevToolsMessageObserver

Description
Hierarchy
Fields
Methods
Properties

## Unit

uCEFInterfaces

## Declaration

`type ICefDevToolsMessageObserver = interface(ICefBaseRefCounted)`

## Description

Callback interface for ICefBrowserHost.AddDevToolsMessageObserver. The functions of this interface will be called on the browser process UI thread.

UNKNOWN

<see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_devtools_message_observer_capi.h">CEF source file: /include/capi/cef_devtools_message_observer_capi.h (cef_dev_tools_message_observer_t))

## Hierarchy

- IInterface
- ICefBaseRefCounted
- ICefDevToolsMessageObserver

## Overview

### Methods

| `procedure OnDevToolsMessage(const browser: ICefBrowser; const message_: Pointer; message_size: NativeUInt; var aHandled: boolean);`
| `procedure OnDevToolsMethodResult(const browser: ICefBrowser; message_id: integer; success: boolean; const result: Pointer; result_size: NativeUInt);`
| `procedure OnDevToolsEvent(const browser: ICefBrowser; const method: ustring; const params: Pointer; params_size: NativeUInt);`
| `procedure OnDevToolsAgentAttached(const browser: ICefBrowser);`
| `procedure OnDevToolsAgentDetached(const browser: ICefBrowser);`

## Description

### Methods

| `procedure OnDevToolsMessage(const browser: ICefBrowser; const message_: Pointer; message_size: NativeUInt; var aHandled: boolean);`

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 ICefBrowserHost.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).

###### Attributes

GUID['{76E5BB2B-7F69-4BC9-94C7-B55C61CE630F}']

| `procedure OnDevToolsMethodResult(const browser: ICefBrowser; message_id: integer; success: boolean; const result: Pointer; result_size: NativeUInt);`

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.

| `procedure OnDevToolsEvent(const browser: ICefBrowser; const method: ustring; const params: Pointer; params_size: NativeUInt);`

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.

| `procedure OnDevToolsAgentAttached(const browser: ICefBrowser);`
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.

| `procedure OnDevToolsAgentDetached(const browser: ICefBrowser);`
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.

Generated by PasDoc 0.17.0.snapshot.