Add new disable reason BLOCKED_MATURE for mature extensions
Child users should not be able to install extensions and themes with
mature content from Chrome Web Store (CWS). Add a new disable reason
BLOCKED_MATURE to block any extensions or themes marked mature in
CWS for child users.
Bug: 1037965,1040614
Change-Id: I37cec6efb51e0e88c1714e57be0ef279b1b32ed9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2017646
Commit-Queue: Toby Huang <[email protected]>
Reviewed-by: Aga Wronska <[email protected]>
Reviewed-by: Devlin <[email protected]>
Reviewed-by: Brian White <[email protected]>
Cr-Commit-Position: refs/heads/master@{#738456}
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 9131c06..e99ce68 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -780,6 +780,8 @@
void ExtensionService::DisableExtension(const std::string& extension_id,
int disable_reasons) {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(disable_reasons != disable_reason::DISABLE_BLOCKED_MATURE ||
+ profile()->IsChild());
extension_registrar_.DisableExtension(extension_id, disable_reasons);
}
@@ -1026,6 +1028,7 @@
// related disable reasons.
if (!profile()->IsChild()) {
disable_reasons &= (~disable_reason::DISABLE_CUSTODIAN_APPROVAL_REQUIRED);
+ disable_reasons &= (~disable_reason::DISABLE_BLOCKED_MATURE);
}
extension_prefs_->ReplaceDisableReasons(extension->id(), disable_reasons);