From e5145c13ebf2f78f26448fe130f52a2d6c1b9bb1 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 11:07:55 -0700 Subject: [PATCH 01/19] Add info --- microsoft-edge/webview2/get-started/winui.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 12723b54c2..51b8fc4d9d 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 07/06/2022 +ms.date: 03/13/2024 --- # Get started with WebView2 in WinUI 3 (Windows App SDK) apps @@ -451,6 +451,20 @@ The following classes aren't accessible in WinUI 3: * `CoreWebView2EnvironmentOptions` * `CoreWebView2ControllerOptions` + + + + +###### WinAppSDK supports custom WebView2 environments + + +WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). To implement a custom WebView2 environment, initialize WebView2 with one of the new overrides of `WebView2.EnsureCoreWebView2Async`, and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): + +```csharp +public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment) +public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment, CoreWebView2ControllerOptions controllerOptions) +``` + From 16b08c2bb6937f54946ddd433cc42b6930db52c7 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 11:33:37 -0700 Subject: [PATCH 02/19] Remove "API limitations" --- microsoft-edge/webview2/get-started/winui.md | 23 ++++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 51b8fc4d9d..152ba03fce 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -444,27 +444,26 @@ public MainWindow() WinUI 3 doesn't support transparent backgrounds. See [Transparent background support for WebView2? · Issue #2992](https://github.com/microsoft/microsoft-ui-xaml/issues/2992). - -#### API limitations + +#### WinAppSDK supports custom WebView2 environments -The following classes aren't accessible in WinUI 3: - -* `CoreWebView2EnvironmentOptions` -* `CoreWebView2ControllerOptions` - +_todo: move this section_ +WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). To implement a custom WebView2 environment, initialize WebView2 with one of the new overrides of `WebView2.EnsureCoreWebView2Async`, and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): - -###### WinAppSDK supports custom WebView2 environments - + ```csharp public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment) public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment, CoreWebView2ControllerOptions controllerOptions) ``` - + +_todo: tab-set for 3 platforms, linking to API Ref_ From 3d29753a6416e44826ebfc79461357482a2080ca Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 11:46:11 -0700 Subject: [PATCH 03/19] Move new section up --- microsoft-edge/webview2/get-started/winui.md | 42 ++++++++++---------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 152ba03fce..30f33d456d 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -200,6 +200,26 @@ Edit the `MainWindow.xaml` and `MainWindow.xaml.cs` files to add a WebView2 cont 1. Close the app. + +#### WinAppSDK supports custom WebView2 environments + +Note (background info): + +WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). To implement a custom WebView2 environment, initialize WebView2 with one of the new overrides of `WebView2.EnsureCoreWebView2Async`, and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): + +```csharp +public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment) +public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment, CoreWebView2ControllerOptions controllerOptions) +``` + +_todo: tab-set for 3 platforms, linking to API Ref_ + +The following classes are accessible in WinUI 3: + +* `CoreWebView2EnvironmentOptions` +* `CoreWebView2ControllerOptions` + + ## Step 5 - Add navigation controls @@ -444,28 +464,6 @@ public MainWindow() WinUI 3 doesn't support transparent backgrounds. See [Transparent background support for WebView2? · Issue #2992](https://github.com/microsoft/microsoft-ui-xaml/issues/2992). - -#### WinAppSDK supports custom WebView2 environments - -_todo: move this section_ - -WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). To implement a custom WebView2 environment, initialize WebView2 with one of the new overrides of `WebView2.EnsureCoreWebView2Async`, and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): - - - -```csharp -public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment) -public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment, CoreWebView2ControllerOptions controllerOptions) -``` - -_todo: tab-set for 3 platforms, linking to API Ref_ - - ## See also From ae715b5cf19ae855c27f65cc92db55f774c49856 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 11:47:58 -0700 Subject: [PATCH 04/19] SmartScreen todo --- microsoft-edge/webview2/get-started/winui.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 30f33d456d..8aa316fed1 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -435,8 +435,12 @@ Congratulations, you built your first WebView2 app! ## WinUI 3 WebView2 special considerations + + #### SmartScreen +_todo: this section is now out of date. We no longer recommend using environment variables here; instead, use a custom `CoreWebView2Environment`._ + WebView2 sends URLs that are navigated to in your application to the [SmartScreen](/windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview) service, to ensure that your customers stay secure. If you want to disable this navigation, you can do so via an environment variable: * `Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--disable-features=msSmartScreenProtection");` From 678a3d61386641ca289aded1ea75e946ef0b8b73 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 12:11:36 -0700 Subject: [PATCH 05/19] Disable SmartScreen nav via API --- microsoft-edge/webview2/get-started/winui.md | 23 +++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 8aa316fed1..dfc1331ce1 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -437,11 +437,28 @@ Congratulations, you built your first WebView2 app! -#### SmartScreen +#### Disabling SmartScreen navigation -_todo: this section is now out of date. We no longer recommend using environment variables here; instead, use a custom `CoreWebView2Environment`._ +WebView2 sends URLs that are navigated to in your application to the [SmartScreen](/windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview) service, to ensure that your customers stay secure. If you want to disable this navigation, use a custom `CoreWebView2Environment`, as follows: -WebView2 sends URLs that are navigated to in your application to the [SmartScreen](/windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview) service, to ensure that your customers stay secure. If you want to disable this navigation, you can do so via an environment variable: +```csharp +CoreWebView2EnvironmentOptions environmentOptions = new CoreWebView2EnvironmentOptions(); +environmentOptions.AdditionalBrowserArguments = "--disable-features=msSmartScreenProtection"; + +string browserFolder = null; // Use null to get default browser folder +string userDataFolder = null; // Use null to get default user data folder +CoreWebView2Environment environment = await CoreWebView2Environment.CreateWithOptionsAsync( + browserFolder, userDataFolder, environmentOptions); + +// ... + +this.WebView2.EnsureCoreWebView2Async(environment); +``` + + +###### Disabling SmartScreen by using an environment variable + +We no longer recommend using an environment variable. Use the above API code-based approach instead. * `Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--disable-features=msSmartScreenProtection");` From 0532d11a7384ef369167cb29d24e32adf2780764 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 12:33:33 -0700 Subject: [PATCH 06/19] link API Ref --- microsoft-edge/webview2/get-started/winui.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index dfc1331ce1..4355ba370c 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -203,21 +203,25 @@ Edit the `MainWindow.xaml` and `MainWindow.xaml.cs` files to add a WebView2 cont #### WinAppSDK supports custom WebView2 environments -Note (background info): +Background information: -WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). To implement a custom WebView2 environment, initialize WebView2 with one of the new overrides of `WebView2.EnsureCoreWebView2Async`, and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): +WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). + +To implement a custom WebView2 environment, initialize WebView2 with one of the overrides of `WebView2.EnsureCoreWebView2Async` (listed below), and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): ```csharp public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment) public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment, CoreWebView2ControllerOptions controllerOptions) ``` -_todo: tab-set for 3 platforms, linking to API Ref_ - -The following classes are accessible in WinUI 3: +API Reference: +* [CoreWebView2ControllerOptions](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2controlleroptions) +* [CoreWebView2Environment](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment) +* [CoreWebView2EnvironmentOptions](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions) -* `CoreWebView2EnvironmentOptions` -* `CoreWebView2ControllerOptions` + @@ -392,8 +396,6 @@ You can use host apps to inject JavaScript code into WebView2 controls at runtim As an example, next, you add scripts that send an alert when a user tries to open non-HTTPS sites. To do this, you inject a script into the web content that uses [ExecuteScriptAsync](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.webview2.executescriptasync). - - 1. In the `EnsureHttps` method, add the following `ExecuteScriptAsync` line: From adf5cd138fb6fb14d50a501e57a175db766968a5 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 13:11:38 -0700 Subject: [PATCH 07/19] link Ensure overloads --- microsoft-edge/webview2/get-started/winui.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 4355ba370c..0552422810 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -215,13 +215,11 @@ public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment ``` API Reference: +* [WebView2.EnsureCoreWebView2Async](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.webview2.ensurecorewebview2async) * [CoreWebView2ControllerOptions](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2controlleroptions) * [CoreWebView2Environment](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment) * [CoreWebView2EnvironmentOptions](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions) - From c970f387b477254bd5272b7e5e167d93aa802c80 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 13 Mar 2024 13:17:34 -0700 Subject: [PATCH 08/19] local jump section in Special Consids --- microsoft-edge/webview2/get-started/winui.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 0552422810..a7e4e2bfce 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -485,6 +485,12 @@ public MainWindow() WinUI 3 doesn't support transparent backgrounds. See [Transparent background support for WebView2? · Issue #2992](https://github.com/microsoft/microsoft-ui-xaml/issues/2992). + +#### WinAppSDK support for custom WebView2 environments + +See [WinAppSDK supports custom WebView2 environments](#winappsdk-support-for-custom-webview2-environments), above. + + ## See also From 3b3549ac314afe4d89b243d36a61bf308e379c0d Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Thu, 14 Mar 2024 09:30:42 -0700 Subject: [PATCH 09/19] anchor link fix --- microsoft-edge/webview2/get-started/winui.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index a7e4e2bfce..c163d9d6c6 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 03/13/2024 +ms.date: 03/14/2024 --- # Get started with WebView2 in WinUI 3 (Windows App SDK) apps @@ -488,7 +488,7 @@ WinUI 3 doesn't support transparent backgrounds. See [Transparent background su #### WinAppSDK support for custom WebView2 environments -See [WinAppSDK supports custom WebView2 environments](#winappsdk-support-for-custom-webview2-environments), above. +See [WinAppSDK supports custom WebView2 environments](#winappsdk-supports-custom-webview2-environments), above. From db4b3668bcea609dfbd9b0c728c2e6690784b4db Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Thu, 28 Mar 2024 09:06:23 -0700 Subject: [PATCH 10/19] Incorp d.k. comments --- microsoft-edge/webview2/get-started/winui.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index c163d9d6c6..919f47ccc6 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 03/14/2024 +ms.date: 03/28/2024 --- # Get started with WebView2 in WinUI 3 (Windows App SDK) apps @@ -203,9 +203,7 @@ Edit the `MainWindow.xaml` and `MainWindow.xaml.cs` files to add a WebView2 cont #### WinAppSDK supports custom WebView2 environments -Background information: - -WinAppSDK supports custom WebView2 environments. See [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). WebView2 custom environment support has been added in WinAppSDK 1.5 (first appearing in [1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). +WinAppSDK supports custom WebView2 environments, starting with WinAppSDK 1.5 ([1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). For more information, see [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). To implement a custom WebView2 environment, initialize WebView2 with one of the overrides of `WebView2.EnsureCoreWebView2Async` (listed below), and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): @@ -214,6 +212,8 @@ public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment, CoreWebView2ControllerOptions controllerOptions) ``` +Also see the example code in [Disabling SmartScreen navigation](#disabling-smartscreen-navigation), below. + API Reference: * [WebView2.EnsureCoreWebView2Async](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.webview2.ensurecorewebview2async) * [CoreWebView2ControllerOptions](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2controlleroptions) From b6752968e2fe246b60302c5882569a7de7bff05a Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 3 Apr 2024 15:03:30 -0700 Subject: [PATCH 11/19] initial placeholder --- .../concepts/working-with-local-content.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/microsoft-edge/webview2/concepts/working-with-local-content.md b/microsoft-edge/webview2/concepts/working-with-local-content.md index ebca7871e3..57a4042571 100644 --- a/microsoft-edge/webview2/concepts/working-with-local-content.md +++ b/microsoft-edge/webview2/concepts/working-with-local-content.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 01/10/2023 +ms.date: 04/03/2024 --- # Working with local content in WebView2 apps @@ -32,17 +32,25 @@ The various ways of loading local content into a WebView2 control support the fo | Additional web resources | ✔️ | ❌ | ✔️ | ✔️ | | Additional web resources resolved in WebView2 process | ✔️ | ❌ | ✔️ | ❌ | + + These scenarios are described in more detail below. + ## Loading local content by navigating to a file URL WebView2 allows navigations to file URLs, to load basic HTML or a PDF. This is the simplest and most efficient approach to loading local content. However, it is less flexible than the other approaches. Like in a web browser, file URLs are limited in some capabilities: + * The document has an origin that is unique to its file path. This means that web APIs that require an origin such as `localStorage` or `indexedDB` will work, but the stored data will not be available to other local documents loaded from other file paths. + * Some web APIs are limited to secure HTTPS URLs only and are not available to documents loaded by file URLs. This includes APIs such as `navigator.mediaDevices.getUserMedia()` to acquire video or sound, `navigator.geolocation.getCurrentPosition()` to access the device's location, or `Notification.requestPermission()` to request the user's permission to display notifications. + * For each resource, the full path must be specified. + * To allow references to other local files from file URIs, or to display XML files with XSL transformations applied, you can set the `--allow-file-access-from-files` browser argument. See [CoreWebView2EnvironmentOptions.AdditionalBrowserArguments Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.additionalbrowserarguments). + #### Considerations for loading local content by navigating to a file URL @@ -786,6 +794,12 @@ HRESULT AppWindow::WebResourceRequestedEventHandler( --- + +## Custom scheme registration + +See [Custom scheme registration](./overview-features-apis#custom-scheme-registration) in _Overview of WebView2 features and APIs_. + + ## See also From b6ddccb6646ec26dd3b96bd5ff97c3a8eb20d74a Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 3 Apr 2024 15:04:48 -0700 Subject: [PATCH 12/19] Revert "initial placeholder" This reverts commit b6752968e2fe246b60302c5882569a7de7bff05a. --- .../concepts/working-with-local-content.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/microsoft-edge/webview2/concepts/working-with-local-content.md b/microsoft-edge/webview2/concepts/working-with-local-content.md index 57a4042571..ebca7871e3 100644 --- a/microsoft-edge/webview2/concepts/working-with-local-content.md +++ b/microsoft-edge/webview2/concepts/working-with-local-content.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 04/03/2024 +ms.date: 01/10/2023 --- # Working with local content in WebView2 apps @@ -32,25 +32,17 @@ The various ways of loading local content into a WebView2 control support the fo | Additional web resources | ✔️ | ❌ | ✔️ | ✔️ | | Additional web resources resolved in WebView2 process | ✔️ | ❌ | ✔️ | ❌ | - - These scenarios are described in more detail below. - ## Loading local content by navigating to a file URL WebView2 allows navigations to file URLs, to load basic HTML or a PDF. This is the simplest and most efficient approach to loading local content. However, it is less flexible than the other approaches. Like in a web browser, file URLs are limited in some capabilities: - * The document has an origin that is unique to its file path. This means that web APIs that require an origin such as `localStorage` or `indexedDB` will work, but the stored data will not be available to other local documents loaded from other file paths. - * Some web APIs are limited to secure HTTPS URLs only and are not available to documents loaded by file URLs. This includes APIs such as `navigator.mediaDevices.getUserMedia()` to acquire video or sound, `navigator.geolocation.getCurrentPosition()` to access the device's location, or `Notification.requestPermission()` to request the user's permission to display notifications. - * For each resource, the full path must be specified. - * To allow references to other local files from file URIs, or to display XML files with XSL transformations applied, you can set the `--allow-file-access-from-files` browser argument. See [CoreWebView2EnvironmentOptions.AdditionalBrowserArguments Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.additionalbrowserarguments). - #### Considerations for loading local content by navigating to a file URL @@ -794,12 +786,6 @@ HRESULT AppWindow::WebResourceRequestedEventHandler( --- - -## Custom scheme registration - -See [Custom scheme registration](./overview-features-apis#custom-scheme-registration) in _Overview of WebView2 features and APIs_. - - ## See also From ae5b1ab49a8c4e640fb6fba367ff99c24a3d992b Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Mon, 8 Apr 2024 20:01:26 -0700 Subject: [PATCH 13/19] to instantiate --- microsoft-edge/webview2/get-started/winui.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 919f47ccc6..259f8cfdcc 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 03/28/2024 +ms.date: 04/08/2024 --- # Get started with WebView2 in WinUI 3 (Windows App SDK) apps @@ -205,7 +205,7 @@ Edit the `MainWindow.xaml` and `MainWindow.xaml.cs` files to add a WebView2 cont WinAppSDK supports custom WebView2 environments, starting with WinAppSDK 1.5 ([1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). For more information, see [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). -To implement a custom WebView2 environment, initialize WebView2 with one of the overrides of `WebView2.EnsureCoreWebView2Async` (listed below), and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): +To instantiate a custom WebView2 environment, initialize WebView2 with one of the overrides of `WebView2.EnsureCoreWebView2Async` (listed below), and pass in your custom `CoreWebView2Environment` (and, optionally, custom `CoreWebView2ControllerOptions`): ```csharp public IAsyncAction EnsureCoreWebView2Async (CoreWebView2Environment environment) From deb2ff55930f4f75ca78a169b450afc4c3219c40 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Mon, 8 Apr 2024 20:03:16 -0700 Subject: [PATCH 14/19] heading comment dividers --- microsoft-edge/webview2/get-started/winui.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index 259f8cfdcc..a44a457c08 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -17,6 +17,7 @@ In this tutorial, you use the **Blank App, Packaged (WinUI in Desktop)** Visual ![App displaying the Bing website](winui-images/getting-started-bing.png) + #### Completed project A completed version of this tutorial project (as of 2020) is available in the **WebView2Samples** repo: @@ -113,6 +114,7 @@ To create a WebView2 app, start by creating a basic desktop project, to create a 1. Close the app. + #### Updating target version numbers For the build step above: If you're updating a previous project, you might need to update the version numbers for **Target version** and **Minimum version**. To do this, in Solution right-click the project and then select **Edit Project File**. Your `.csproj` file opens. Make sure the values are updated as follows, and then save any changes and build the project. @@ -200,7 +202,7 @@ Edit the `MainWindow.xaml` and `MainWindow.xaml.cs` files to add a WebView2 cont 1. Close the app. - + #### WinAppSDK supports custom WebView2 environments WinAppSDK supports custom WebView2 environments, starting with WinAppSDK 1.5 ([1.5.0-experimental2](/windows/apps/windows-app-sdk/experimental-channel#version-15-experimental-150-experimental2)). For more information, see [WinUI3 WebView2 with a custom CoreWebView2Environment](https://github.com/microsoft/microsoft-ui-xaml/issues/6150). @@ -376,6 +378,7 @@ In this section, you add code to import the WebView2 Core library. 1. These debugger dialogs are a known bug. Click the **OK** button, and then click the **Cancel** button to close the dialogs. + #### WinRT CoreWebView2 object availability The WinRT `CoreWebView2` object might not be available with the release of the WebView2 API. For a list of available APIs, see: @@ -456,6 +459,7 @@ this.WebView2.EnsureCoreWebView2Async(environment); ``` + ###### Disabling SmartScreen by using an environment variable We no longer recommend using an environment variable. Use the above API code-based approach instead. From 7824fbe4ef5b02d867ba7bcf2b190e4eabe4b250 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Mon, 8 Apr 2024 20:28:20 -0700 Subject: [PATCH 15/19] incorp main-page comments --- microsoft-edge/webview2/get-started/winui.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index a44a457c08..2466bfa6c2 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -154,8 +154,7 @@ Edit the `MainWindow.xaml` and `MainWindow.xaml.cs` files to add a WebView2 cont xmlns:local="using:MyWebView2WinUI3" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" - xmlns:controls="using:Microsoft.UI.Xaml.Controls"> + mc:Ignorable="d"> @@ -294,7 +293,6 @@ To allow users to control which webpage is displayed in the WebView2 control, ad ![Debugger not configured](winui-images/debugger-not-configd.png) -1. These debugger dialogs are a known bug. Click the **OK** button, and then click the **Cancel** button to close the dialogs. #### WinRT CoreWebView2 object availability + The WinRT `CoreWebView2` object might not be available with the release of the WebView2 API. For a list of available APIs, see: * WinUI 3 API Reference (Windows App SDK) - [Microsoft.UI.Xaml.Controls.WebView2 Class](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.webview2) - in API reference for Windows desktop apps > WinRT APIs. From f9b2209d0d3767e367def3f9d05271b1120b5d33 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 10 Apr 2024 19:22:22 -0700 Subject: [PATCH 17/19] Del h4 "WinRT CoreWebView2 object availability" --- microsoft-edge/webview2/get-started/winui.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index a4e2915ed5..e7dafa351d 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -376,15 +376,6 @@ In this section, you add code to import the WebView2 Core library. 1. These debugger dialogs are a known bug. Click the **OK** button, and then click the **Cancel** button to close the dialogs. - -#### WinRT CoreWebView2 object availability - - -The WinRT `CoreWebView2` object might not be available with the release of the WebView2 API. For a list of available APIs, see: -* WinUI 3 API Reference (Windows App SDK) - [Microsoft.UI.Xaml.Controls.WebView2 Class](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.webview2) - in API reference for Windows desktop apps > WinRT APIs. -* The [WebView2 Spec](https://github.com/microsoft/microsoft-ui-xaml-specs/blob/master/active/WebView2/WebView2_spec.md) - - ## Step 7 - Scripting From 207aec3a2f60436910282742878c03f6d34df9dd Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Thu, 11 Apr 2024 12:00:52 -0700 Subject: [PATCH 18/19] Remove debugger dialogs --- .../winui-images/debugger-not-configd.png | Bin 19989 -> 0 bytes microsoft-edge/webview2/get-started/winui.md | 10 ++-------- 2 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 microsoft-edge/webview2/get-started/winui-images/debugger-not-configd.png diff --git a/microsoft-edge/webview2/get-started/winui-images/debugger-not-configd.png b/microsoft-edge/webview2/get-started/winui-images/debugger-not-configd.png deleted file mode 100644 index 37d7505b2ab67fb43b72640ffe6250b6d9f85c5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19989 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 Ur3sKgE4MA~E+>xG9S%wTI~{AqZ2$lO diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md index e7dafa351d..6919898a3b 100644 --- a/microsoft-edge/webview2/get-started/winui.md +++ b/microsoft-edge/webview2/get-started/winui.md @@ -289,9 +289,7 @@ To allow users to control which webpage is displayed in the WebView2 control, ad An `ArgumentException` exception is thrown, and appears after you close the app, because the URL doesn't start with `http://` or `https://`. -1. Close the app. The following Visual Studio dialogs might appear: - - ![Debugger not configured](winui-images/debugger-not-configd.png) +1. Close the app.