1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/shell/browser/shell_notification_manager.h"
6
7namespace content {
8
9ShellNotificationManager::ShellNotificationManager() {}
10
11ShellNotificationManager::~ShellNotificationManager() {}
12
13blink::WebNotificationPermission
14ShellNotificationManager::CheckPermission(const GURL& origin) {
15  NotificationPermissionMap::iterator iter =
16      permission_map_.find(origin);
17  if (iter == permission_map_.end())
18    return blink::WebNotificationPermissionDefault;
19
20  return iter->second;
21}
22
23void ShellNotificationManager::RequestPermission(
24    const GURL& origin,
25    const base::Callback<void(blink::WebNotificationPermission)>& callback) {
26  callback.Run(CheckPermission(origin));
27}
28
29void ShellNotificationManager::SetPermission(
30    const GURL& origin,
31    blink::WebNotificationPermission permission) {
32  permission_map_[origin] = permission;
33}
34
35void ShellNotificationManager::ClearPermissions() {
36  permission_map_.clear();
37}
38
39}  // namespace content
40