Skip to content

Diagram relation of WebView2 control, SDK, & Runtime #2450

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 69 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
e98ad5d
Initial draft
mikehoffms Feb 17, 2023
b9c34a2
linkfix
mikehoffms Feb 17, 2023
a6fddf4
Add tables
mikehoffms Feb 17, 2023
5c871a6
Topical TOC buckets
mikehoffms Feb 23, 2023
ddf7797
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Mar 1, 2023
bcfa65d
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Mar 3, 2023
176e5b3
Draft diagrams
mikehoffms Mar 9, 2023
21528ff
AddHostObject color
mikehoffms Mar 9, 2023
edcf400
native-side/web-side code
mikehoffms Mar 9, 2023
d76e62c
Reorg sections
mikehoffms Mar 10, 2023
84617df
Move diagram down, detail upper right
mikehoffms Mar 10, 2023
93be2bf
linkfix
mikehoffms Mar 10, 2023
1e4ecca
linkfix2
mikehoffms Mar 10, 2023
47f2572
Applied h2/h4/h6 pattern in wv2 docs
mikehoffms Mar 11, 2023
37ed9d2
Change tabs to h5 in wv2 docs
mikehoffms Mar 11, 2023
f50c324
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Mar 14, 2023
34b333d
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Mar 29, 2023
5f948a2
color diagrams
mikehoffms Mar 31, 2023
46671d5
simplify
mikehoffms Mar 31, 2023
d35342b
labeled diagrams
mikehoffms Mar 31, 2023
7d42bf4
control-runtime-sdk.png
mikehoffms Apr 4, 2023
08eb77a
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Apr 6, 2023
7ae9651
Text of full diagram
mikehoffms Apr 6, 2023
fff9e8b
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Apr 14, 2023
ed6925b
separate article for diagrams
mikehoffms Apr 14, 2023
8c9ff2f
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Apr 17, 2023
053208d
Moved content to arch page
mikehoffms Apr 18, 2023
a0f3751
linkfix
mikehoffms Apr 18, 2023
db0addb
linkfix2
mikehoffms Apr 18, 2023
4e75447
Apply suggestions from code review
Reezaali Apr 19, 2023
575c785
retitle to Components
mikehoffms Apr 19, 2023
0769e25
Talk through diagram
mikehoffms Apr 22, 2023
f986ae8
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Apr 27, 2023
eb64192
blocking extensions
mikehoffms Apr 28, 2023
7016915
Revert "blocking extensions"
mikehoffms Apr 28, 2023
4792113
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms May 3, 2023
deab4fb
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms May 3, 2023
c7121d5
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms May 17, 2023
4c28508
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms May 23, 2023
ae16e41
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms May 30, 2023
0ad4f52
Merge branch 'MicrosoftDocs:main' into user/mikehoffms/wv2-intro-diagram
mikehoffms Jun 7, 2023
a46b9b0
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Jun 9, 2023
a21f9d0
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Jun 19, 2023
d79f7a7
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Jun 20, 2023
6c7d940
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Jul 1, 2023
3912862
Merge remote-tracking branch 'upstream/main' into user/mikehoffms/wv2…
mikehoffms Jul 19, 2023
6d2ec16
Revert toc
mikehoffms Aug 4, 2023
c6d2ed4
Merge branch 'main' into pr/2450
mikehoffms Aug 11, 2023
6130440
Merge branch 'main' into pr/2450
mikehoffms Aug 19, 2023
1ad986a
Merge branch 'main' into pr/2450
mikehoffms Aug 29, 2023
e0c5418
Merge branch 'main' into pr/2450
mikehoffms Aug 31, 2023
924ec27
Merge branch 'main' into pr/2450
mikehoffms Sep 5, 2023
ea8293e
Merge branch 'main' into pr/2450
mikehoffms Sep 8, 2023
1e945f4
Merge branch 'main' into pr/2450
mikehoffms Sep 20, 2023
8777ed7
Merge branch 'main' into pr/2450
mikehoffms Sep 21, 2023
7e58c2b
Merge branch 'main' into pr/2450
mikehoffms Oct 5, 2023
61d7af2
Merge branch 'main' into pr/2450
mikehoffms Oct 24, 2023
ab15a0d
Merge branch 'main' into pr/2450
mikehoffms Nov 14, 2023
c895971
linkfix
mikehoffms Nov 14, 2023
4e77133
Merge branch 'main' into pr/2450
mikehoffms Nov 15, 2023
d986e6f
Merge branch 'main' into pr/2450
mikehoffms Nov 30, 2023
ad7ac45
Merge branch 'main' into pr/2450
mikehoffms May 1, 2025
1bd040b
yaml
mikehoffms May 1, 2025
a2980b5
normize Download section link
mikehoffms May 6, 2025
fea1b13
Merge branch 'main' into pr/2450
mikehoffms May 6, 2025
e83c4c1
Merge branch 'main' into pr/2450
mikehoffms May 14, 2025
7425f0d
Merge branch 'main' into pr/2450
mikehoffms May 21, 2025
dae5d12
Merge branch 'main' into pr/2450
mikehoffms May 27, 2025
4cdbba7
Merge branch 'main' into pr/2450
mikehoffms May 28, 2025
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
3 changes: 3 additions & 0 deletions microsoft-edge/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1345,6 +1345,9 @@
- name: Overview of WebView2 APIs
href: ./webview2/concepts/overview-features-apis.md

- name: Overview of the components of the WebView2 platform
href: webview2/concepts/platform-components.md

- name: "Main classes for WebView2: Environment, Controller, and Core"
href: ./webview2/concepts/environment-controller-core.md

Expand Down
9 changes: 9 additions & 0 deletions microsoft-edge/webview2/concepts/browser-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ The following Microsoft Edge and Google Chrome settings webpages aren't availabl
Google has disabled Google Authentication in embedded webviews, which includes WebView2, due to a security policy they have set. See [Upcoming security changes to Google's OAuth 2.0 authorization endpoint in embedded webviews](https://developers.googleblog.com/2021/06/upcoming-security-changes-to-googles-oauth-2.0-authorization-endpoint.html).

To stay up-to-date on the latest discussion, in the WebView2Feedback repo, see [Google Auth Flows and WebView2](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1647).


<!-- ====================================================================== -->
## Additional keyboard shortcuts information

Expand Down Expand Up @@ -214,3 +216,10 @@ If you set `AreBrowserAcceleratorKeysEnabled` to `FALSE`, the following addition
#### Customizing an individual key

To customize any of the keys individually, use the [AcceleratorKeyPressed](/dotnet/api/microsoft.web.webview2.core.corewebview2controller.acceleratorkeypressed) event.


<!-- ====================================================================== -->
## See also

* [List of Chromium Command Line Switches](https://peter.sh/experiments/chromium-command-line-switches)
* [AcceleratorKeyPressed](/dotnet/api/microsoft.web.webview2.core.corewebview2controller.acceleratorkeypressed?view=webview2-dotnet-1.0.774.44&preserve-view=true) event
4 changes: 3 additions & 1 deletion microsoft-edge/webview2/concepts/data-privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ ms.date: 06/02/2023
---
# Data and privacy in WebView2

WebView2 collects a set of optional and required diagnostic data to keep WebView2 secure and up to date, diagnose issues, and improve WebView2. By agreeing to the WebView2 Runtime Terms and Conditions License, WebView2 developers acknowledge that WebView2 will collect the data that's described in this article. To view the license, go to [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section), where clicking any of the download buttons, such as **Get the Link**, **Download**, or **x64**, shows the license in a dialog.
WebView2 collects a set of optional and required diagnostic data to keep WebView2 secure and up to date, diagnose issues, and improve WebView2. By agreeing to the Microsoft Software License Terms for the Microsoft Edge WebView2 Runtime, you acknowledge (as a WebView2 developer) that WebView2 will collect the data that's described in this article.

To view the license terms, go to the [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download) section of the **Microsoft Edge WebView2** page, and then click any of the download buttons, such as **Get the Link**, **Download**, or **x64**. The license terms are shown in a dialog.

Additionally, WebView2 follows the standards that are outlined in [Microsoft Edge Privacy Whitepaper](/legal/microsoft-edge/privacy). WebView2 has mechanisms to ensure privacy. WebView2 data collection follows the same strict standards as Microsoft Edge. For more information, see [Microsoft Privacy Statement – Microsoft privacy](https://privacy.microsoft.com/privacystatement).

Expand Down
17 changes: 12 additions & 5 deletions microsoft-edge/webview2/concepts/distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Cons:
<!-- ====================================================================== -->
## Understanding the options at the Runtime download page

The [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download-section) section of the **Microsoft Edge WebView2** page provides several options for distributing the WebView2 Runtime onto client machines. Understanding the options at this page provides a good introduction, to help decide which approach you want to use.
The [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download) section of the **Microsoft Edge WebView2** page provides several options for distributing the WebView2 Runtime onto client machines. Understanding the options at this page provides a good introduction, to help decide which approach you want to use.

![Options for distributing and updating the WebView2 Runtime](./distribution-images/runtime-distrib-options.png)

Expand Down Expand Up @@ -158,7 +158,7 @@ See also:
<!-- ------------------------------ -->
#### Deploying the Evergreen WebView2 Runtime

Only one installation of the Evergreen WebView2 Runtime is needed for all Evergreen apps on the device. Several tools are available at [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download-section) to help you deploy the Evergreen Runtime.
Only one installation of the Evergreen WebView2 Runtime is needed for all Evergreen apps on the device. Several tools are available at the [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download) section of the **Microsoft Edge WebView2** page, to help you deploy the Evergreen Runtime.

* For online clients: _WebView2 Runtime Bootstrapper_ is a tiny (approximately 2 MB) installer. The WebView2 Runtime Bootstrapper downloads and installs the Evergreen Runtime from Microsoft servers that matches the user's device architecture.

Expand Down Expand Up @@ -247,7 +247,7 @@ Alternatively, instead of programmatically downloading the bootstrapper on-deman

If you have an offline deployment scenario, where app deployment has to work entirely offline, use the following workflow.

1. Download the Evergreen Standalone Installer from [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download-section) to your development machine. The Evergreen Standalone Installer installs the Evergreen WebView2 Runtime on the client.
1. Download the Evergreen Standalone Installer from the [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download) section of the **Microsoft Edge WebView2** page to your development machine. The Evergreen Standalone Installer installs the Evergreen WebView2 Runtime on the client.

1. Include the Evergreen Standalone Installer in your app installer or updater.

Expand Down Expand Up @@ -294,6 +294,13 @@ To use the new version of the WebView2 Runtime, you need to either release all r

In the Evergreen distribution mode, the WebView2 Runtime is automatically kept up to date on the client to provide the latest features and security fixes. If you use Evergreen distribution, to ensure that your WebView2 app stays compatible with the web, you should set up testing infrastructure.

Microsoft Edge preview channels (Beta, Dev, and Canary) provide a sneak peek into what is coming next in the WebView2 Runtime. Test your WebView2 app regularly against a Microsoft Edge preview channel, and update your app or [report issues](https://github.com/MicrosoftEdge/WebViewFeedback) if issues arise. See [Test upcoming APIs and features](../how-to/set-preview-channel.md).
Canary is the recommended preview channel, because it ships at the fastest cadence and has the newest APIs.

To help you decide which channel is right, see [Overview of the Microsoft Edge channels](/deployedge/microsoft-edge-channels). You can [Download Microsoft Edge Insider Channels](https://www.microsoft.com/edge/download/insider) on your test environment, and use `regkey` or environment variables to indicate the channel preference for your testing app.

See [CreateCoreWebView2EnvironmentWithOptions](/microsoft-edge/webview2/reference/win32/webview2-idl#createcorewebview2environmentwithoptions). You can also use WebDriver to automate WebView2 testing, as described in [Automate, and test WebView2 with Microsoft Edge WebDriver](../how-to/webdriver.md).

For best practices about how to test your app for forward-compatibility, see [Prerelease testing using preview channels](../how-to/prerelease-testing.md) and [Self-host by deploying preview channels](../how-to/self-hosting.md).


Expand All @@ -318,7 +325,7 @@ The Fixed Version binaries are over 250 MB and will make your app package larger

To use the Fixed Version distribution mode:

1. Download the Fixed Version of the WebView2 Runtime from [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download-section), as a package.
1. Download the Fixed Version of the WebView2 Runtime from the [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download) section of the **Microsoft Edge WebView2** page, as a package.

The most-patched version of the latest and second-latest major releases are available for download at this site. Keep an archived copy of any versions you need.

Expand Down Expand Up @@ -423,5 +430,5 @@ Example managed app folder structure:
<!-- ====================================================================== -->
## See also

<!-- External: -->
* [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download) - a section of the **Microsoft Edge WebView2** page, which links to the present article.
* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading