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.
5 #ifndef CHROME_BROWSER_NOTIFICATIONS_DESKTOP_NOTIFICATION_PROFILE_UTIL_H_
6 #define CHROME_BROWSER_NOTIFICATIONS_DESKTOP_NOTIFICATION_PROFILE_UTIL_H_
8 #include "base/macros.h"
9 #include "components/content_settings/core/common/content_settings.h"
13 // A series of common operations to interact with the profile's Desktop
14 // Notification settings.
15 class DesktopNotificationProfileUtil
{
17 // NOTE: This should only be called on the UI thread.
18 static void ResetToDefaultContentSetting(Profile
* profile
);
20 // Clears the notifications setting for the given pattern.
21 static void ClearSetting(
22 Profile
* profile
, const ContentSettingsPattern
& pattern
);
24 // Methods to setup and modify permission preferences.
25 static void GrantPermission(Profile
* profile
, const GURL
& origin
);
26 static void DenyPermission(Profile
* profile
, const GURL
& origin
);
27 static void GetNotificationsSettings(
28 Profile
* profile
, ContentSettingsForOneType
* settings
);
29 static ContentSetting
GetContentSetting(Profile
* profile
, const GURL
& origin
);
32 DISALLOW_IMPLICIT_CONSTRUCTORS(DesktopNotificationProfileUtil
);
35 #endif // CHROME_BROWSER_NOTIFICATIONS_DESKTOP_NOTIFICATION_PROFILE_UTIL_H_