diff --git a/extensions/common/permissions/permissions_data.cc b/extensions/common/permissions/permissions_data.cc index a7fe00a7f4786..728d59c6d468c 100644 --- a/extensions/common/permissions/permissions_data.cc +++ b/extensions/common/permissions/permissions_data.cc @@ -530,10 +530,18 @@ bool PermissionsData::CanCaptureVisiblePage( } // If the URL is a typical web URL, the pageCapture permission is - // sufficient. + // sufficient, *unless* the user has explicitly blocked extensions on this + // host. GetUserBlockedHosts() already handles the feature flag and + // component/policy exemptions. if ((origin_url.SchemeIs(url::kHttpScheme) || origin_url.SchemeIs(url::kHttpsScheme)) && !extension_urls::IsWebstoreOrigin(origin)) { + if (GetUserBlockedHosts().MatchesURL(origin_url)) { + if (error) { + *error = "Blocked"; + } + return false; + } return true; } }