Skip to content

Commit 1b41f66

Browse files
committed
Use WebView2Ex for CornerRadius
1 parent 4eff052 commit 1b41f66

33 files changed

+2748
-31
lines changed

Files.sln

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Files.App.SaveDialog.Win32"
4545
EndProject
4646
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Files.App.OpenDialog.Win32", "src\Files.App.OpenDialog\Files.App.OpenDialog.Win32.vcxproj", "{B3FE3F3B-CECC-4918-B72B-5488C3774125}"
4747
EndProject
48+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{E7E1BB8C-1AA2-4D7E-BD85-A63E0A25948D}"
49+
EndProject
50+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebView2Ex.WinUI", "src\WebView2Ex.WinUI\WebView2Ex.WinUI.csproj", "{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}"
51+
EndProject
52+
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "WebView2Ex.Shared", "src\WebView2Ex.Shared\WebView2Ex.Shared.shproj", "{DA1F3539-44D9-49B0-A7D6-CA2CC2756E1D}"
53+
EndProject
4854
Global
4955
GlobalSection(SolutionConfigurationPlatforms) = preSolution
5056
Debug|arm64 = Debug|arm64
@@ -455,52 +461,82 @@ Global
455461
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Debug|arm64.Build.0 = Debug|Win32
456462
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Debug|x64.ActiveCfg = Debug|Win32
457463
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Debug|x64.Build.0 = Debug|Win32
464+
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Debug|x86.ActiveCfg = Debug|Win32
458465
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Preview|arm64.ActiveCfg = Debug|Win32
459466
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Preview|arm64.Build.0 = Debug|Win32
460467
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Preview|x64.ActiveCfg = Debug|Win32
461468
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Preview|x64.Build.0 = Debug|Win32
469+
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Preview|x86.ActiveCfg = Debug|Win32
462470
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Release|arm64.ActiveCfg = Release|Win32
463471
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Release|arm64.Build.0 = Release|Win32
464472
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Release|x64.ActiveCfg = Release|Win32
465473
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Release|x64.Build.0 = Release|Win32
474+
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Release|x86.ActiveCfg = Release|Win32
466475
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Stable|arm64.ActiveCfg = Debug|Win32
467476
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Stable|arm64.Build.0 = Debug|Win32
468477
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Stable|x64.ActiveCfg = Debug|Win32
469478
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Stable|x64.Build.0 = Debug|Win32
479+
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Stable|x86.ActiveCfg = Debug|Win32
470480
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Store|arm64.ActiveCfg = Debug|Win32
471481
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Store|arm64.Build.0 = Debug|Win32
472482
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Store|x64.ActiveCfg = Debug|Win32
473483
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Store|x64.Build.0 = Debug|Win32
474484
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Store|x86.ActiveCfg = Debug|Win32
475-
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Debug|x86.ActiveCfg = Debug|Win32
476-
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Preview|x86.ActiveCfg = Debug|Win32
477-
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Release|x86.ActiveCfg = Release|Win32
478-
{7756A1A4-17B5-4E6B-9B12-F19AA868A225}.Stable|x86.ActiveCfg = Debug|Win32
479485
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Debug|arm64.ActiveCfg = Debug|Win32
480486
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Debug|arm64.Build.0 = Debug|Win32
481487
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Debug|x64.ActiveCfg = Debug|Win32
482488
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Debug|x64.Build.0 = Debug|Win32
489+
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Debug|x86.ActiveCfg = Debug|Win32
483490
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Preview|arm64.ActiveCfg = Debug|Win32
484491
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Preview|arm64.Build.0 = Debug|Win32
485492
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Preview|x64.ActiveCfg = Debug|Win32
486493
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Preview|x64.Build.0 = Debug|Win32
494+
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Preview|x86.ActiveCfg = Debug|Win32
487495
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Release|arm64.ActiveCfg = Release|Win32
488496
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Release|arm64.Build.0 = Release|Win32
489497
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Release|x64.ActiveCfg = Release|Win32
490498
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Release|x64.Build.0 = Release|Win32
499+
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Release|x86.ActiveCfg = Release|Win32
491500
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Stable|arm64.ActiveCfg = Debug|Win32
492501
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Stable|arm64.Build.0 = Debug|Win32
493502
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Stable|x64.ActiveCfg = Debug|Win32
494503
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Stable|x64.Build.0 = Debug|Win32
504+
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Stable|x86.ActiveCfg = Debug|Win32
495505
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Store|arm64.ActiveCfg = Debug|Win32
496506
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Store|arm64.Build.0 = Debug|Win32
497507
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Store|x64.ActiveCfg = Debug|Win32
498508
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Store|x64.Build.0 = Debug|Win32
499509
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Store|x86.ActiveCfg = Debug|Win32
500-
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Debug|x86.ActiveCfg = Debug|Win32
501-
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Preview|x86.ActiveCfg = Debug|Win32
502-
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Release|x86.ActiveCfg = Release|Win32
503-
{B3FE3F3B-CECC-4918-B72B-5488C3774125}.Stable|x86.ActiveCfg = Debug|Win32
510+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Debug|arm64.ActiveCfg = Debug|arm64
511+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Debug|arm64.Build.0 = Debug|arm64
512+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Debug|x64.ActiveCfg = Debug|x64
513+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Debug|x64.Build.0 = Debug|x64
514+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Debug|x86.ActiveCfg = Debug|x86
515+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Debug|x86.Build.0 = Debug|x86
516+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Preview|arm64.ActiveCfg = Debug|arm64
517+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Preview|arm64.Build.0 = Debug|arm64
518+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Preview|x64.ActiveCfg = Debug|x64
519+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Preview|x64.Build.0 = Debug|x64
520+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Preview|x86.ActiveCfg = Debug|x86
521+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Preview|x86.Build.0 = Debug|x86
522+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Release|arm64.ActiveCfg = Release|arm64
523+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Release|arm64.Build.0 = Release|arm64
524+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Release|x64.ActiveCfg = Release|x64
525+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Release|x64.Build.0 = Release|x64
526+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Release|x86.ActiveCfg = Release|x86
527+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Release|x86.Build.0 = Release|x86
528+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Stable|arm64.ActiveCfg = Debug|arm64
529+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Stable|arm64.Build.0 = Debug|arm64
530+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Stable|x64.ActiveCfg = Debug|x64
531+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Stable|x64.Build.0 = Debug|x64
532+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Stable|x86.ActiveCfg = Debug|x86
533+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Stable|x86.Build.0 = Debug|x86
534+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Store|arm64.ActiveCfg = Debug|arm64
535+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Store|arm64.Build.0 = Debug|arm64
536+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Store|x64.ActiveCfg = Debug|x64
537+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Store|x64.Build.0 = Debug|x64
538+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Store|x86.ActiveCfg = Debug|x86
539+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02}.Store|x86.Build.0 = Debug|x86
504540
EndGlobalSection
505541
GlobalSection(SolutionProperties) = preSolution
506542
HideSolutionNode = FALSE
@@ -522,8 +558,15 @@ Global
522558
{EBFA367F-CBDB-4CD0-B838-D6B95F61D1F6} = {A188C26B-E731-4E0B-9D17-D21CEBD9B43F}
523559
{7756A1A4-17B5-4E6B-9B12-F19AA868A225} = {A188C26B-E731-4E0B-9D17-D21CEBD9B43F}
524560
{B3FE3F3B-CECC-4918-B72B-5488C3774125} = {A188C26B-E731-4E0B-9D17-D21CEBD9B43F}
561+
{E7E1BB8C-1AA2-4D7E-BD85-A63E0A25948D} = {A74DCE98-A744-4D71-A2B1-7EE4FED0936B}
562+
{04488D6F-84CB-4EFE-BA04-CB6A7B7AEF02} = {E7E1BB8C-1AA2-4D7E-BD85-A63E0A25948D}
563+
{DA1F3539-44D9-49B0-A7D6-CA2CC2756E1D} = {E7E1BB8C-1AA2-4D7E-BD85-A63E0A25948D}
525564
EndGlobalSection
526565
GlobalSection(ExtensibilityGlobals) = postSolution
527566
SolutionGuid = {0E62043C-A7A1-4982-9EC9-4CDB2939B776}
528567
EndGlobalSection
568+
GlobalSection(SharedMSBuildProjectFiles) = preSolution
569+
src\WebView2Ex.Shared\WebView2Ex.Shared.projitems*{04488d6f-84cb-4efe-ba04-cb6a7b7aef02}*SharedItemsImports = 5
570+
src\WebView2Ex.Shared\WebView2Ex.Shared.projitems*{da1f3539-44d9-49b0-a7d6-ca2cc2756e1d}*SharedItemsImports = 13
571+
EndGlobalSection
529572
EndGlobal

src/Files.App/Extensions/WebView2Extensions.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,13 @@
1111

1212
namespace Files.App.Extensions
1313
{
14-
using WebViewMessageReceivedHandler = TypedEventHandler<WebView2, CoreWebView2WebMessageReceivedEventArgs>;
14+
using WebViewMessageReceivedHandler = TypedEventHandler<CoreWebView2, CoreWebView2WebMessageReceivedEventArgs>;
1515

1616
/// <summary>
1717
/// Code modified from https://gist.github.com/mqudsi/ceb4ecee76eb4c32238a438664783480
1818
/// </summary>
1919
public static class WebView2Extensions
2020
{
21-
public static void Navigate(this WebView2 webview, Uri url)
22-
{
23-
webview.Source = url;
24-
}
25-
2621
private enum PropertyAction
2722
{
2823
Read = 0,
@@ -50,7 +45,7 @@ private struct PropertyWebMessage
5045
}
5146

5247
public static List<WebViewMessageReceivedHandler> _handlers = new();
53-
public static async Task AddWebAllowedObject<T>(this WebView2 webview, string name, T @object)
48+
public static async Task AddWebAllowedObject<T>(this CoreWebView2 webview, string name, T @object)
5449
{
5550
var sb = new StringBuilder();
5651
sb.AppendLine($"window.{name} = {{ ");
@@ -196,7 +191,7 @@ public static async Task AddWebAllowedObject<T>(this WebView2 webview, string na
196191
webview.WebMessageReceived += handler;
197192
}
198193

199-
public static async Task<string> InvokeScriptAsync(this WebView2 webview, string function, params object[] args)
194+
public static async Task<string> InvokeScriptAsync(this WebView2Ex.UI.WebView2Ex webview, string function, params object[] args)
200195
{
201196
var array = JsonConvert.SerializeObject(args);
202197
string result = null;
@@ -206,7 +201,7 @@ await webview.DispatcherQueue.EnqueueAsync(async () =>
206201
var script = $"{function}(...{array});";
207202
try
208203
{
209-
result = await webview.ExecuteScriptAsync(script).AsTask();
204+
result = await webview.WebView2Runtime.CoreWebView2.ExecuteScriptAsync(script).AsTask();
210205
result = JsonConvert.DeserializeObject<string>(result);
211206
}
212207
catch (Exception ex)

src/Files.App/Files.App.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
<ProjectReference Include="..\Files.Core.Storage\Files.Core.Storage.csproj" />
123123
<ProjectReference Include="..\Files.Shared\Files.Shared.csproj" />
124124
<ProjectReference Include="..\Files.Core.SourceGenerator\Files.Core.SourceGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
125+
<ProjectReference Include="..\WebView2Ex.WinUI\WebView2Ex.WinUI.csproj" />
125126
</ItemGroup>
126127

127128
<ItemGroup>

src/Files.App/UserControls/TerminalView.xaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,20 @@
66
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
77
xmlns:local="using:Files.App.Terminal"
88
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
9+
xmlns:ww2="using:WebView2Ex.UI"
910
d:DesignHeight="300"
1011
d:DesignWidth="400"
1112
ActualThemeChanged="TerminalView_ActualThemeChanged"
1213
Unloaded="TerminalView_Unloaded"
1314
mc:Ignorable="d">
1415

15-
<Border x:Name="RootGrid">
16+
<Border x:Name="RootGrid" CornerRadius="8">
1617

17-
<WebView2
18+
<ww2:WebView2Ex
1819
x:Name="WebViewControl"
1920
HorizontalAlignment="Stretch"
2021
VerticalAlignment="Stretch"
21-
DefaultBackgroundColor="Transparent"
22+
CornerRadius="8"
2223
Loaded="WebViewControl_Loaded" />
2324

2425
</Border>

src/Files.App/UserControls/TerminalView.xaml.cs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using Files.App.Utils.Terminal;
33
using Files.App.Utils.Terminal.ConPTY;
44
using Microsoft.Extensions.Logging;
5+
using Microsoft.UI.Windowing;
56
using Microsoft.UI.Xaml.Controls;
67
using Microsoft.Web.WebView2.Core;
78
using System.IO;
@@ -109,7 +110,7 @@ private async Task ResizeTask()
109110
public event EventHandler<string> OnPaste;
110111
public event EventHandler<string> OnSessionRestart;
111112

112-
public WebView2 WebView => WebViewControl;
113+
public WebView2Ex.UI.WebView2Ex WebView => WebViewControl;
113114

114115
private Terminal _terminal;
115116
private BufferedReader _reader;
@@ -126,7 +127,7 @@ public TerminalView()
126127

127128
private async void WebViewControl_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
128129
{
129-
if (WebViewControl.Source is not null)
130+
if (WebViewControl.WebView2Runtime?.CoreWebView2?.Source is not null)
130131
return;
131132

132133
var envOptions = new CoreWebView2EnvironmentOptions()
@@ -136,14 +137,19 @@ private async void WebViewControl_Loaded(object sender, Microsoft.UI.Xaml.Routed
136137
AdditionalBrowserArguments = "--enable-features=OverlayScrollbar,OverlayScrollbarWinStyle,OverlayScrollbarWinStyleAnimation"
137138
};
138139
var environment = await CoreWebView2Environment.CreateWithOptionsAsync("", "", envOptions);
139-
await WebViewControl.EnsureCoreWebView2Async(environment);
140+
141+
var window = AppWindow.GetFromWindowId(XamlRoot.ContentIslandEnvironment.AppWindowId);
142+
WebViewControl.SetWindow(window);
143+
WebViewControl.WebView2Runtime = await WebView2Ex.WebView2Runtime.CreateAsync(environment, (nint)window.Id.Value);
144+
WebViewControl.WebView2Runtime.Controller!.DefaultBackgroundColor = Microsoft.UI.Colors.Transparent;
145+
140146
//WebViewControl.CoreWebView2.OpenDevToolsWindow();
141-
WebViewControl.NavigationCompleted += WebViewControl_NavigationCompleted;
142-
WebViewControl.CoreWebView2.SetVirtualHostNameToFolderMapping(
147+
WebViewControl.WebView2Runtime.CoreWebView2.NavigationCompleted += WebViewControl_NavigationCompleted;
148+
WebViewControl.WebView2Runtime.CoreWebView2.SetVirtualHostNameToFolderMapping(
143149
"terminal.files",
144150
Path.Combine(Package.Current.InstalledLocation.Path, "Utils", "Terminal", "UI"),
145151
CoreWebView2HostResourceAccessKind.DenyCors);
146-
WebViewControl.Source = new Uri("http://terminal.files/index.html");
152+
WebViewControl.WebView2Runtime.CoreWebView2.Navigate("http://terminal.files/index.html");
147153

148154
// Waiting for WebView.NavigationCompleted event to happen
149155
await _tcsNavigationCompleted.Task;
@@ -153,7 +159,7 @@ private async void WebViewControl_Loaded(object sender, Microsoft.UI.Xaml.Routed
153159
var keyBindings = provider.GetCommandKeyBindings();
154160
var theme = provider.GetPreInstalledThemes().First(x => x.Id == _profile.TerminalThemeId);
155161

156-
WebViewControl.CoreWebView2.Profile.PreferredColorScheme = (ActualTheme == Microsoft.UI.Xaml.ElementTheme.Dark) ? CoreWebView2PreferredColorScheme.Dark : CoreWebView2PreferredColorScheme.Light;
162+
WebViewControl.WebView2Runtime.CoreWebView2.Profile.PreferredColorScheme = (ActualTheme == Microsoft.UI.Xaml.ElementTheme.Dark) ? CoreWebView2PreferredColorScheme.Dark : CoreWebView2PreferredColorScheme.Light;
157163

158164
var size = await CreateXtermViewAsync(options, theme.Colors,
159165
keyBindings.Values.SelectMany(k => k)).ConfigureAwait(false);
@@ -207,10 +213,10 @@ public Task<string> SerializeXtermStateAsync()
207213
return ExecuteScriptAsync(@"serializeTerminal()");
208214
}
209215

210-
private async void WebViewControl_NavigationCompleted(WebView2 sender, CoreWebView2NavigationCompletedEventArgs args)
216+
private async void WebViewControl_NavigationCompleted(CoreWebView2 sender, CoreWebView2NavigationCompletedEventArgs args)
211217
{
212218
var _terminalBridge = new TerminalBridge(this);
213-
await WebViewControl.AddWebAllowedObject("terminalBridge", _terminalBridge);
219+
await WebViewControl.WebView2Runtime.CoreWebView2.AddWebAllowedObject("terminalBridge", _terminalBridge);
214220
_tcsNavigationCompleted.TrySetResult(null);
215221
}
216222

@@ -447,7 +453,7 @@ private async void TerminalView_ActualThemeChanged(Microsoft.UI.Xaml.FrameworkEl
447453
serializerSettings.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
448454
var theme = new DefaultValueProvider().GetPreInstalledThemes().First(x => x.Id == _profile.TerminalThemeId);
449455

450-
WebViewControl.CoreWebView2.Profile.PreferredColorScheme = (ActualTheme == Microsoft.UI.Xaml.ElementTheme.Dark) ? CoreWebView2PreferredColorScheme.Dark : CoreWebView2PreferredColorScheme.Light;
456+
WebViewControl.WebView2Runtime.CoreWebView2.Profile.PreferredColorScheme = (ActualTheme == Microsoft.UI.Xaml.ElementTheme.Dark) ? CoreWebView2PreferredColorScheme.Dark : CoreWebView2PreferredColorScheme.Light;
451457

452458
var serializedTheme = JsonSerializer.Serialize(theme.Colors, serializerSettings);
453459
await ExecuteScriptAsync($"changeTheme('{serializedTheme}')");

src/Files.App/Utils/Terminal/TerminalBridge.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,6 @@ public interface IxtermEventListener
122122
event EventHandler<string> OnPaste;
123123
event EventHandler<string> OnSessionRestart;
124124

125-
public WebView2 WebView { get; }
125+
public WebView2Ex.UI.WebView2Ex WebView { get; }
126126
}
127127
}

0 commit comments

Comments
 (0)