Skip to content

Commit 77e30f2

Browse files
committed
Option to enable text file encoding detection (default off).
Enable avif image format. Upgrade libs.
1 parent 1e742af commit 77e30f2

File tree

3 files changed

+190
-134
lines changed

3 files changed

+190
-134
lines changed

QuickLook.Plugin.WebViewPlus.csproj

Lines changed: 118 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -1,122 +1,119 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4-
<PropertyGroup>
5-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7-
<ProjectGuid>{863ECAAC-18D9-4256-A27D-0F308089FB47}</ProjectGuid>
8-
<OutputType>library</OutputType>
9-
<RootNamespace>QuickLook.Plugin.WebViewPlus</RootNamespace>
10-
<AssemblyName>QuickLook.Plugin.WebViewPlus</AssemblyName>
11-
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
12-
<FileAlignment>512</FileAlignment>
13-
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
14-
<WarningLevel>4</WarningLevel>
15-
<NuGetPackageImportStamp>
16-
</NuGetPackageImportStamp>
17-
</PropertyGroup>
18-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
19-
<DebugSymbols>true</DebugSymbols>
20-
<DebugType>full</DebugType>
21-
<Optimize>false</Optimize>
22-
<OutputPath>..\QuickLook.upstream\Build\Debug\QuickLook.Plugin\QuickLook.Plugin.WebViewPlus\</OutputPath>
23-
<DefineConstants>DEBUG;TRACE</DefineConstants>
24-
<ErrorReport>prompt</ErrorReport>
25-
<WarningLevel>4</WarningLevel>
26-
</PropertyGroup>
27-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
28-
<DebugType>pdbonly</DebugType>
29-
<Optimize>true</Optimize>
30-
<OutputPath>bin\Release\</OutputPath>
31-
<DefineConstants>TRACE</DefineConstants>
32-
<ErrorReport>prompt</ErrorReport>
33-
<WarningLevel>4</WarningLevel>
34-
</PropertyGroup>
35-
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
36-
<DebugSymbols>true</DebugSymbols>
37-
<OutputPath>Debug\</OutputPath>
38-
<DefineConstants>DEBUG;TRACE</DefineConstants>
39-
<DebugType>full</DebugType>
40-
<PlatformTarget>x86</PlatformTarget>
41-
<ErrorReport>prompt</ErrorReport>
42-
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
43-
</PropertyGroup>
44-
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
45-
<OutputPath>Release\</OutputPath>
46-
<DefineConstants>TRACE</DefineConstants>
47-
<Optimize>true</Optimize>
48-
<DebugType>pdbonly</DebugType>
49-
<PlatformTarget>x86</PlatformTarget>
50-
<ErrorReport>prompt</ErrorReport>
51-
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
52-
</PropertyGroup>
53-
<PropertyGroup>
54-
<SignAssembly>false</SignAssembly>
55-
</PropertyGroup>
56-
<PropertyGroup>
57-
<AssemblyOriginatorKeyFile>
58-
</AssemblyOriginatorKeyFile>
59-
</PropertyGroup>
60-
<ItemGroup>
61-
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.1549.0, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
62-
<HintPath>packages\Microsoft.Web.WebView2.1.0.1549-prerelease\lib\net45\Microsoft.Web.WebView2.Core.dll</HintPath>
63-
</Reference>
64-
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.1549.0, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
65-
<HintPath>packages\Microsoft.Web.WebView2.1.0.1549-prerelease\lib\net45\Microsoft.Web.WebView2.WinForms.dll</HintPath>
66-
</Reference>
67-
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.1549.0, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
68-
<HintPath>packages\Microsoft.Web.WebView2.1.0.1549-prerelease\lib\net45\Microsoft.Web.WebView2.Wpf.dll</HintPath>
69-
</Reference>
70-
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
71-
<HintPath>packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
72-
</Reference>
73-
<Reference Include="System" />
74-
<Reference Include="System.Core" />
75-
<Reference Include="System.Xaml">
76-
<RequiredTargetFramework>4.0</RequiredTargetFramework>
77-
</Reference>
78-
<Reference Include="WindowsBase" />
79-
<Reference Include="PresentationCore" />
80-
<Reference Include="PresentationFramework" />
81-
</ItemGroup>
82-
<ItemGroup>
83-
<Compile Include="GitVersion.cs" />
84-
<Compile Include="Plugin.cs" />
85-
<Compile Include="Properties\AssemblyInfo.cs" />
86-
<Compile Include="WebpagePanel.cs" />
87-
</ItemGroup>
88-
<ItemGroup>
89-
<ProjectReference Include="QuickLook.Common\QuickLook.Common.csproj">
90-
<Project>{85fdd6ba-871d-46c8-bd64-f6bb0cb5ea95}</Project>
91-
<Name>QuickLook.Common</Name>
92-
<Private>False</Private>
93-
</ProjectReference>
94-
</ItemGroup>
95-
<ItemGroup>
96-
<None Include="packages.config" />
97-
<None Include="QuickLook.Plugin.Metadata.Base.config" />
98-
<None Include="QuickLook.Plugin.Metadata.config">
99-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
100-
</None>
101-
</ItemGroup>
102-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
103-
<Import Project="packages\Microsoft.Web.WebView2.1.0.1549-prerelease\build\Microsoft.Web.WebView2.targets" Condition="Exists('packages\Microsoft.Web.WebView2.1.0.1549-prerelease\build\Microsoft.Web.WebView2.targets')" />
104-
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
105-
<PropertyGroup>
106-
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
107-
</PropertyGroup>
108-
<Error Condition="!Exists('packages\Microsoft.Web.WebView2.1.0.1549-prerelease\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Web.WebView2.1.0.1549-prerelease\build\Microsoft.Web.WebView2.targets'))" />
109-
</Target>
110-
<Target Name="AfterBuild">
111-
<ItemGroup>
112-
<WebApp Include="$(SolutionDir)\webApp\**\*" />
113-
</ItemGroup>
114-
<Copy
115-
SourceFiles="@(WebApp)"
116-
DestinationFiles="@(WebApp->'$(OutDir)\webviewplus\%(RecursiveDir)%(Filename)%(Extension)')"
117-
SkipUnchangedFiles="true"
118-
OverwriteReadOnlyFiles="true"
119-
Retries="3"
120-
RetryDelayMilliseconds="300" />
121-
</Target>
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<ProjectGuid>{863ECAAC-18D9-4256-A27D-0F308089FB47}</ProjectGuid>
8+
<OutputType>library</OutputType>
9+
<RootNamespace>QuickLook.Plugin.WebViewPlus</RootNamespace>
10+
<AssemblyName>QuickLook.Plugin.WebViewPlus</AssemblyName>
11+
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
12+
<FileAlignment>512</FileAlignment>
13+
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
14+
<WarningLevel>4</WarningLevel>
15+
<NuGetPackageImportStamp>
16+
</NuGetPackageImportStamp>
17+
</PropertyGroup>
18+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
19+
<DebugSymbols>true</DebugSymbols>
20+
<DebugType>full</DebugType>
21+
<Optimize>false</Optimize>
22+
<OutputPath>..\QuickLook.upstream\Build\Debug\QuickLook.Plugin\QuickLook.Plugin.WebViewPlus\</OutputPath>
23+
<DefineConstants>DEBUG;TRACE</DefineConstants>
24+
<ErrorReport>prompt</ErrorReport>
25+
<WarningLevel>4</WarningLevel>
26+
</PropertyGroup>
27+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
28+
<DebugType>pdbonly</DebugType>
29+
<Optimize>true</Optimize>
30+
<OutputPath>bin\Release\</OutputPath>
31+
<DefineConstants>TRACE</DefineConstants>
32+
<ErrorReport>prompt</ErrorReport>
33+
<WarningLevel>4</WarningLevel>
34+
</PropertyGroup>
35+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
36+
<DebugSymbols>true</DebugSymbols>
37+
<OutputPath>Debug\</OutputPath>
38+
<DefineConstants>DEBUG;TRACE</DefineConstants>
39+
<DebugType>full</DebugType>
40+
<PlatformTarget>x86</PlatformTarget>
41+
<ErrorReport>prompt</ErrorReport>
42+
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
43+
</PropertyGroup>
44+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
45+
<OutputPath>Release\</OutputPath>
46+
<DefineConstants>TRACE</DefineConstants>
47+
<Optimize>true</Optimize>
48+
<DebugType>pdbonly</DebugType>
49+
<PlatformTarget>x86</PlatformTarget>
50+
<ErrorReport>prompt</ErrorReport>
51+
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
52+
</PropertyGroup>
53+
<PropertyGroup>
54+
<SignAssembly>false</SignAssembly>
55+
</PropertyGroup>
56+
<PropertyGroup>
57+
<AssemblyOriginatorKeyFile>
58+
</AssemblyOriginatorKeyFile>
59+
</PropertyGroup>
60+
<ItemGroup>
61+
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
62+
<HintPath>packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.Core.dll</HintPath>
63+
</Reference>
64+
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
65+
<HintPath>packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.WinForms.dll</HintPath>
66+
</Reference>
67+
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
68+
<HintPath>packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.Wpf.dll</HintPath>
69+
</Reference>
70+
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
71+
<HintPath>packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
72+
</Reference>
73+
<Reference Include="System" />
74+
<Reference Include="System.Core" />
75+
<Reference Include="System.Xaml">
76+
<RequiredTargetFramework>4.0</RequiredTargetFramework>
77+
</Reference>
78+
<Reference Include="UtfUnknown, Version=2.0.0.0, Culture=neutral, PublicKeyToken=90217ce7a23260d4, processorArchitecture=MSIL">
79+
<HintPath>packages\UTF.Unknown.2.5.1\lib\net40\UtfUnknown.dll</HintPath>
80+
</Reference>
81+
<Reference Include="WindowsBase" />
82+
<Reference Include="PresentationCore" />
83+
<Reference Include="PresentationFramework" />
84+
</ItemGroup>
85+
<ItemGroup>
86+
<Compile Include="GitVersion.cs" />
87+
<Compile Include="Plugin.cs" />
88+
<Compile Include="Properties\AssemblyInfo.cs" />
89+
<Compile Include="WebpagePanel.cs" />
90+
</ItemGroup>
91+
<ItemGroup>
92+
<ProjectReference Include="QuickLook.Common\QuickLook.Common.csproj">
93+
<Project>{85fdd6ba-871d-46c8-bd64-f6bb0cb5ea95}</Project>
94+
<Name>QuickLook.Common</Name>
95+
<Private>False</Private>
96+
</ProjectReference>
97+
</ItemGroup>
98+
<ItemGroup>
99+
<None Include="packages.config" />
100+
<None Include="QuickLook.Plugin.Metadata.Base.config" />
101+
<None Include="QuickLook.Plugin.Metadata.config">
102+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
103+
</None>
104+
</ItemGroup>
105+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
106+
<Target Name="AfterBuild">
107+
<ItemGroup>
108+
<WebApp Include="$(SolutionDir)\webApp\**\*" />
109+
</ItemGroup>
110+
<Copy SourceFiles="@(WebApp)" DestinationFiles="@(WebApp->'$(OutDir)\webviewplus\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" Retries="3" RetryDelayMilliseconds="300" />
111+
</Target>
112+
<Import Project="packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets" Condition="Exists('packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets')" />
113+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
114+
<PropertyGroup>
115+
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
116+
</PropertyGroup>
117+
<Error Condition="!Exists('packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets'))" />
118+
</Target>
122119
</Project>

WebpagePanel.cs

Lines changed: 67 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
using System.IO;
77
using System.Linq;
88
using System.Reflection;
9+
using System.Text;
910
using System.Windows;
1011
using System.Windows.Controls;
1112
using Microsoft.Web.WebView2.Core;
1213
using Microsoft.Web.WebView2.Wpf;
1314
using Newtonsoft.Json;
1415
using QuickLook.Common.Helpers;
16+
using UtfUnknown;
1517

1618
// Note: see webview2 sample app:
1719
// https://github.com/MicrosoftEdge/WebView2Samples/blob/main/SampleApps/WebView2WpfBrowser/MainWindow.xaml.cs
@@ -28,6 +30,15 @@ public class CommandMessage
2830
{
2931
public string command { get; set; }
3032
public string[] data { get; set; }
33+
public bool boolValue;
34+
}
35+
36+
public class InitData
37+
{
38+
public string langCode { get; set; }
39+
public bool detectEncoding { get; set; }
40+
public bool showTrayIcon { get; set; }
41+
public bool useTransparency { get; set; }
3142
}
3243

3344
namespace QuickLook.Plugin.WebViewPlus
@@ -39,17 +50,19 @@ public class WebpagePanel : UserControl
3950
public string[] Extensions = { };
4051

4152
// These should match the ones in the web app openFile.ts:BINARY_EXTENSIONS
42-
private static readonly string[] _binExtensions = "pdf,xlsx,xls,ods,gltf,glb,fbx,obj,webp,jpg,jpeg,png,apng,gif,bmp,ttf,otf,woff,woff2".Split(',');
53+
private static readonly string[] _binExtensions = "pdf,xlsx,xls,ods,gltf,glb,fbx,obj,webp,jpg,jpeg,png,apng,gif,bmp,avif,ttf,otf,woff,woff2".Split(',');
4354
private Uri _currentUri;
4455
private WebView2 _webView;
4556
private bool _webAppReady = false;
4657
private CoreWebView2SharedBuffer _sharedBuffer = null;
4758
private FileInfo _activeFileInfo = null;
4859
private CoreWebView2Environment _webViewEnvironment;
60+
private bool DetectEncoding = false;
4961

5062
public WebpagePanel()
5163
{
52-
Extensions = SettingHelper.Get("ExtensionList", WebpagePanel.DefaultExtensions, "QuickLook.Plugin.WebViewPlus").Split(',');
64+
Extensions = SettingHelper.Get("ExtensionList", WebpagePanel.DefaultExtensions, "QuickLook.Plugin.WebViewPlus").Split(',');
65+
DetectEncoding = SettingHelper.Get<bool>("DetectEncoding", false, "QuickLook.Plugin.WebViewPlus");
5366

5467
var unavailReason = WebpagePanel.WebView2UnavailableReason();
5568
if (unavailReason != null)
@@ -148,7 +161,13 @@ void sendFileData()
148161
else
149162
{
150163
_sharedBuffer = WebViewEnvironment.CreateSharedBuffer(1);
151-
using (var sr = new StreamReader(new FileStream(_activeFileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
164+
165+
var encoding = Encoding.Default;
166+
if (DetectEncoding)
167+
{
168+
encoding = CharsetDetector.DetectFromFile(_activeFileInfo).Detected?.Encoding ?? encoding;
169+
}
170+
using (var sr = new StreamReader(new FileStream(_activeFileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), encoding))
152171
{
153172
textContent = sr.ReadToEnd();
154173
}
@@ -172,12 +191,22 @@ void WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs a
172191
switch(msg.command)
173192
{
174193
case "AppReadyForData":
175-
_webAppReady = true;
176-
// If the user profile was previously generated (WebView2_Data), it doesn't seem to change the navigator.language setting
177-
// when a webview is created with a different language in 'new WebView2' above.
178-
// You'd have to delete the WebView2_Data folder first.
179-
// Oh, well. Explicitly sending current language to web app, instead.
180-
_webView.CoreWebView2.PostWebMessageAsString($"setLanguage:{CultureInfo.CurrentUICulture.Name}");
194+
_webAppReady = true;
195+
// If the user profile was previously generated (WebView2_Data), it doesn't seem to change the navigator.language setting
196+
// when a webview is created with a different language in 'new WebView2' above.
197+
// You'd have to delete the WebView2_Data folder first.
198+
// Oh, well. Explicitly sending current language to web app, instead.
199+
var json = JsonConvert.SerializeObject(
200+
new InitData
201+
{
202+
langCode = CultureInfo.CurrentUICulture.Name,
203+
detectEncoding = SettingHelper.Get("DetectEncoding", false, "QuickLook.Plugin.WebViewPlus"),
204+
showTrayIcon = SettingHelper.Get("ShowTrayIcon", true),
205+
useTransparency = SettingHelper.Get("UseTransparency", true)
206+
}
207+
);
208+
209+
_webView.CoreWebView2.PostWebMessageAsString($"initData:{json}");
181210
sendFileData();
182211
break;
183212

@@ -186,11 +215,40 @@ void WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs a
186215
Extensions = SettingHelper.Get("ExtensionList", WebpagePanel.DefaultExtensions, "QuickLook.Plugin.WebViewPlus").Split(',');
187216
break;
188217

218+
case "DetectEncoding":
219+
SettingHelper.Set("DetectEncoding", msg.boolValue, "QuickLook.Plugin.WebViewPlus");
220+
DetectEncoding = SettingHelper.Get("DetectEncoding", false, "QuickLook.Plugin.WebViewPlus");
221+
break;
222+
223+
case "ShowTrayIcon":
224+
SettingHelper.Set("ShowTrayIcon", msg.boolValue);
225+
break;
226+
227+
case "UseTransparency":
228+
SettingHelper.Set("UseTransparency", msg.boolValue);
229+
break;
230+
231+
case "Restart":
232+
RestartQuicklook();
233+
break;
234+
189235
default:
190236
break;
191237
}
192238
}
193239

240+
private void RestartQuicklook()
241+
{
242+
// Restart QL. Clunky way to delay startup to pass already running check.
243+
ProcessStartInfo Info = new ProcessStartInfo();
244+
Info.Arguments = "/C ping 127.0.0.1 -n 2 && \"" + string.Join(" ", Environment.GetCommandLineArgs()) + "\"";
245+
Info.WindowStyle = ProcessWindowStyle.Hidden;
246+
Info.CreateNoWindow = true;
247+
Info.FileName = "cmd.exe";
248+
Process.Start(Info);
249+
Process.GetCurrentProcess().Kill();
250+
}
251+
194252
private void CoreWebView2InitializationCompleted(object sender, EventArgs e)
195253
{
196254
_webView.CoreWebView2.WebMessageReceived += WebMessageReceived;

0 commit comments

Comments
 (0)