OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PPAPI_SHARED_IMPL_PPAPI_PERMISSIONS_H_ | 5 #ifndef PPAPI_SHARED_IMPL_PPAPI_PERMISSIONS_H_ |
6 #define PPAPI_SHARED_IMPL_PPAPI_PERMISSIONS_H_ | 6 #define PPAPI_SHARED_IMPL_PPAPI_PERMISSIONS_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "ppapi/shared_impl/ppapi_shared_export.h" | 9 #include "ppapi/shared_impl/ppapi_shared_export.h" |
10 | 10 |
11 namespace ppapi { | 11 namespace ppapi { |
12 | 12 |
13 enum Permission { | 13 enum Permission { |
14 // Placeholder/uninitialized permission. | 14 // Placeholder/uninitialized permission. |
15 PERMISSION_NONE = 0, | 15 PERMISSION_NONE = 0, |
16 | 16 |
17 // Allows access to dev interfaces. | 17 // Allows access to dev interfaces. These are experimental interfaces not |
| 18 // tied to any particular release channel. |
18 PERMISSION_DEV = 1 << 0, | 19 PERMISSION_DEV = 1 << 0, |
19 | 20 |
20 // Allows access to Browser-internal interfaces. | 21 // Allows access to Browser-internal interfaces. |
21 PERMISSION_PRIVATE = 1 << 1, | 22 PERMISSION_PRIVATE = 1 << 1, |
22 | 23 |
23 // Allows ability to bypass user-gesture checks for showing things like | 24 // Allows ability to bypass user-gesture checks for showing things like |
24 // file select dialogs. | 25 // file select dialogs. |
25 PERMISSION_BYPASS_USER_GESTURE = 1 << 2, | 26 PERMISSION_BYPASS_USER_GESTURE = 1 << 2, |
26 | 27 |
27 // Testing-only interfaces. | 28 // Testing-only interfaces. |
28 PERMISSION_TESTING = 1 << 3, | 29 PERMISSION_TESTING = 1 << 3, |
29 | 30 |
30 // Flash-related interfaces. | 31 // Flash-related interfaces. |
31 PERMISSION_FLASH = 1 << 4, | 32 PERMISSION_FLASH = 1 << 4, |
32 | 33 |
| 34 // "Dev channel" interfaces. This is different than PERMISSION_DEV above; |
| 35 // these interfaces may only be used on Dev or Canary channel releases of |
| 36 // Chrome. |
| 37 PERMISSION_DEV_CHANNEL = 1 << 5, |
| 38 |
33 // NOTE: If you add stuff be sure to update PERMISSION_ALL_BITS. | 39 // NOTE: If you add stuff be sure to update PERMISSION_ALL_BITS. |
34 | 40 |
35 // Meta permission for initializing plugins registered on the command line | 41 // Meta permission for initializing plugins registered on the command line |
36 // that get all permissions. | 42 // that get all permissions. |
37 PERMISSION_ALL_BITS = PERMISSION_DEV | | 43 PERMISSION_ALL_BITS = PERMISSION_DEV | |
38 PERMISSION_PRIVATE | | 44 PERMISSION_PRIVATE | |
39 PERMISSION_BYPASS_USER_GESTURE | | 45 PERMISSION_BYPASS_USER_GESTURE | |
40 PERMISSION_TESTING | | 46 PERMISSION_TESTING | |
41 PERMISSION_FLASH | 47 PERMISSION_FLASH | |
| 48 PERMISSION_DEV_CHANNEL |
42 }; | 49 }; |
43 | 50 |
44 class PPAPI_SHARED_EXPORT PpapiPermissions { | 51 class PPAPI_SHARED_EXPORT PpapiPermissions { |
45 public: | 52 public: |
46 // Initializes the permissions struct with no permissions. | 53 // Initializes the permissions struct with no permissions. |
47 PpapiPermissions(); | 54 PpapiPermissions(); |
48 | 55 |
49 // Initializes with the given permissions bits set. | 56 // Initializes with the given permissions bits set. |
50 explicit PpapiPermissions(uint32 perms); | 57 explicit PpapiPermissions(uint32 perms); |
51 | 58 |
(...skipping 15 matching lines...) Expand all Loading... |
67 | 74 |
68 private: | 75 private: |
69 uint32 permissions_; | 76 uint32 permissions_; |
70 | 77 |
71 // Note: Copy & assign supported. | 78 // Note: Copy & assign supported. |
72 }; | 79 }; |
73 | 80 |
74 } // namespace ppapi | 81 } // namespace ppapi |
75 | 82 |
76 #endif // PPAPI_SHARED_IMPL_PPAPI_PERMISSIONS_H_ | 83 #endif // PPAPI_SHARED_IMPL_PPAPI_PERMISSIONS_H_ |
OLD | NEW |