Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / permissions / permission_context.h
blobe6e2dac7ebf81351687aed27e1409f3a78cce3d5
1 // Copyright 2015 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_PERMISSIONS_PERMISSION_CONTEXT_H_
6 #define CHROME_BROWSER_PERMISSIONS_PERMISSION_CONTEXT_H_
8 #include <list>
10 #include "base/macros.h"
11 #include "components/content_settings/core/common/content_settings_types.h"
13 class PermissionContextBase;
14 class Profile;
15 class KeyedServiceBaseFactory;
17 namespace content {
18 enum class PermissionType;
19 }; // namespace content
21 class PermissionContext {
22 public:
23 // Helper method returning the PermissionContextBase object associated with
24 // the given ContentSettingsType.
25 static PermissionContextBase* Get(
26 Profile* profile,
27 content::PermissionType content_settings_type);
29 // Return all the factories related to PermissionContext. These are the
30 // factories used by ::Get() to create a PermissionContextBase.
31 // This is meant to be used by callers of ::Get() that need to depend on these
32 // factories.
33 static const std::list<KeyedServiceBaseFactory*>& GetFactories();
35 private:
36 DISALLOW_IMPLICIT_CONSTRUCTORS(PermissionContext);
39 #endif // CHROME_BROWSER_PERMISSIONS_PERMISSION_CONTEXT_H_