Commit 2fb5288e authored by Clark DuVall's avatar Clark DuVall Committed by Commit Bot

Clean up some //components/permissions code

GetAutoApprovalOrigin() does not need the request parameter. Also
removed some unnecessary namespace qualifications.

Bug: 1025609
Change-Id: If40143d7c6b743328167afc5b95af3b6b49616cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2066102
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: default avatarBalazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#743018}
parent 12639cce
......@@ -101,8 +101,7 @@ void ChromePermissionsClient::OnPromptResolved(
}
}
base::Optional<url::Origin> ChromePermissionsClient::GetAutoApprovalOrigin(
const permissions::PermissionRequest* request) {
base::Optional<url::Origin> ChromePermissionsClient::GetAutoApprovalOrigin() {
#if defined(OS_CHROMEOS)
// In web kiosk mode, all permission requests are auto-approved for the origin
// of the main app.
......
......@@ -31,8 +31,7 @@ class ChromePermissionsClient : public permissions::PermissionsClient {
void OnPromptResolved(content::BrowserContext* browser_context,
permissions::PermissionRequestType request_type,
permissions::PermissionAction action) override;
base::Optional<url::Origin> GetAutoApprovalOrigin(
const permissions::PermissionRequest* request) override;
base::Optional<url::Origin> GetAutoApprovalOrigin() override;
private:
friend base::NoDestructor<ChromePermissionsClient>;
......
......@@ -293,15 +293,13 @@ std::set<GURL> PermissionDecisionAutoBlocker::GetEmbargoedOrigins(
std::set<GURL> origins;
for (const auto& e : embargo_settings) {
for (auto content_type : content_types) {
if (!permissions::PermissionUtil::IsPermission(content_type))
if (!PermissionUtil::IsPermission(content_type))
continue;
const GURL url(e.primary_pattern.ToString());
permissions::PermissionResult result =
PermissionResult result =
GetEmbargoResult(settings_map_, url, content_type, clock_->Now());
if (result.source ==
permissions::PermissionStatusSource::MULTIPLE_DISMISSALS ||
result.source ==
permissions::PermissionStatusSource::MULTIPLE_IGNORES) {
if (result.source == PermissionStatusSource::MULTIPLE_DISMISSALS ||
result.source == PermissionStatusSource::MULTIPLE_IGNORES) {
origins.insert(url);
break;
}
......
......@@ -108,7 +108,7 @@ void PermissionRequestManager::AddRequest(PermissionRequest* request) {
.IsSameOriginWith(url::Origin::Create(request->GetOrigin()));
base::Optional<url::Origin> auto_approval_origin =
PermissionsClient::Get()->GetAutoApprovalOrigin(request);
PermissionsClient::Get()->GetAutoApprovalOrigin();
if (auto_approval_origin) {
if (url::Origin::Create(request->GetOrigin()) ==
auto_approval_origin.value()) {
......
......@@ -63,46 +63,43 @@ namespace {
const int kPriorCountCap = 10;
std::string GetPermissionRequestString(
permissions::PermissionRequestType type) {
std::string GetPermissionRequestString(PermissionRequestType type) {
switch (type) {
case permissions::PermissionRequestType::MULTIPLE:
case PermissionRequestType::MULTIPLE:
return "AudioAndVideoCapture";
case permissions::PermissionRequestType::QUOTA:
case PermissionRequestType::QUOTA:
return "Quota";
case permissions::PermissionRequestType::DOWNLOAD:
case PermissionRequestType::DOWNLOAD:
return "MultipleDownload";
case permissions::PermissionRequestType::REGISTER_PROTOCOL_HANDLER:
case PermissionRequestType::REGISTER_PROTOCOL_HANDLER:
return "RegisterProtocolHandler";
case permissions::PermissionRequestType::PERMISSION_GEOLOCATION:
case PermissionRequestType::PERMISSION_GEOLOCATION:
return "Geolocation";
case permissions::PermissionRequestType::PERMISSION_MIDI_SYSEX:
case PermissionRequestType::PERMISSION_MIDI_SYSEX:
return "MidiSysEx";
case permissions::PermissionRequestType::PERMISSION_NOTIFICATIONS:
case PermissionRequestType::PERMISSION_NOTIFICATIONS:
return "Notifications";
case permissions::PermissionRequestType::
PERMISSION_PROTECTED_MEDIA_IDENTIFIER:
case PermissionRequestType::PERMISSION_PROTECTED_MEDIA_IDENTIFIER:
return "ProtectedMedia";
case permissions::PermissionRequestType::PERMISSION_FLASH:
case PermissionRequestType::PERMISSION_FLASH:
return "Flash";
case permissions::PermissionRequestType::PERMISSION_MEDIASTREAM_MIC:
case PermissionRequestType::PERMISSION_MEDIASTREAM_MIC:
return "AudioCapture";
case permissions::PermissionRequestType::PERMISSION_MEDIASTREAM_CAMERA:
case PermissionRequestType::PERMISSION_MEDIASTREAM_CAMERA:
return "VideoCapture";
case permissions::PermissionRequestType::
PERMISSION_SECURITY_KEY_ATTESTATION:
case PermissionRequestType::PERMISSION_SECURITY_KEY_ATTESTATION:
return "SecurityKeyAttestation";
case permissions::PermissionRequestType::PERMISSION_PAYMENT_HANDLER:
case PermissionRequestType::PERMISSION_PAYMENT_HANDLER:
return "PaymentHandler";
case permissions::PermissionRequestType::PERMISSION_NFC:
case PermissionRequestType::PERMISSION_NFC:
return "Nfc";
case permissions::PermissionRequestType::PERMISSION_CLIPBOARD_READ_WRITE:
case PermissionRequestType::PERMISSION_CLIPBOARD_READ_WRITE:
return "ClipboardReadWrite";
case permissions::PermissionRequestType::PERMISSION_VR:
case PermissionRequestType::PERMISSION_VR:
return "VR";
case permissions::PermissionRequestType::PERMISSION_AR:
case PermissionRequestType::PERMISSION_AR:
return "AR";
case permissions::PermissionRequestType::PERMISSION_STORAGE_ACCESS:
case PermissionRequestType::PERMISSION_STORAGE_ACCESS:
return "StorageAccess";
default:
NOTREACHED();
......@@ -110,14 +107,12 @@ std::string GetPermissionRequestString(
}
}
void RecordEngagementMetric(
const std::vector<permissions::PermissionRequest*>& requests,
content::WebContents* web_contents,
const std::string& action) {
permissions::PermissionRequestType type =
requests[0]->GetPermissionRequestType();
void RecordEngagementMetric(const std::vector<PermissionRequest*>& requests,
content::WebContents* web_contents,
const std::string& action) {
PermissionRequestType type = requests[0]->GetPermissionRequestType();
if (requests.size() > 1)
type = permissions::PermissionRequestType::MULTIPLE;
type = PermissionRequestType::MULTIPLE;
DCHECK(action == "Accepted" || action == "Denied" || action == "Dismissed" ||
action == "Ignored");
......@@ -403,21 +398,19 @@ void PermissionUmaUtil::RecordMissingPermissionInfobarShouldShow(
for (const auto& content_settings_type : content_settings_types) {
base::UmaHistogramBoolean(
"Permissions.MissingOSLevelPermission.ShouldShow." +
permissions::PermissionUtil::GetPermissionString(
content_settings_type),
PermissionUtil::GetPermissionString(content_settings_type),
should_show);
}
}
void PermissionUmaUtil::RecordMissingPermissionInfobarAction(
permissions::PermissionAction action,
PermissionAction action,
const std::vector<ContentSettingsType>& content_settings_types) {
for (const auto& content_settings_type : content_settings_types) {
base::UmaHistogramEnumeration(
"Permissions.MissingOSLevelPermission.Action." +
permissions::PermissionUtil::GetPermissionString(
content_settings_type),
action, permissions::PermissionAction::NUM);
PermissionUtil::GetPermissionString(content_settings_type),
action, PermissionAction::NUM);
}
}
......@@ -483,7 +476,7 @@ void PermissionUmaUtil::RecordPermissionAction(
const GURL& requesting_origin,
const content::WebContents* web_contents,
content::BrowserContext* browser_context) {
permissions::PermissionDecisionAutoBlocker* autoblocker =
PermissionDecisionAutoBlocker* autoblocker =
PermissionsClient::Get()->GetPermissionDecisionAutoBlocker(
browser_context);
int dismiss_count =
......@@ -557,7 +550,7 @@ void PermissionUmaUtil::RecordPermissionAction(
break;
case ContentSettingsType::STORAGE_ACCESS:
base::UmaHistogramEnumeration("Permissions.Action.StorageAccess", action,
permissions::PermissionAction::NUM);
PermissionAction::NUM);
break;
// The user is not prompted for these permissions, thus there is no
// permission action recorded for them.
......
......@@ -149,7 +149,7 @@ class PermissionUmaUtil {
bool should_show,
const std::vector<ContentSettingsType>& content_settings_types);
static void RecordMissingPermissionInfobarAction(
permissions::PermissionAction action,
PermissionAction action,
const std::vector<ContentSettingsType>& content_settings_types);
// A scoped class that will check the current resolved content setting on
......
......@@ -44,9 +44,8 @@ TEST_F(PermissionUmaUtilTest, ScopedevocationReporter) {
map->SetContentSettingDefaultScope(host, host, type, std::string(),
CONTENT_SETTING_BLOCK);
}
histograms.ExpectBucketCount(
"Permissions.Action.Geolocation",
static_cast<int>(permissions::PermissionAction::REVOKED), 1);
histograms.ExpectBucketCount("Permissions.Action.Geolocation",
static_cast<int>(PermissionAction::REVOKED), 1);
// Block->Allow does not trigger a revocation.
{
......@@ -55,9 +54,8 @@ TEST_F(PermissionUmaUtilTest, ScopedevocationReporter) {
map->SetContentSettingDefaultScope(host, host, type, std::string(),
CONTENT_SETTING_ALLOW);
}
histograms.ExpectBucketCount(
"Permissions.Action.Geolocation",
static_cast<int>(permissions::PermissionAction::REVOKED), 1);
histograms.ExpectBucketCount("Permissions.Action.Geolocation",
static_cast<int>(PermissionAction::REVOKED), 1);
// Allow->Default triggers a revocation when default is 'ask'.
map->SetDefaultContentSetting(type, CONTENT_SETTING_ASK);
......@@ -67,9 +65,8 @@ TEST_F(PermissionUmaUtilTest, ScopedevocationReporter) {
map->SetContentSettingDefaultScope(host, host, type, std::string(),
CONTENT_SETTING_DEFAULT);
}
histograms.ExpectBucketCount(
"Permissions.Action.Geolocation",
static_cast<int>(permissions::PermissionAction::REVOKED), 2);
histograms.ExpectBucketCount("Permissions.Action.Geolocation",
static_cast<int>(PermissionAction::REVOKED), 2);
// Allow->Default does not trigger a revocation when default is 'allow'.
map->SetDefaultContentSetting(type, CONTENT_SETTING_ALLOW);
......@@ -79,9 +76,8 @@ TEST_F(PermissionUmaUtilTest, ScopedevocationReporter) {
map->SetContentSettingDefaultScope(host, host, type, std::string(),
CONTENT_SETTING_DEFAULT);
}
histograms.ExpectBucketCount(
"Permissions.Action.Geolocation",
static_cast<int>(permissions::PermissionAction::REVOKED), 2);
histograms.ExpectBucketCount("Permissions.Action.Geolocation",
static_cast<int>(PermissionAction::REVOKED), 2);
// Allow->Block with url pattern string triggers a revocation.
map->SetContentSettingDefaultScope(host, host, type, std::string(),
......@@ -92,9 +88,8 @@ TEST_F(PermissionUmaUtilTest, ScopedevocationReporter) {
map->SetContentSettingCustomScope(host_pattern, host_pattern, type,
std::string(), CONTENT_SETTING_BLOCK);
}
histograms.ExpectBucketCount(
"Permissions.Action.Geolocation",
static_cast<int>(permissions::PermissionAction::REVOKED), 3);
histograms.ExpectBucketCount("Permissions.Action.Geolocation",
static_cast<int>(PermissionAction::REVOKED), 3);
// Allow->Block with non url pattern string does not trigger a revocation.
map->SetContentSettingDefaultScope(host, host, type, std::string(),
......@@ -107,9 +102,8 @@ TEST_F(PermissionUmaUtilTest, ScopedevocationReporter) {
host_pattern, type, std::string(),
CONTENT_SETTING_BLOCK);
}
histograms.ExpectBucketCount(
"Permissions.Action.Geolocation",
static_cast<int>(permissions::PermissionAction::REVOKED), 3);
histograms.ExpectBucketCount("Permissions.Action.Geolocation",
static_cast<int>(PermissionAction::REVOKED), 3);
}
} // namespace permissions
......@@ -65,8 +65,7 @@ void PermissionsClient::OnPromptResolved(
PermissionRequestType request_type,
PermissionAction action) {}
base::Optional<url::Origin> PermissionsClient::GetAutoApprovalOrigin(
const PermissionRequest* request) {
base::Optional<url::Origin> PermissionsClient::GetAutoApprovalOrigin() {
return base::nullopt;
}
......
......@@ -80,8 +80,7 @@ class PermissionsClient {
// If the embedder returns an origin here, any requests matching that origin
// will be approved. Requests that do not match the returned origin will
// immediately be finished without granting/denying the permission.
virtual base::Optional<url::Origin> GetAutoApprovalOrigin(
const PermissionRequest* request);
virtual base::Optional<url::Origin> GetAutoApprovalOrigin();
private:
PermissionsClient(const PermissionsClient&) = delete;
......
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