| Index: chrome/browser/permissions/permission_manager.cc
|
| diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc
|
| index 19f9eb7d7ee10d2ef07758622f5bdc48b665ad2b..e04567ee62974898fe4dfefad27888e58408db6f 100644
|
| --- a/chrome/browser/permissions/permission_manager.cc
|
| +++ b/chrome/browser/permissions/permission_manager.cc
|
| @@ -21,6 +21,7 @@
|
| #include "chrome/browser/permissions/permission_result.h"
|
| #include "chrome/browser/permissions/permission_uma_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/sensor/sensor_permission_context.h"
|
| #include "chrome/browser/storage/durable_storage_permission_context.h"
|
| #include "chrome/browser/tab_contents/tab_util.h"
|
| #include "chrome/common/features.h"
|
| @@ -76,6 +77,18 @@ ContentSettingsType PermissionTypeToContentSetting(PermissionType permission) {
|
| switch (permission) {
|
| case PermissionType::MIDI:
|
| return CONTENT_SETTINGS_TYPE_MIDI;
|
| + case PermissionType::SENSORS:
|
| + return CONTENT_SETTINGS_TYPE_SENSORS;
|
| + case PermissionType::AMBIENT_LIGHT_SENSOR:
|
| + return CONTENT_SETTINGS_TYPE_AMBIENT_LIGHT_SENSOR;
|
| + case PermissionType::MAGNETOMETER:
|
| + return CONTENT_SETTINGS_TYPE_MAGNETOMETER;
|
| + case PermissionType::ACCELEROMETER:
|
| + return CONTENT_SETTINGS_TYPE_ACCELEROMETER;
|
| + case PermissionType::GYROSCOPE:
|
| + return CONTENT_SETTINGS_TYPE_GYROSCOPE;
|
| + case PermissionType::ORIENTATION_SENSOR:
|
| + return CONTENT_SETTINGS_TYPE_ORIENTATION_SENSOR;
|
| case PermissionType::MIDI_SYSEX:
|
| return CONTENT_SETTINGS_TYPE_MIDI_SYSEX;
|
| case PermissionType::PUSH_MESSAGING:
|
| @@ -116,7 +129,9 @@ ContentSettingsType PermissionTypeToContentSetting(PermissionType permission) {
|
| // The ContentSettingsTypes for which true is returned will also return nullptr
|
| // in PermissionManager::GetPermissionContext since they don't have a context.
|
| bool IsConstantPermission(ContentSettingsType type) {
|
| - return type == CONTENT_SETTINGS_TYPE_MIDI;
|
| + return (type == CONTENT_SETTINGS_TYPE_MIDI ||
|
| + type == CONTENT_SETTINGS_TYPE_ACCELEROMETER ||
|
| + type == CONTENT_SETTINGS_TYPE_GYROSCOPE);
|
| }
|
|
|
| void SubscriptionCallbackWrapper(
|
| @@ -160,6 +175,8 @@ ContentSetting GetContentSettingForConstantPermission(
|
| switch (type) {
|
| case CONTENT_SETTINGS_TYPE_MIDI:
|
| return CONTENT_SETTING_ALLOW;
|
| + case CONTENT_SETTINGS_TYPE_AMBIENT_LIGHT_SENSOR:
|
| + return CONTENT_SETTING_ALLOW;
|
| default:
|
| return CONTENT_SETTING_BLOCK;
|
| }
|
| @@ -232,6 +249,8 @@ PermissionManager::PermissionManager(Profile* profile)
|
| weak_ptr_factory_(this) {
|
| permission_contexts_[CONTENT_SETTINGS_TYPE_MIDI_SYSEX] =
|
| base::MakeUnique<MidiPermissionContext>(profile);
|
| + permission_contexts_[CONTENT_SETTINGS_TYPE_SENSORS] =
|
| + base::MakeUnique<SensorPermissionContext>(profile);
|
| permission_contexts_[CONTENT_SETTINGS_TYPE_PUSH_MESSAGING] =
|
| base::MakeUnique<NotificationPermissionContext>(
|
| profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING);
|
| @@ -259,6 +278,8 @@ PermissionManager::PermissionManager(Profile* profile)
|
| profile, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA);
|
| permission_contexts_[CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC] =
|
| base::MakeUnique<BackgroundSyncPermissionContext>(profile);
|
| + permission_contexts_[CONTENT_SETTINGS_TYPE_SENSORS] =
|
| + base::MakeUnique<SensorPermissionContext>(profile);
|
| #if BUILDFLAG(ENABLE_PLUGINS)
|
| permission_contexts_[CONTENT_SETTINGS_TYPE_PLUGINS] =
|
| base::MakeUnique<FlashPermissionContext>(profile);
|
|
|