Skip to content

Commit 94a907c

Browse files
authored
Merge 02be189 into b0b5103
2 parents b0b5103 + 02be189 commit 94a907c

File tree

233 files changed

+12854
-107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

233 files changed

+12854
-107
lines changed

CefSharp.Example/CefSharp.Example.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
<ItemGroup>
7777
<Compile Include="Callback\RunFileDialogCallback.cs" />
7878
<Compile Include="DevTools\DevToolsExtensions.cs" />
79-
<Compile Include="DevTools\TaskMethodDevToolsMessageObserver.cs" />
8079
<Compile Include="Handlers\AudioHandler.cs" />
8180
<Compile Include="Handlers\ExampleResourceRequestHandler.cs" />
8281
<Compile Include="Handlers\ExtensionHandler.cs" />

CefSharp.Example/DevTools/DevToolsExtensions.cs

+7-39
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
using System;
2-
using System.Text;
3-
using System.Threading;
42
using System.Threading.Tasks;
53
using Newtonsoft.Json;
64

75
namespace CefSharp.Example.DevTools
86
{
97
public static class DevToolsExtensions
108
{
11-
private static int LastMessageId = 600000;
129
/// <summary>
1310
/// Calls Page.captureScreenshot without any optional params
1411
/// (Results in PNG image of default viewport)
@@ -23,58 +20,29 @@ public static async Task<byte[]> CaptureScreenShotAsPng(this IWebBrowser chromiu
2320
// throw new System.Exception("Page hasn't loaded");
2421
//}
2522

26-
var host = chromiumWebBrowser.GetBrowserHost();
23+
var browser = chromiumWebBrowser.GetBrowser();
2724

28-
if (host == null || host.IsDisposed)
25+
if (browser == null || browser.IsDisposed)
2926
{
30-
throw new Exception("BrowserHost is Null or Disposed");
27+
throw new Exception("browser is Null or Disposed");
3128
}
3229

3330
//var param = new Dictionary<string, object>
3431
//{
3532
// { "format", "png" },
3633
//}
3734

38-
var msgId = Interlocked.Increment(ref LastMessageId);
39-
40-
var observer = new TaskMethodDevToolsMessageObserver(msgId);
41-
4235
//Make sure to dispose of our observer registration when done
43-
//TODO: Create a single observer that maps tasks to Id's
44-
//Or at least create one for each type, events and method
45-
using (var observerRegistration = host.AddDevToolsMessageObserver(observer))
36+
using (var devToolsClient = browser.GetDevToolsClient())
4637
{
47-
//Page.captureScreenshot defaults to PNG, all params are optional
48-
//for this DevTools method
49-
int id = 0;
5038
const string methodName = "Page.captureScreenshot";
5139

52-
//TODO: Simplify this, we can use an Func to reduce code duplication
53-
if (Cef.CurrentlyOnThread(CefThreadIds.TID_UI))
54-
{
55-
id = host.ExecuteDevToolsMethod(msgId, methodName);
56-
}
57-
else
58-
{
59-
id = await Cef.UIThreadTaskFactory.StartNew(() =>
60-
{
61-
return host.ExecuteDevToolsMethod(msgId, methodName);
62-
});
63-
}
64-
65-
if (id != msgId)
66-
{
67-
throw new Exception("Message Id doesn't match the provided Id");
68-
}
69-
70-
var result = await observer.Task;
71-
72-
var success = result.Item1;
40+
var result = await devToolsClient.ExecuteDevToolsMethodAsync(methodName);
7341

74-
dynamic response = JsonConvert.DeserializeObject<dynamic>(Encoding.UTF8.GetString(result.Item2));
42+
dynamic response = JsonConvert.DeserializeObject<dynamic>(result.ResultAsJsonString);
7543

7644
//Success
77-
if (success)
45+
if (result.Success)
7846
{
7947
return Convert.FromBase64String((string)response.data);
8048
}

CefSharp.Example/DevTools/TaskMethodDevToolsMessageObserver.cs

-67
This file was deleted.

CefSharp.OffScreen.Example/Program.cs

+7
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,13 @@ private static async void MainAsync(string cachePath, double zoomLevel)
7777
}
7878
await LoadPageAsync(browser);
7979

80+
using (var devToolsClient = browser.GetDevToolsClient())
81+
{
82+
var response = await devToolsClient.Browser.GetVersionAsync();
83+
var jsVersion = response.JsVersion;
84+
//var success = await devToolsClient.Network.ClearBrowserCacheAsync();
85+
}
86+
8087
//Check preferences on the CEF UI Thread
8188
await Cef.UIThreadTaskFactory.StartNew(delegate
8289
{

0 commit comments

Comments
 (0)