Add user visible flag for WebContentsOcclusion on Windows.
Bug: 813093
Change-Id: I8e4779551cb75d88f1f07c069cd7e5d7793da5b1
Reviewed-on: https://chromium-review.googlesource.com/c/1455094
Commit-Queue: David Bienvenu <[email protected]>
Reviewed-by: Elly Fong-Jones <[email protected]>
Reviewed-by: François Doray <[email protected]>
Cr-Commit-Position: refs/heads/master@{#630102}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index bf2938bab..4347d7ec 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4300,6 +4300,13 @@
kOsMac | kOsWin | kOsCrOS | kOsAndroid,
FEATURE_VALUE_TYPE(switches::kSyncUSSPasswords)},
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+ {"web-contents-occlusion", flag_descriptions::kWebContentsOcclusionName,
+ flag_descriptions::kWebContentsOcclusionDescription,
+ kOsWin | kOsMac | kOsCrOS,
+ FEATURE_VALUE_TYPE(features::kWebContentsOcclusion)},
+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+
// NOTE: Adding a new flag requires adding a corresponding entry to enum
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 5cd31af0..cc5a482 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -266,7 +266,7 @@
"owners": [ "ftirelo" ],
"expiry_milestone": 73
},
- {
+ {
"name": "autofill-profile-client-validation",
"owners": [ "parastoog" ],
"expiry_milestone": 77
@@ -670,7 +670,7 @@
},
{
"name": "document-passive-event-listeners",
- "owners": ["nzolghadr, input-dev" ],
+ "owners": [ "nzolghadr, input-dev" ],
"expiry_milestone": 76
},
{
@@ -910,7 +910,7 @@
},
{
"name": "enable-avoid-flash-between-navigation",
- "owners": [ "schenney", "paint-dev"],
+ "owners": [ "schenney", "paint-dev" ],
"expiry_milestone": 76
},
{
@@ -1295,7 +1295,7 @@
},
{
"name": "enable-implicit-root-scroller",
- "owners": [ "bokan" , "input-dev"],
+ "owners": [ "bokan", "input-dev" ],
"expiry_milestone": 75
},
{
@@ -1856,7 +1856,7 @@
},
{
"name": "enable-touch-drag-drop",
- "owners": ["eirage", "input-dev" ],
+ "owners": [ "eirage", "input-dev" ],
"expiry_milestone": 78
},
{
@@ -2054,7 +2054,7 @@
},
{
"name": "enable_android_messages_integration",
- "owners": [ "azeemarshad", "jlklein", "khorimoto"],
+ "owners": [ "azeemarshad", "jlklein", "khorimoto" ],
"expiry_milestone": 76
},
{
@@ -2209,7 +2209,7 @@
},
{
"name": "google-password-manager",
- "owners": ["ioanap", "jdoerrie"],
+ "owners": [ "ioanap", "jdoerrie" ],
"expiry_milestone": 76
},
{
@@ -2219,7 +2219,7 @@
},
{
"name": "handwriting-gesture",
- "owners": ["shend"],
+ "owners": [ "shend" ],
"expiry_milestone": 76
},
{
@@ -2659,12 +2659,12 @@
},
{
"name": "passive-event-listeners-due-to-fling",
- "owners": ["sahel", "input-dev" ],
+ "owners": [ "sahel", "input-dev" ],
"expiry_milestone": 76
},
{
"name": "passive-listener-default",
- "owners": ["nzolghadr", "input-dev" ],
+ "owners": [ "nzolghadr", "input-dev" ],
"expiry_milestone": 78
},
{
@@ -2719,7 +2719,7 @@
},
{
"name": "promos-on-local-ntp",
- "owners": ["kmilka", "ramyan"],
+ "owners": [ "kmilka", "ramyan" ],
"expiry_milestone": 74
},
{
@@ -2799,7 +2799,7 @@
},
{
"name": "search-suggestions-on-local-ntp",
- "owners": ["kmilka", "ramyan"],
+ "owners": [ "kmilka", "ramyan" ],
"expiry_milestone": 74
},
{
@@ -2961,7 +2961,7 @@
},
{
"name": "tab-groups",
- "owners": ["[email protected]", "bsep"],
+ "owners": [ "[email protected]", "bsep" ],
"expiry_milestone": 76
},
{
@@ -2991,7 +2991,7 @@
},
{
"name": "touch-events",
- "owners": ["eirage", "input-dev" ],
+ "owners": [ "eirage", "input-dev" ],
"expiry_milestone": 76
},
{
@@ -3001,7 +3001,7 @@
},
{
"name": "touchpad-overscroll-history-navigation",
- "owners": ["chaopeng", "input-dev" ],
+ "owners": [ "chaopeng", "input-dev" ],
"expiry_milestone": 76
},
{
@@ -3175,6 +3175,11 @@
"expiry_milestone": 76
},
{
+ "name": "web-contents-occlusion",
+ "owners": [ "davidbienvenu" ],
+ "expiry_milestone": 77
+ },
+ {
"name": "web-payments-modifiers",
// "owners": [ "your-team" ],
"expiry_milestone": 76
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index f022200..0ce0053 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3646,6 +3646,15 @@
#endif // defined(OS_MACOSX) || defined(OS_CHROMEOS)
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+
+const char kWebContentsOcclusionName[] = "Enable occlusion of web contents";
+const char kWebContentsOcclusionDescription[] =
+ "If enabled, web contents will behave as hidden when it is occluded by "
+ "other windows.";
+
+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+
const char kExperimentalUiName[] = "Use all upcoming UI features";
const char kExperimentalUiDescription[] = "Use all upcoming UI features.";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 2de65a6..3671fca 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2201,6 +2201,13 @@
#endif // defined(OS_MACOSX) || defined(OS_CHROMEOS)
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+
+extern const char kWebContentsOcclusionName[];
+extern const char kWebContentsOcclusionDescription[];
+
+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
+
// Feature flags --------------------------------------------------------------
#if defined(DCHECK_IS_CONFIGURABLE)
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 8b994dd..f0d587de 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -31140,6 +31140,7 @@
<int value="-1235586511" label="enable-datasaver-prompt"/>
<int value="-1234740672" label="UsePdfCompositorServiceForPrint:disabled"/>
<int value="-1232629319" label="ResamplingScrollEvents:disabled"/>
+ <int value="-1227660915" label="WebContentsOcclusion:disabled"/>
<int value="-1225629234" label="SyncPseudoUSSFavicons:enabled"/>
<int value="-1225198073" label="ReaderModeInCCT:disabled"/>
<int value="-1224962996" label="PwaImprovedSplashScreen:disabled"/>
@@ -32721,6 +32722,7 @@
<int value="1536921097" label="NavigationMojoResponse:disabled"/>
<int value="1538685213" label="DownloadHomeV2:enabled"/>
<int value="1538690515" label="OneGoogleBarOnLocalNtp:enabled"/>
+ <int value="1540395380" label="WebContentsOcclusion:enabled"/>
<int value="1541723759" label="ServiceWorkerNavigationPreload:disabled"/>
<int value="1543027970" label="EnableDisplayZoomSetting:disabled"/>
<int value="1544552792" label="InterestFeedContentSuggestions:enabled"/>