Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5733)

Unified Diff: chrome/browser/permissions/permission_manager_unittest.cc

Issue 2713083003: Use ContentSetting in chrome/ instead of PermissionStatus (Closed)
Patch Set: maybe fix android compile + address comments + basic tests Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(),
« no previous file with comments | « chrome/browser/permissions/permission_manager.cc ('k') | chrome/browser/plugins/flash_download_interception.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698