Commit 18311e27 authored by Sanja Perisic's avatar Sanja Perisic Committed by Chromium LUCI CQ

Added Chrome Canvas to SystemFeaturesDisableList policy

Added Chrome Canvas to SystemFeaturesDisableList policy and policy handler for disabled apps.

Bug: 1142785
Change-Id: I54c8d0542a4ef7afe4b6903b377fa5cf4245299c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2632607Reviewed-by: default avatarAnqing Zhao <anqing@chromium.org>
Reviewed-by: default avatarSergey Poromov <poromov@chromium.org>
Commit-Queue: Sanja Perisic <sanjaperisic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844473}
parent 0d806714
......@@ -19,6 +19,7 @@ const char kBrowserSettingsFeature[] = "browser_settings";
const char kOsSettingsFeature[] = "os_settings";
const char kScanningFeature[] = "scanning";
const char kWebStoreFeature[] = "web_store";
const char kCanvasFeature[] = "canvas";
const char kBlockedDisableMode[] = "blocked";
const char kHiddenDisableMode[] = "hidden";
......@@ -81,6 +82,8 @@ SystemFeature SystemFeaturesDisableListPolicyHandler::ConvertToEnum(
return SystemFeature::kScanning;
if (system_feature == kWebStoreFeature)
return SystemFeature::kWebStore;
if (system_feature == kCanvasFeature)
return SystemFeature::kCanvas;
LOG(ERROR) << "Unsupported system feature: " << system_feature;
return kUnknownSystemFeature;
......
......@@ -25,7 +25,8 @@ enum SystemFeature : int {
kOsSettings = 3, // The settings feature on Chrome OS.
kScanning = 4, // The scan SWA on Chrome OS.
kWebStore = 5, // The web store chrome app on Chrome OS.
kMaxValue = kWebStore
kCanvas = 6, // The canvas web app on Chrome OS.
kMaxValue = kCanvas
};
// A disabling mode that decides the user experience when a system feature is
......@@ -42,6 +43,7 @@ extern const char kBrowserSettingsFeature[];
extern const char kOsSettingsFeature[];
extern const char kScanningFeature[];
extern const char kWebStoreFeature[];
extern const char kCanvasFeature[];
extern const char kBlockedDisableMode[];
extern const char kHiddenDisableMode[];
......
......@@ -70,6 +70,9 @@ TEST_F(SystemFeaturesDisableListPolicyHandlerTest, ApplyListTest) {
histogram_tester_.ExpectBucketCount(kSystemFeaturesDisableListHistogram,
SystemFeature::kWebStore,
/*amount*/ 0);
histogram_tester_.ExpectBucketCount(kSystemFeaturesDisableListHistogram,
SystemFeature::kCanvas,
/*amount*/ 0);
features_list.ClearList();
features_list.Append("camera");
......@@ -77,6 +80,7 @@ TEST_F(SystemFeaturesDisableListPolicyHandlerTest, ApplyListTest) {
features_list.Append("scanning");
features_list.Append("gallery");
features_list.Append("web_store");
features_list.Append("canvas");
policy_map.Set(policy::key::kSystemFeaturesDisableList,
policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
......@@ -93,11 +97,12 @@ TEST_F(SystemFeaturesDisableListPolicyHandlerTest, ApplyListTest) {
expected_list.Append(SystemFeature::kScanning);
expected_list.Append(SystemFeature::kUnknownSystemFeature);
expected_list.Append(SystemFeature::kWebStore);
expected_list.Append(SystemFeature::kCanvas);
EXPECT_TRUE(prefs.GetValue(policy_prefs::kSystemFeaturesDisableList, &value));
EXPECT_EQ(expected_list, *value);
histogram_tester_.ExpectTotalCount(kSystemFeaturesDisableListHistogram, 6);
histogram_tester_.ExpectTotalCount(kSystemFeaturesDisableListHistogram, 7);
histogram_tester_.ExpectBucketCount(kSystemFeaturesDisableListHistogram,
SystemFeature::kCamera,
/*amount*/ 1);
......@@ -116,5 +121,8 @@ TEST_F(SystemFeaturesDisableListPolicyHandlerTest, ApplyListTest) {
histogram_tester_.ExpectBucketCount(kSystemFeaturesDisableListHistogram,
SystemFeature::kWebStore,
/*amount*/ 1);
histogram_tester_.ExpectBucketCount(kSystemFeaturesDisableListHistogram,
SystemFeature::kCanvas,
/*amount*/ 1);
}
} // namespace policy
......@@ -10993,6 +10993,7 @@
'camera',
'scanning',
'web_store',
'canvas',
],
},
},
......@@ -11022,6 +11023,11 @@
'value': 'web_store',
'caption': '''Web Store (supported since version 89)''',
},
{
'name': 'canvas',
'value': 'canvas',
'caption': '''Canvas (supported since version 90)''',
},
],
'supported_on': ['chrome_os:84-'],
'features': {
......@@ -11029,9 +11035,9 @@
'dynamic_refresh': True,
'per_profile': False,
},
'example_value': ['camera', 'browser_settings', 'os_settings', 'scanning', 'web_store'],
'example_value': ['camera', 'browser_settings', 'os_settings', 'scanning', 'web_store', 'canvas'],
'id': 689,
'caption': '''Configure the camera, browser settings, os settings, scanning and web store features to be disabled''',
'caption': '''Configure the camera, browser settings, os settings, scanning, web store and canvas features to be disabled''',
'tags': [],
'desc': '''Allows you to set a list of <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> features to be disabled.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment