Commit bb842778 authored by Mikhail Pozdnyakov's avatar Mikhail Pozdnyakov Committed by Commit Bot

[ContentShell] Grant permissions for sensor APIs

Content shell autogrants permissions for sensor APIs. Thus content_shell
binaries can be used for testing these APIs (e.g. on Android).

Change-Id: Idc5e3c890b30582961ef0da421a815fd03342964
Reviewed-on: https://chromium-review.googlesource.com/776598Reviewed-by: default avatarReilly Grant <reillyg@chromium.org>
Reviewed-by: default avatarMike West <mkwst@chromium.org>
Commit-Queue: Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
Cr-Commit-Position: refs/heads/master@{#521331}
parent 42e955c9
...@@ -17,7 +17,13 @@ namespace { ...@@ -17,7 +17,13 @@ namespace {
bool IsWhitelistedPermissionType(PermissionType permission) { bool IsWhitelistedPermissionType(PermissionType permission) {
return permission == PermissionType::GEOLOCATION || return permission == PermissionType::GEOLOCATION ||
permission == PermissionType::MIDI; permission == PermissionType::MIDI ||
permission == PermissionType::SENSORS ||
// Background sync browser tests require permission to be granted by
// default.
// TODO(nsatragno): add a command line flag so that it's only granted
// for tests.
permission == PermissionType::BACKGROUND_SYNC;
} }
} // namespace } // namespace
...@@ -71,12 +77,6 @@ blink::mojom::PermissionStatus ShellPermissionManager::GetPermissionStatus( ...@@ -71,12 +77,6 @@ blink::mojom::PermissionStatus ShellPermissionManager::GetPermissionStatus(
PermissionType permission, PermissionType permission,
const GURL& requesting_origin, const GURL& requesting_origin,
const GURL& embedding_origin) { const GURL& embedding_origin) {
// Background sync browser tests require permission to be granted by default.
// TODO(nsatragno): add a command line flag so that it's only granted for
// tests.
if (permission == PermissionType::BACKGROUND_SYNC)
return blink::mojom::PermissionStatus::GRANTED;
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
if ((permission == PermissionType::AUDIO_CAPTURE || if ((permission == PermissionType::AUDIO_CAPTURE ||
permission == PermissionType::VIDEO_CAPTURE) && permission == PermissionType::VIDEO_CAPTURE) &&
...@@ -85,13 +85,9 @@ blink::mojom::PermissionStatus ShellPermissionManager::GetPermissionStatus( ...@@ -85,13 +85,9 @@ blink::mojom::PermissionStatus ShellPermissionManager::GetPermissionStatus(
return blink::mojom::PermissionStatus::GRANTED; return blink::mojom::PermissionStatus::GRANTED;
} }
// Generic sensor browser tests require permission to be granted. return IsWhitelistedPermissionType(permission)
if (permission == PermissionType::SENSORS && ? blink::mojom::PermissionStatus::GRANTED
command_line->HasSwitch(switches::kContentBrowserTest)) { : blink::mojom::PermissionStatus::DENIED;
return blink::mojom::PermissionStatus::GRANTED;
}
return blink::mojom::PermissionStatus::DENIED;
} }
int ShellPermissionManager::SubscribePermissionStatusChange( int ShellPermissionManager::SubscribePermissionStatusChange(
......
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