Markus Hill
Markus Hill

Reputation: 21

Eventhandler in CefSharp DevTool class in c#

I'm trying to work with the Chrome DevTools Protocol in CefSharp. I tried out the example for DevTools. Calling methods is working perfectly.

https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Example/DevTools/DevToolsExtensions.cs

const string methodName = "Page.captureScreenshot";
var result = await devToolsClient.ExecuteDevToolsMethodAsync(methodName);

Now I was wondering if it is possible to work with events as well. e.g. "Network.dataReceived" https://chromedevtools.github.io/devtools-protocol/tot/Network/

I tried following:

public ChromiumWebBrowser chromeBrowser;

public void InitializeChromium()
{
    chromeBrowser = new ChromiumWebBrowser("https://stackoverflow.com");

    this.Controls.Add(chromeBrowser);
    chromeBrowser.Dock = DockStyle.Fill;

    chromeBrowser.IsBrowserInitializedChanged += ChromeBrowser_IsBrowserInitializedChanged;
}

private void ChromeBrowser_IsBrowserInitializedChanged(object sender, EventArgs e)
{
    chromeBrowser.GetDevToolsClient().DevToolsEvent += OnDevToolsEvent;
    chromeBrowser.ShowDevTools();
}

private static void OnDevToolsEvent(Object source, DevToolsEventArgs e)
{
    //how to use that handler?
    //not called!
}

The "OnDevToolsEvent" is never called. Any ideas? :) And thanks in advance.

Upvotes: 1

Views: 1027

Answers (1)

Markus Hill
Markus Hill

Reputation: 21

Solved the issue by using "Network.enable" which enables the handler. Thanks @amaitland

const string methodName = "Network.enable";
var result = await devToolsClient.ExecuteDevToolsMethodAsync(methodName);

Upvotes: 1

Related Questions