Index: content/shell/renderer/test_runner/notification_presenter.cc |
diff --git a/content/shell/renderer/test_runner/notification_presenter.cc b/content/shell/renderer/test_runner/notification_presenter.cc |
index d6f4a25347cefb6168710c5f151087fae496bf0a..e6362d3131abf49f88ae5cae8289f136c4955e5d 100644 |
--- a/content/shell/renderer/test_runner/notification_presenter.cc |
+++ b/content/shell/renderer/test_runner/notification_presenter.cc |
@@ -37,8 +37,9 @@ NotificationPresenter::NotificationPresenter() : delegate_(0) {} |
NotificationPresenter::~NotificationPresenter() {} |
-void NotificationPresenter::GrantPermission(const std::string& origin) { |
- allowed_origins_.insert(origin); |
+void NotificationPresenter::GrantPermission(const std::string& origin, |
+ bool permission_granted) { |
+ known_origins_[origin] = permission_granted; |
} |
bool NotificationPresenter::SimulateClick(const std::string& title) { |
@@ -63,7 +64,7 @@ void NotificationPresenter::CancelAllActiveNotifications() { |
void NotificationPresenter::Reset() { |
// TODO(peter): Ensure that |active_notifications_| is empty as well. |
- allowed_origins_.clear(); |
+ known_origins_.clear(); |
} |
bool NotificationPresenter::show(const WebNotification& notification) { |
@@ -121,7 +122,12 @@ void NotificationPresenter::objectDestroyed( |
WebNotificationPresenter::Permission NotificationPresenter::checkPermission( |
const WebSecurityOrigin& security_origin) { |
const std::string origin = security_origin.toString().utf8(); |
- if (allowed_origins_.find(origin) != allowed_origins_.end()) |
+ const KnownOriginMap::iterator it = known_origins_.find(origin); |
+ if (it == known_origins_.end()) |
+ return WebNotificationPresenter::PermissionNotAllowed; |
+ |
+ // Values in |known_origins_| indicate whether permission has been granted. |
+ if (it->second) |
return WebNotificationPresenter::PermissionAllowed; |
return WebNotificationPresenter::PermissionDenied; |