Avi Drissman | 8ba1bad | 2022-09-13 19:22:36 | [diff] [blame] | 1 | // Copyright 2015 The Chromium Authors |
mlamouri | 4e37202 | 2015-03-29 14:51:06 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Clark DuVall | 6b73c74 | 2020-03-11 19:00:15 | [diff] [blame] | 5 | #ifndef COMPONENTS_PERMISSIONS_PERMISSION_MANAGER_H_ |
| 6 | #define COMPONENTS_PERMISSIONS_PERMISSION_MANAGER_H_ |
mlamouri | 4e37202 | 2015-03-29 14:51:06 | [diff] [blame] | 7 | |
Lei Zhang | 998100f | 2021-06-25 17:58:19 | [diff] [blame] | 8 | #include <map> |
raymes | e3afee6b | 2016-04-18 02:00:50 | [diff] [blame] | 9 | #include <unordered_map> |
| 10 | |
James Hollyer | d281a731 | 2021-04-29 21:07:59 | [diff] [blame] | 11 | #include "base/containers/flat_map.h" |
Brett Wilson | f976d3f | 2017-08-18 17:23:39 | [diff] [blame] | 12 | #include "base/containers/id_map.h" |
Avi Drissman | 12be031 | 2023-01-11 09:16:09 | [diff] [blame] | 13 | #include "base/functional/callback_forward.h" |
Keishi Hattori | 0e45c02 | 2021-11-27 09:25:52 | [diff] [blame] | 14 | #include "base/memory/raw_ptr.h" |
mlamouri | 23957a2 | 2015-04-01 10:37:56 | [diff] [blame] | 15 | #include "components/content_settings/core/browser/content_settings_observer.h" |
lalitm | 27583e9 | 2015-10-02 11:34:17 | [diff] [blame] | 16 | #include "components/content_settings/core/common/content_settings.h" |
mlamouri | 4e37202 | 2015-03-29 14:51:06 | [diff] [blame] | 17 | #include "components/keyed_service/core/keyed_service.h" |
James Hollyer | d281a731 | 2021-04-29 21:07:59 | [diff] [blame] | 18 | #include "components/permissions/permission_context_base.h" |
Andy Paicu | 1b5011a | 2022-09-20 15:44:58 | [diff] [blame] | 19 | #include "components/permissions/permission_decision_auto_blocker.h" |
Balazs Engedy | e15473b | 2021-04-14 09:09:21 | [diff] [blame] | 20 | #include "components/permissions/permission_request_id.h" |
Clark DuVall | 732778e | 2020-01-27 18:13:58 | [diff] [blame] | 21 | #include "components/permissions/permission_util.h" |
Andrey Lushnikov | f350010 | 2018-07-16 19:55:22 | [diff] [blame] | 22 | #include "content/public/browser/permission_controller_delegate.h" |
Illia Klimov | 15550f75 | 2022-08-11 19:33:10 | [diff] [blame] | 23 | #include "content/public/browser/permission_result.h" |
Rohan Pavone | faf6457 | 2019-07-30 17:50:20 | [diff] [blame] | 24 | #include "url/origin.h" |
mlamouri | 4e37202 | 2015-03-29 14:51:06 | [diff] [blame] | 25 | |
Illia Klimov | 2c6138b | 2023-08-14 09:39:25 | [diff] [blame] | 26 | using PermissionStatus = blink::mojom::PermissionStatus; |
| 27 | |
Andy Paicu | a6d6d85 | 2022-04-28 18:08:36 | [diff] [blame] | 28 | namespace blink { |
| 29 | enum class PermissionType; |
| 30 | } |
| 31 | |
Clark DuVall | 6b73c74 | 2020-03-11 19:00:15 | [diff] [blame] | 32 | namespace content { |
| 33 | class BrowserContext; |
Robbie McElrath | 8d5602a | 2022-04-01 17:39:18 | [diff] [blame] | 34 | class RenderFrameHost; |
| 35 | class RenderProcessHost; |
Thomas Nguyen | 583f07e | 2023-07-19 17:45:37 | [diff] [blame] | 36 | class WebContents; |
Andy Paicu | 0a6d4b50 | 2023-08-29 15:13:09 | [diff] [blame^] | 37 | struct PermissionRequestDescription; |
Clark DuVall | 6b73c74 | 2020-03-11 19:00:15 | [diff] [blame] | 38 | } |
| 39 | |
Illia Klimov | 770b145f | 2022-04-20 17:19:09 | [diff] [blame] | 40 | class GeolocationPermissionContextDelegateTests; |
| 41 | class SubscriptionInterceptingPermissionManager; |
| 42 | |
Clark DuVall | 484c256 | 2020-01-23 22:05:09 | [diff] [blame] | 43 | namespace permissions { |
Clark DuVall |
|