Skip to content

Commit 4c22d04

Browse files
authored
Update IsNonClientRegionSupportEnabled.md
1 parent cf5ed65 commit 4c22d04

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

specs/IsNonClientRegionSupportEnabled.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# Background
22

3-
To improve the developer experience for customizing non-client regions, WebView2 is working to support using DOM elements as non-client regions. We currently have limited support for title bar aka draggable regions and are working on building out support for caption controls and resize regions.
3+
To improve the developer experience for customizing non-client regions, WebView2 is working to support using DOM elements as non-client regions. We currently have limited support for title bar aka
4+
draggable regions and are working on building out support for caption controls and resize regions.
45

5-
For security and flexibility, we want developers to be able to enable or disable all custom non-client functionality per WebView. Non-client functionality will affect that app window’s size and position so it’s important that developers can definitively toggle access.This can be achieved in a limited way using a feature flag, but feature flags are applied per WebView2 environment, thus, an API on the WebView2 to enable/disable non-client support via a setting is the better solution.
6+
For security and flexibility, we want developers to be able to enable or disable all custom non-client functionality per WebView. Non-client functionality will affect that app window’s size and position so
7+
it’s important that developers can definitively toggle access. This can be achieved in a limited way using a feature flag, but feature flags are applied per WebView2 environment, thus, an API on the
8+
WebView2 to enable/disable non-client support via a setting is the better solution.
69

710
# Description
8-
`IsNonClientRegionSupportEnabled` defaults to `FALSE`. Disabling/Enabling `IsNonClientRegionSupportEnabled` takes effect after the next navigation. Currently, draggable regions is the only non-client experience we have implemented. Eventually, this setting will expand to enable other non-client functionality, such as resize and caption controls.
11+
`IsNonClientRegionSupportEnabled` defaults to `FALSE`. Disabling/Enabling `IsNonClientRegionSupportEnabled` takes effect after the next navigation. Currently, draggable regions is the only non-client
12+
experience we have implemented. Eventually, this setting will expand to enable other non-client functionality, such as resize and caption controls.
913

10-
When the setting is set to `TRUE`, then the following non-client region support will be enabled:
14+
When the setting is set to `TRUE`, then the following non-client region support for the top level document will be enabled:
1115

1216
* Web pages will be able to use the `app-region` CSS style.
1317

@@ -45,7 +49,8 @@ void ToggleNonClientRegionSupportEnabled()
4549
```
4650

4751
# Remarks
48-
If the flag is used to enable draggable regions in additional browser arguments, draggable region support will remain enabled even if `IsNonClientRegionSupportEnabled` setting is `FALSE`.
52+
If the feature flag for enabling the app-region CSS style is used to enable draggable regions in additional browser arguments, draggable region support will remain enabled even if the
53+
`IsNonClientRegionSupportEnabled` setting is `FALSE`.
4954

5055
# API Notes
5156
See [API Details](#api-details) section below for API reference.
@@ -84,4 +89,5 @@ interface ICoreWebView2Settings9 : ICoreWebView2Settings8 {
8489
```
8590

8691
# Appendix
87-
We considered implementing the APIs in the ControllerOptions class, which would establish whether non-client regions would be supported for the life of the webview at creation. To provide greater flexibility of use, we decided to implement it as a setting.
92+
We considered implementing the APIs in the ControllerOptions class, which would establish whether non-client regions would be supported for the life of the webview at creation. To provide greater
93+
flexibility of use, we decided to implement it as a setting.

0 commit comments

Comments
 (0)