Commit 9df63c2e authored by Toby Huang's avatar Toby Huang Committed by Commit Bot

Enable Child/Geller to remove BLOCKED or REQUIRE_APPROVAL extensions

Child/Geller users currently cannot remove extensions with state
BLOCKED or REQUIRE_APPROVAL because UserMayModifySettings() returns
false. Make UserMayModifySettings() always return true so that child/
Geller users can remove installed extensions regardless of the state.

Bug: 1033687,1032352
Change-Id: I4608c22099325578982e48b6da31840c124167d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1969068
Commit-Queue: Toby Huang <tobyhuang@chromium.org>
Reviewed-by: default avatarMichael Giuffrida <michaelpg@chromium.org>
Reviewed-by: default avatarIstiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728660}
parent 6599d5b7
...@@ -779,18 +779,6 @@ bool SupervisedUserService::UserMayLoad(const Extension* extension, ...@@ -779,18 +779,6 @@ bool SupervisedUserService::UserMayLoad(const Extension* extension,
return may_load; return may_load;
} }
bool SupervisedUserService::UserMayModifySettings(const Extension* extension,
base::string16* error) const {
DCHECK(ProfileIsSupervised());
ExtensionState result = GetExtensionState(*extension);
// Only allow the supervised user to modify the settings and enable or disable
// the extension if the supervised user has full control.
bool may_modify = result == ExtensionState::ALLOWED;
if (!may_modify && error)
*error = GetExtensionsLockedMessage();
return may_modify;
}
bool SupervisedUserService::MustRemainDisabled( bool SupervisedUserService::MustRemainDisabled(
const Extension* extension, const Extension* extension,
extensions::disable_reason::DisableReason* reason, extensions::disable_reason::DisableReason* reason,
......
...@@ -215,8 +215,6 @@ class SupervisedUserService : public KeyedService, ...@@ -215,8 +215,6 @@ class SupervisedUserService : public KeyedService,
std::string GetDebugPolicyProviderName() const override; std::string GetDebugPolicyProviderName() const override;
bool UserMayLoad(const extensions::Extension* extension, bool UserMayLoad(const extensions::Extension* extension,
base::string16* error) const override; base::string16* error) const override;
bool UserMayModifySettings(const extensions::Extension* extension,
base::string16* error) const override;
bool MustRemainDisabled(const extensions::Extension* extension, bool MustRemainDisabled(const extensions::Extension* extension,
extensions::disable_reason::DisableReason* reason, extensions::disable_reason::DisableReason* reason,
base::string16* error) const override; base::string16* error) const override;
......
...@@ -531,9 +531,9 @@ TEST_F(SupervisedUserServiceExtensionTest, ...@@ -531,9 +531,9 @@ TEST_F(SupervisedUserServiceExtensionTest,
EXPECT_FALSE(error_3.empty()); EXPECT_FALSE(error_3.empty());
base::string16 error_4; base::string16 error_4;
EXPECT_FALSE(supervised_user_service->UserMayModifySettings(extension.get(), EXPECT_TRUE(supervised_user_service->UserMayModifySettings(extension.get(),
&error_4)); &error_4));
EXPECT_FALSE(error_4.empty()); EXPECT_TRUE(error_4.empty());
base::string16 error_5; base::string16 error_5;
EXPECT_TRUE( EXPECT_TRUE(
......
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