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_
10 #include "base/macros.h"
11 #include "components/content_settings/core/common/content_settings_types.h"
13 class PermissionContextBase
;
15 class KeyedServiceBaseFactory
;
18 enum class PermissionType
;
19 }; // namespace content
21 class PermissionContext
{
23 // Helper method returning the PermissionContextBase object associated with
24 // the given ContentSettingsType.
25 static PermissionContextBase
* Get(
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
33 static const std::list
<KeyedServiceBaseFactory
*>& GetFactories();
36 DISALLOW_IMPLICIT_CONSTRUCTORS(PermissionContext
);
39 #endif // CHROME_BROWSER_PERMISSIONS_PERMISSION_CONTEXT_H_