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 7 namespace content { 8 ShellNotificationManager()9ShellNotificationManager::ShellNotificationManager() {} 10 ~ShellNotificationManager()11ShellNotificationManager::~ShellNotificationManager() {} 12 13 blink::WebNotificationPermission CheckPermission(const GURL & origin)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 RequestPermission(const GURL & origin,const base::Callback<void (blink::WebNotificationPermission)> & callback)23void ShellNotificationManager::RequestPermission( 24 const GURL& origin, 25 const base::Callback<void(blink::WebNotificationPermission)>& callback) { 26 callback.Run(CheckPermission(origin)); 27 } 28 SetPermission(const GURL & origin,blink::WebNotificationPermission permission)29void ShellNotificationManager::SetPermission( 30 const GURL& origin, 31 blink::WebNotificationPermission permission) { 32 permission_map_[origin] = permission; 33 } 34 ClearPermissions()35void ShellNotificationManager::ClearPermissions() { 36 permission_map_.clear(); 37 } 38 39 } // namespace content 40