Update mojo surfaces bindings and mojo/cc/ glue
[chromium-blink-merge.git] / chrome / browser / notifications / desktop_notification_profile_util.h
blob12d7cf216a05ec53080a3565e3ae363b80eccf66
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 "chrome/common/content_settings.h"
10 class Profile;
12 // A series of common operations to interact with the profile's Desktop
13 // Notification settings.
14 class DesktopNotificationProfileUtil {
15 public:
16 // NOTE: This should only be called on the UI thread.
17 static void ResetToDefaultContentSetting(Profile* profile);
19 // Clears the notifications setting for the given pattern.
20 static void ClearSetting(
21 Profile* profile, const ContentSettingsPattern& pattern);
23 // Methods to setup and modify permission preferences.
24 static void GrantPermission(Profile* profile, const GURL& origin);
25 static void DenyPermission(Profile* profile, const GURL& origin);
26 static void GetNotificationsSettings(
27 Profile* profile, ContentSettingsForOneType* settings);
28 static ContentSetting GetContentSetting(Profile* profile, const GURL& origin);
29 static void UsePermission(Profile* profile, const GURL& origin);
31 private:
32 DISALLOW_IMPLICIT_CONSTRUCTORS(DesktopNotificationProfileUtil);
35 #endif // CHROME_BROWSER_NOTIFICATIONS_DESKTOP_NOTIFICATION_PROFILE_UTIL_H_