From d75f4e6863f2913b83b5fd47af376f8a8fef69c1 Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 15 Nov 2024 17:48:03 +0100 Subject: [PATCH 1/6] Enable extension support --- Browser/Browser.csproj | 5 ++++- Browser/CefSharpBrowser/CefSharpViewModel.cs | 1 + Browser/WebView2Browser/WebView2ViewModel.cs | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Browser/Browser.csproj b/Browser/Browser.csproj index 207c1628e..0c49f6c74 100644 --- a/Browser/Browser.csproj +++ b/Browser/Browser.csproj @@ -39,7 +39,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + @@ -95,4 +95,7 @@ + + + \ No newline at end of file diff --git a/Browser/CefSharpBrowser/CefSharpViewModel.cs b/Browser/CefSharpBrowser/CefSharpViewModel.cs index 73137fc7b..315a10fdb 100644 --- a/Browser/CefSharpBrowser/CefSharpViewModel.cs +++ b/Browser/CefSharpBrowser/CefSharpViewModel.cs @@ -133,6 +133,7 @@ protected override void InitializeAsync() } CefSharpSettings.SubprocessExitIfParentProcessClosed = true; + CefSharpSettings.RuntimeStyle = CefRuntimeStyle.Chrome; Cef.Initialize(settings, false, (IBrowserProcessHandler?)null); CustomRequestHandler requestHandler = new(Configuration); diff --git a/Browser/WebView2Browser/WebView2ViewModel.cs b/Browser/WebView2Browser/WebView2ViewModel.cs index 0af87f159..20b234948 100644 --- a/Browser/WebView2Browser/WebView2ViewModel.cs +++ b/Browser/WebView2Browser/WebView2ViewModel.cs @@ -221,8 +221,10 @@ protected override async void InitializeAsync() var corewebviewoptions = new CoreWebView2EnvironmentOptions { - AdditionalBrowserArguments = string.Join(" ", browserArgs) + AdditionalBrowserArguments = string.Join(" ", browserArgs), + AreBrowserExtensionsEnabled = true, }; + var env = await CoreWebView2Environment.CreateAsync(null, userDataFolder: BrowserCachePath, options: corewebviewoptions); Environment = env; From a2e334061ee2475aacea266ef5cdca4d186a7fd4 Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 15 Nov 2024 19:03:05 +0100 Subject: [PATCH 2/6] Custom extension manager --- .../CefOp/CustomRequestHandler.cs | 2 +- .../ExtraBrowser/ExtraBrowserWindow.xaml | 8 +- .../ExtraBrowser/ExtraBrowserWindow.xaml.cs | 6 ++ Browser/FormBrowserTranslationViewModel.cs | 3 + Browser/Properties/Resources.en.resx | 9 +++ Browser/Properties/Resources.resx | 63 ++++++++------- .../Extensions/ExtensionManagerWindow.xaml | 51 +++++++++++++ .../Extensions/ExtensionManagerWindow.xaml.cs | 42 ++++++++++ .../Extensions/ExtensionViewModel.cs | 76 +++++++++++++++++++ .../ExtraBrowser/ExtraBrowserWindow.xaml | 8 +- .../ExtraBrowser/ExtraBrowserWindow.xaml.cs | 7 ++ 11 files changed, 245 insertions(+), 30 deletions(-) create mode 100644 Browser/WebView2Browser/Extensions/ExtensionManagerWindow.xaml create mode 100644 Browser/WebView2Browser/Extensions/ExtensionManagerWindow.xaml.cs create mode 100644 Browser/WebView2Browser/Extensions/ExtensionViewModel.cs diff --git a/Browser/CefSharpBrowser/CefOp/CustomRequestHandler.cs b/Browser/CefSharpBrowser/CefOp/CustomRequestHandler.cs index 5b9044f88..e8426ee2d 100644 --- a/Browser/CefSharpBrowser/CefOp/CustomRequestHandler.cs +++ b/Browser/CefSharpBrowser/CefOp/CustomRequestHandler.cs @@ -21,7 +21,7 @@ public CustomRequestHandler(BrowserConfiguration browserConfiguration) { BrowserConfiguration = browserConfiguration; } - + /// /// 戻る/進む操作をブロックします。 /// diff --git a/Browser/CefSharpBrowser/ExtraBrowser/ExtraBrowserWindow.xaml b/Browser/CefSharpBrowser/ExtraBrowser/ExtraBrowserWindow.xaml index f04fce7ee..c3643a608 100644 --- a/Browser/CefSharpBrowser/ExtraBrowser/ExtraBrowserWindow.xaml +++ b/Browser/CefSharpBrowser/ExtraBrowser/ExtraBrowserWindow.xaml @@ -42,6 +42,7 @@ +