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

Unified Diff: chrome/browser/push_messaging/push_messaging_permission_context_unittest.cc

Issue 1726323002: Have Permission{Manager,Service} use Origin. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 9 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/push_messaging/push_messaging_permission_context_unittest.cc
diff --git a/chrome/browser/push_messaging/push_messaging_permission_context_unittest.cc b/chrome/browser/push_messaging/push_messaging_permission_context_unittest.cc
index 14acbfa02455e4b96620e60e8e14a87ebfb2d0a6..40c9edae655dfff0df430b59a7b70d45fa86ae01 100644
--- a/chrome/browser/push_messaging/push_messaging_permission_context_unittest.cc
+++ b/chrome/browser/push_messaging/push_messaging_permission_context_unittest.cc
@@ -13,6 +13,8 @@
#include "components/content_settings/core/common/content_settings_types.h"
#include "content/public/browser/web_contents.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
+#include "url/origin.h"
namespace {
@@ -36,8 +38,8 @@ class TestPushMessagingPermissionContext
private:
// PushMessagingPermissionContext:
void NotifyPermissionSet(const PermissionRequestID& id,
- const GURL& requesting_origin,
- const GURL& embedder_origin,
+ const url::Origin& requesting_origin,
+ const url::Origin& embedder_origin,
const BrowserPermissionCallback& callback,
bool persist,
ContentSetting content_setting) override {
@@ -82,15 +84,17 @@ class PushMessagingPermissionContextTest
TEST_F(PushMessagingPermissionContextTest, HasPermissionPrompt) {
TestingProfile profile;
PushMessagingPermissionContext context(&profile);
+ const GURL url_a(kOriginA);
+ const url::Origin origin_a(url_a);
EXPECT_EQ(CONTENT_SETTING_ASK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
// Just granting notifications should still prompt
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ALLOW);
EXPECT_EQ(CONTENT_SETTING_ASK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
// Just granting push should still prompt
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
@@ -99,7 +103,7 @@ TEST_F(PushMessagingPermissionContextTest, HasPermissionPrompt) {
CONTENT_SETTING_ALLOW);
EXPECT_EQ(CONTENT_SETTING_ASK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
}
TEST_F(PushMessagingPermissionContextTest, HasPermissionDenySettingsMismatch) {
@@ -107,32 +111,36 @@ TEST_F(PushMessagingPermissionContextTest, HasPermissionDenySettingsMismatch) {
PushMessagingPermissionContext context(&profile);
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_BLOCK);
+ const GURL url_a(kOriginA);
+ const url::Origin origin_a(url_a);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ASK);
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_BLOCK);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ALLOW);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ASK);
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_BLOCK);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
}
TEST_F(PushMessagingPermissionContextTest, HasPermissionDenyDifferentOrigins) {
TestingProfile profile;
PushMessagingPermissionContext context(&profile);
- EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginB), GURL(kOriginA)));
+ const GURL url_a(kOriginA);
+ const GURL url_b(kOriginB);
+ EXPECT_EQ(CONTENT_SETTING_BLOCK, context.GetPermissionStatus(
+ url::Origin(url_a), url::Origin(url_b)));
}
TEST_F(PushMessagingPermissionContextTest, HasPermissionAccept) {
@@ -143,8 +151,10 @@ TEST_F(PushMessagingPermissionContextTest, HasPermissionAccept) {
CONTENT_SETTING_ALLOW);
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_ALLOW);
- EXPECT_EQ(CONTENT_SETTING_ALLOW,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ const GURL url_a(kOriginA);
+ const GURL url_b(kOriginB);
+ EXPECT_EQ(CONTENT_SETTING_ALLOW, context.GetPermissionStatus(
+ url::Origin(url_a), url::Origin(url_b)));
}
TEST_F(PushMessagingPermissionContextTest, DecidePushPermission) {
@@ -153,29 +163,31 @@ TEST_F(PushMessagingPermissionContextTest, DecidePushPermission) {
PermissionRequestID request_id(-1, -1, -1);
BrowserPermissionCallback callback = base::Bind(DoNothing);
- context.DecidePushPermission(request_id, GURL(kOriginA), GURL(kOriginA),
- callback, CONTENT_SETTING_DEFAULT);
+ const GURL url_a(kOriginA);
+ const url::Origin origin_a(url_a);
+ context.DecidePushPermission(request_id, origin_a, origin_a, callback,
+ CONTENT_SETTING_DEFAULT);
EXPECT_FALSE(context.was_persisted());
EXPECT_FALSE(context.was_granted());
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_ALLOW);
- context.DecidePushPermission(request_id, GURL(kOriginA), GURL(kOriginA),
- callback, CONTENT_SETTING_ALLOW);
+ context.DecidePushPermission(request_id, origin_a, origin_a, callback,
+ CONTENT_SETTING_ALLOW);
EXPECT_TRUE(context.was_persisted());
EXPECT_TRUE(context.was_granted());
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_BLOCK);
- context.DecidePushPermission(request_id, GURL(kOriginA), GURL(kOriginA),
- callback, CONTENT_SETTING_ALLOW);
+ context.DecidePushPermission(request_id, origin_a, origin_a, callback,
+ CONTENT_SETTING_ALLOW);
EXPECT_TRUE(context.was_persisted());
EXPECT_FALSE(context.was_granted());
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_ASK);
- context.DecidePushPermission(request_id, GURL(kOriginA), GURL(kOriginA),
- callback, CONTENT_SETTING_ALLOW);
+ context.DecidePushPermission(request_id, origin_a, origin_a, callback,
+ CONTENT_SETTING_ALLOW);
EXPECT_TRUE(context.was_persisted());
EXPECT_TRUE(context.was_granted());
}
@@ -186,15 +198,21 @@ TEST_F(PushMessagingPermissionContextTest, DecidePermission) {
PermissionRequestID request_id(-1, -1, -1);
BrowserPermissionCallback callback = base::Bind(DoNothing);
+ const GURL url_a(kOriginA);
+ const GURL url_b(kOriginB);
+ const url::Origin origin_a(url_a);
+ const url::Origin origin_b(url_b);
+
// Requesting and embedding origin are different.
- context.DecidePermission(NULL, request_id, GURL(kOriginA), GURL(kOriginB),
- callback);
+ context.DecidePermission(NULL, request_id, origin_a, origin_b, callback);
EXPECT_FALSE(context.was_persisted());
EXPECT_FALSE(context.was_granted());
// Insecure origin
- NavigateAndCommit(GURL(kInsecureOrigin));
- context.RequestPermission(web_contents(), request_id, GURL(kInsecureOrigin),
+ const GURL insecure_url(kInsecureOrigin);
+ const url::Origin insecure_origin(insecure_url);
+ NavigateAndCommit(insecure_url);
+ context.RequestPermission(web_contents(), request_id, insecure_origin,
callback);
EXPECT_FALSE(context.was_persisted());
EXPECT_FALSE(context.was_granted());
@@ -209,29 +227,29 @@ TEST_F(PushMessagingPermissionContextTest, RequestPermission) {
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ALLOW);
+ const GURL url_a(kOriginA);
+ const url::Origin origin_a(url_a);
+
EXPECT_EQ(
CONTENT_SETTING_ASK,
HostContentSettingsMapFactory::GetForProfile(&profile)->GetContentSetting(
- GURL(kOriginA), GURL(kOriginA), CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
- std::string()));
+ url_a, url_a, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, std::string()));
EXPECT_EQ(CONTENT_SETTING_ASK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
// If a website already has notifications permission, push permission is
// silently granted once the website requests it.
- NavigateAndCommit(GURL(kOriginA));
- context.RequestPermission(web_contents(), request_id, GURL(kOriginA),
- callback);
+ NavigateAndCommit(url_a);
+ context.RequestPermission(web_contents(), request_id, origin_a, callback);
EXPECT_TRUE(context.was_persisted());
EXPECT_TRUE(context.was_granted());
EXPECT_EQ(
CONTENT_SETTING_ALLOW,
HostContentSettingsMapFactory::GetForProfile(&profile)->GetContentSetting(
- GURL(kOriginA), GURL(kOriginA), CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
- std::string()));
+ url_a, url_a, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, std::string()));
EXPECT_EQ(CONTENT_SETTING_ALLOW,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
}
TEST_F(PushMessagingPermissionContextTest, RequestAfterRevokingNotifications) {
@@ -243,14 +261,15 @@ TEST_F(PushMessagingPermissionContextTest, RequestAfterRevokingNotifications) {
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ALLOW);
- NavigateAndCommit(GURL(kOriginA));
- context.RequestPermission(web_contents(), request_id, GURL(kOriginA),
- callback);
+ const GURL url_a(kOriginA);
+ NavigateAndCommit(url_a);
+ const url::Origin origin_a(url_a);
+ context.RequestPermission(web_contents(), request_id, origin_a, callback);
EXPECT_TRUE(context.was_persisted());
EXPECT_TRUE(context.was_granted());
EXPECT_EQ(CONTENT_SETTING_ALLOW,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
// Revoke notifications permission. This should revoke push, and prevent
// future requests for push from succeeding.
@@ -258,43 +277,41 @@ TEST_F(PushMessagingPermissionContextTest, RequestAfterRevokingNotifications) {
CONTENT_SETTING_BLOCK);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
- context.RequestPermission(web_contents(), request_id, GURL(kOriginA),
- callback);
+ context.RequestPermission(web_contents(), request_id, origin_a, callback);
EXPECT_FALSE(context.was_persisted());
EXPECT_FALSE(context.was_granted());
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kOriginA), GURL(kOriginA)));
+ context.GetPermissionStatus(origin_a, origin_a));
}
TEST_F(PushMessagingPermissionContextTest, GetPermissionStatusInsecureOrigin) {
TestingProfile profile;
TestPushMessagingPermissionContext context(&profile);
+ const GURL insecure_url(kInsecureOrigin);
+ const url::Origin insecure_origin(insecure_url);
+
// The status should be blocked for an insecure origin, regardless of the
// content setting value.
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kInsecureOrigin),
- GURL(kInsecureOrigin)));
+ context.GetPermissionStatus(insecure_origin, insecure_origin));
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_ALLOW);
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
CONTENT_SETTING_ALLOW);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kInsecureOrigin),
- GURL(kInsecureOrigin)));
+ context.GetPermissionStatus(insecure_origin, insecure_origin));
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_BLOCK);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kInsecureOrigin),
- GURL(kInsecureOrigin)));
+ context.GetPermissionStatus(insecure_origin, insecure_origin));
SetContentSetting(&profile, CONTENT_SETTINGS_TYPE_PUSH_MESSAGING,
CONTENT_SETTING_ASK);
EXPECT_EQ(CONTENT_SETTING_BLOCK,
- context.GetPermissionStatus(GURL(kInsecureOrigin),
- GURL(kInsecureOrigin)));
+ context.GetPermissionStatus(insecure_origin, insecure_origin));
}

Powered by Google App Engine
This is Rietveld 408576698