| Index: chrome/browser/permissions/permission_manager_unittest.cc
|
| diff --git a/chrome/browser/permissions/permission_manager_unittest.cc b/chrome/browser/permissions/permission_manager_unittest.cc
|
| index ae115f8eb3263488030346ec37bacd1a2cc08b31..92a6e245bf2df0fa51b95fb24d042daeac4fe7ec 100644
|
| --- a/chrome/browser/permissions/permission_manager_unittest.cc
|
| +++ b/chrome/browser/permissions/permission_manager_unittest.cc
|
| @@ -8,6 +8,7 @@
|
| #include "build/build_config.h"
|
| #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
| #include "chrome/browser/permissions/permission_manager_factory.h"
|
| +#include "chrome/browser/permissions/permission_result.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "components/content_settings/core/browser/host_content_settings_map.h"
|
| #include "content/public/browser/permission_type.h"
|
| @@ -61,6 +62,15 @@ class PermissionManagerTest : public testing::Test {
|
| type, url_.GetOrigin(), url_.GetOrigin()));
|
| }
|
|
|
| + void CheckPermissionResult(ContentSettingsType type,
|
| + ContentSetting expected_status,
|
| + PermissionStatusSource expected_status_source) {
|
| + PermissionResult result = GetPermissionManager()->GetPermissionStatus(
|
| + type, url_.GetOrigin(), url_.GetOrigin());
|
| + EXPECT_EQ(expected_status, result.content_setting);
|
| + EXPECT_EQ(expected_status_source, result.source);
|
| + }
|
| +
|
| void SetPermission(ContentSettingsType type, ContentSetting value) {
|
| HostContentSettingsMapFactory::GetForProfile(&profile_)
|
| ->SetContentSettingDefaultScope(url_, url_, type, std::string(), value);
|
| @@ -126,6 +136,51 @@ TEST_F(PermissionManagerTest, GetPermissionStatusAfterSet) {
|
| #endif
|
| }
|
|
|
| +TEST_F(PermissionManagerTest, CheckPersmissionResultDefault) {
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, CONTENT_SETTING_ASK,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
|
| + CONTENT_SETTING_ASK,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
|
| + CONTENT_SETTING_ASK,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ASK,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| +#if defined(OS_ANDROID)
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER,
|
| + CONTENT_SETTING_ASK,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| +#endif
|
| +}
|
| +
|
| +TEST_F(PermissionManagerTest, CheckPermissionResultAfterSet) {
|
| + SetPermission(CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_GEOLOCATION,
|
| + CONTENT_SETTING_ALLOW,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| +
|
| + SetPermission(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
|
| + CONTENT_SETTING_ALLOW,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
|
| + CONTENT_SETTING_ALLOW,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| +
|
| + SetPermission(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, CONTENT_SETTING_ALLOW);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, CONTENT_SETTING_ALLOW,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| +
|
| +#if defined(OS_ANDROID)
|
| + SetPermission(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER,
|
| + CONTENT_SETTING_ALLOW);
|
| + CheckPermissionResult(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER,
|
| + CONTENT_SETTING_ALLOW,
|
| + PermissionStatusSource::UNSPECIFIED);
|
| +#endif
|
| +}
|
| +
|
| TEST_F(PermissionManagerTest, SameTypeChangeNotifies) {
|
| int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange(
|
| PermissionType::GEOLOCATION, url(), url(),
|
|
|