Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions microsoft-edge/develop-web-microsoft-edge.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,9 @@ The following sections are tips for using the Microsoft Learn website.
<!-- ====================================================================== -->
## View end-user docs about Microsoft Edge

Microsoft Edge Developer docs are at the Microsoft Learn website. Microsoft Edge end-user docs are at the following, other websites:
Microsoft Edge Developer docs are at the present, Microsoft Learn website (learn.microsoft.com). Microsoft Edge end-user docs are at the following, other websites:

* [Microsoft Edge help & learning](https://support.microsoft.com/microsoft-edge) - Support.microsoft.com.
* [Microsoft Edge help & learning](https://support.microsoft.com/microsoft-edge) - support.microsoft.com.
* [Do More with Edge](https://www.microsoft.com/edge/learning-center/) - Learning center at Microsoft.com.

See also:
Expand Down
3 changes: 2 additions & 1 deletion microsoft-edge/webview2/concepts/webview-features-flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ms.author: msedgedevrel
ms.topic: article
ms.service: microsoft-edge
ms.subservice: webview
ms.date: 02/02/2026
ms.date: 05/21/2026
---
# WebView2 browser flags
<!-- lexicon:
Expand Down Expand Up @@ -125,6 +125,7 @@ If the flag takes a value other than true|false, give an example. -->
| `msAbydos` | Enables the "handwriting-to-text" experience. |
| `msAbydosGestureSupport` | Allows users to use gestures (such as the scratchout gesture) to delete text by using a pen. Valid only if the `msAbydos` flag is enabled. |
| `msAbydosHandwritingAttr` | Whether the "handwriting-to-text" experience is enabled for input elements at the DOM level. Valid only if the `msAbydos` flag is enabled. |
| `msAbydosForWindowlessWV2` | Enables ShellHandwriting (Windows Shell Handwriting) functionality in Window to Visual hosting mode. Valid only if the `msAbydos` flag is enabled. See also [Windowed vs. Visual hosting of WebView2](./windowed-vs-visual-hosting.md). |
| `msAllowAmbientAuthInPrivateWebView2` | This flag is to be used along with the `msSingleSignOnForInPrivateWebView2` browser flag, to enable single sign-on (SSO) with default credential flow or ambient authentication flow. |
| `msEdgeDesignerDriverFix` | Enables getting content and automatically showing the Designer feature. The Designer feature is not supported in WebView2. |
| `msEdgeDesignerUI` | Enables the Designer Shoreline App. The Designer Shoreline App is not supported in WebView2. |
Expand Down
32 changes: 14 additions & 18 deletions microsoft-edge/webview2/concepts/windowed-vs-visual-hosting.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The different approaches for hosting the WebView2 control in your app are simila
| Approach | Description | Optimized for |
|---|---|---|
| Windowed hosting | The WebView2 control takes input from the operating system (OS). The OS sends the input to the WebView2. | Displaying web content quickly and easily, without having to include features for inputs, outputs, and accessibility. |
| Window to Visual hosting | A combination of Windowed and Visual hosting. Similar to Windowed hosting except that WebView2 content is output to a Visual that is hosted in a window rather having content output to the window directly. | A developer experience nearly identical to Windowed hosting, but with improved DPI/scaling handling and the caveat that the Windows Shell Handwriting experience is unsupported. |
| Window to Visual hosting | A combination of Windowed and Visual hosting. Similar to Windowed hosting except that WebView2 content is output to a Visual that is hosted in a window rather having content output to the window directly. | A developer experience nearly identical to Windowed hosting, but with improved DPI/scaling handling. |
| Visual hosting | Your host app takes spatial input (such as mouse or touch input) from the user. Your app sends this input to the WebView2 control. | More granular control over control composition. The app needs to do specific handling of window management and rendering APIs. |

These approaches have different requirements, constraints, and benefits.
Expand Down Expand Up @@ -72,21 +72,21 @@ For a list of APIs that can be used when configuring WebView2 for Windowed hosti


<!-- ====================================================================== -->
## Window to Visual hosting: For a similar experience as Windowed hosting, with added benefits and tradeoff
## Window to Visual hosting: For a similar experience as Windowed hosting, with added benefits

_Window-to-Visual hosting_ means that the WebView2 content is outputted to a Visual that is hosted in an HWND, rather than outputting content to a window directly or to a Visual directly. By hosting content in an HWND, Window to Visual hosting is easy to use, in the same ways as Windowed hosting. But by displaying content by using a Visual, Window-to-Visual hosting avoids some DPI and input issues that can result when using Windowed hosting.
_Window to Visual hosting_ means that the WebView2 content is outputted to a Visual that is hosted in an HWND, rather than outputting content to a window directly or to a Visual directly. By hosting content in an HWND, Window to Visual hosting is easy to use, in the same ways as Windowed hosting. But by displaying content by using a Visual, Window to Visual hosting avoids some DPI and input issues that can result when using Windowed hosting.

Window to Visual hosting doesn't require you to use the WebView2 Visual hosting APIs.

To enable Window to Visual hosting, the environment variable `COREWEBVIEW2_FORCED_HOSTING_MODE` must be set to the value `COREWEBVIEW2_HOSTING_MODE_WINDOW_TO_VISUAL` before initializing your WebView2.

In Window-to-Visual hosting and Visual hosting, a _Visual_ is a basic graphical unit that can be used to compose graphical experiences on Windows. The Windows graphics APIs that expose this functionality and are relevant to WebView2 are `DirectComposition` and `Windows.UI.Composition`. The "Visual" in "Visual hosting" can be any one of `IDCompositionVisual`, `IDCompositionTarget`, or `Windows.UI.Composition.Visual`, which are Visuals that are exposed through the `DirectComposition` and `Windows.UI.Composition` APIs. (Window to Visual hosting uses `IDCompositionVisual` specifically.) See:
In Window to Visual hosting and Visual hosting, a _Visual_ is a basic graphical unit that can be used to compose graphical experiences on Windows. The Windows graphics APIs that expose this functionality and are relevant to WebView2 are `DirectComposition` and `Windows.UI.Composition`. The "Visual" in "Visual hosting" can be any one of `IDCompositionVisual`, `IDCompositionTarget`, or `Windows.UI.Composition.Visual`, which are Visuals that are exposed through the `DirectComposition` and `Windows.UI.Composition` APIs. (Window to Visual hosting uses `IDCompositionVisual` specifically.) See:
* [Basic concepts](/windows/win32/directcomp/basic-concepts) in the Windows App Development > DirectComposition docs.
* [Composition visual](/windows/uwp/composition/composition-visual-tree) in the Windows App Development > UWP docs.

To enable Window to Visual hosting, the environment variable `COREWEBVIEW2_FORCED_HOSTING_MODE` must be set to the value `COREWEBVIEW2_HOSTING_MODE_WINDOW_TO_VISUAL` before initializing your WebView2.


<!-- ------------------------------ -->
#### Advantages
#### Capabilities and benefits of Window to Visual hosting

* Window to Visual hosting doesn't require you to use the WebView2 Visual hosting APIs.

* Different apps that share a WebView2 user data folder can have different DPI awareness.

Expand All @@ -96,15 +96,10 @@ In Window-to-Visual hosting and Visual hosting, a _Visual_ is a basic graphical

* When hosting a WebView2 in a VSTO Add-in, changing monitor scale won't potentially cause the app to hang. See [VSTO Add-ins](/visualstudio/vsto/office-solutions-development-overview-vsto#vsto-add-ins) in _Office solutions development overview (VSTO)_.


<!-- ------------------------------ -->
#### Disadvantages

Enabling Window to Visual hosting mode removes support for Windows Shell Handwriting within the WebView2.

See also:
* [Ink input](/windows/win32/input_ink/input-ink-portal) - Windows App Development > User Interaction.
* [shellhandwriting.h header](/windows/win32/api/shellhandwriting/) - Win32 API.
* Window to Visual hosting mode supports Windows Shell Handwriting within the WebView2, by setting the `msAbydosForWindowlessWV2` flag. See also:
* [WebView2 browser flags](./webview-features-flags.md)
* [Ink input](/windows/win32/input_ink/input-ink-portal) - Windows App Development > User Interaction.
* [shellhandwriting.h header](/windows/win32/api/shellhandwriting/) - Win32 API.


<!-- ------------------------------ -->
Expand Down Expand Up @@ -181,6 +176,7 @@ See also:
<!-- all links in article, except api ref docs -->

* [Overview of WebView2 APIs](./overview-features-apis.md)
* [WebView2 browser flags](./webview-features-flags.md) - covers `msAbydosForWindowlessWV2`.
<!-- omit:
* [Enhance UI with the Visual layer (Windows App SDK/WinUI 3)](https://learn.microsoft.com/windows/apps/windows-app-sdk/composition) - Windows App Development. -->

Expand Down
Loading