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 #include "chrome/common/extensions/permissions/api_permission.h" | 5 #include "chrome/common/extensions/permissions/api_permission.h" |
6 | 6 |
| 7 #include "chrome/common/extensions/permissions/bluetooth_device_permission.h" |
7 #include "chrome/common/extensions/permissions/permissions_info.h" | 8 #include "chrome/common/extensions/permissions/permissions_info.h" |
8 #include "chrome/common/extensions/permissions/socket_permission.h" | 9 #include "chrome/common/extensions/permissions/socket_permission.h" |
9 #include "grit/generated_resources.h" | 10 #include "grit/generated_resources.h" |
10 #include "ui/base/l10n/l10n_util.h" | 11 #include "ui/base/l10n/l10n_util.h" |
11 | 12 |
12 namespace { | 13 namespace { |
13 | 14 |
14 using extensions::APIPermission; | 15 using extensions::APIPermission; |
15 using extensions::APIPermissionInfo; | 16 using extensions::APIPermissionInfo; |
16 using extensions::PermissionMessage; | 17 using extensions::PermissionMessage; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 APIPermission::~APIPermission() { } | 110 APIPermission::~APIPermission() { } |
110 | 111 |
111 APIPermission::ID APIPermission::id() const { | 112 APIPermission::ID APIPermission::id() const { |
112 return info()->id(); | 113 return info()->id(); |
113 } | 114 } |
114 | 115 |
115 const char* APIPermission::name() const { | 116 const char* APIPermission::name() const { |
116 return info()->name(); | 117 return info()->name(); |
117 } | 118 } |
118 | 119 |
| 120 std::string APIPermission::ToString() const { |
| 121 return name(); |
| 122 } |
| 123 |
| 124 bool APIPermission::ManifestEntryRequired() const { |
| 125 return true; |
| 126 } |
| 127 |
| 128 bool APIPermission::ManifestEntryForbidden() const { |
| 129 return false; |
| 130 } |
| 131 |
119 PermissionMessage APIPermission::GetMessage_() const { | 132 PermissionMessage APIPermission::GetMessage_() const { |
120 return info()->GetMessage_(); | 133 return info()->GetMessage_(); |
121 } | 134 } |
122 | 135 |
123 // | 136 // |
124 // APIPermissionInfo | 137 // APIPermissionInfo |
125 // | 138 // |
126 | 139 |
127 APIPermissionInfo::APIPermissionInfo( | 140 APIPermissionInfo::APIPermissionInfo( |
128 APIPermission::ID id, | 141 APIPermission::ID id, |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 { APIPermission::kMediaGalleries, "mediaGalleries" }, | 329 { APIPermission::kMediaGalleries, "mediaGalleries" }, |
317 { APIPermission::kMediaGalleriesRead, "mediaGalleries.read" }, | 330 { APIPermission::kMediaGalleriesRead, "mediaGalleries.read" }, |
318 { APIPermission::kMediaGalleriesAllAutoDetected, | 331 { APIPermission::kMediaGalleriesAllAutoDetected, |
319 "mediaGalleries.allAutoDetected", kFlagNone, | 332 "mediaGalleries.allAutoDetected", kFlagNone, |
320 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_ALL_GALLERIES, | 333 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_ALL_GALLERIES, |
321 PermissionMessage::kMediaGalleriesAllGalleries }, | 334 PermissionMessage::kMediaGalleriesAllGalleries }, |
322 { APIPermission::kPushMessaging, "pushMessaging", kFlagCannotBeOptional }, | 335 { APIPermission::kPushMessaging, "pushMessaging", kFlagCannotBeOptional }, |
323 { APIPermission::kBluetooth, "bluetooth", kFlagNone, | 336 { APIPermission::kBluetooth, "bluetooth", kFlagNone, |
324 IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH, | 337 IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH, |
325 PermissionMessage::kBluetooth }, | 338 PermissionMessage::kBluetooth }, |
| 339 { APIPermission::kBluetoothDevice, "bluetoothDevice", |
| 340 kFlagNone, 0, PermissionMessage::kNone, |
| 341 &::CreateAPIPermission<BluetoothDevicePermission> }, |
326 { APIPermission::kUsb, "usb", kFlagNone, | 342 { APIPermission::kUsb, "usb", kFlagNone, |
327 IDS_EXTENSION_PROMPT_WARNING_USB, | 343 IDS_EXTENSION_PROMPT_WARNING_USB, |
328 PermissionMessage::kUsb }, | 344 PermissionMessage::kUsb }, |
329 }; | 345 }; |
330 | 346 |
331 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(PermissionsToRegister); ++i) { | 347 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(PermissionsToRegister); ++i) { |
332 const PermissionRegistration& pr = PermissionsToRegister[i]; | 348 const PermissionRegistration& pr = PermissionsToRegister[i]; |
333 info->RegisterPermission( | 349 info->RegisterPermission( |
334 pr.id, pr.name, pr.l10n_message_id, | 350 pr.id, pr.name, pr.l10n_message_id, |
335 pr.message_id ? pr.message_id : PermissionMessage::kNone, | 351 pr.message_id ? pr.message_id : PermissionMessage::kNone, |
336 pr.flags, | 352 pr.flags, |
337 pr.constructor); | 353 pr.constructor); |
338 } | 354 } |
339 | 355 |
340 // Register aliases. | 356 // Register aliases. |
341 info->RegisterAlias("unlimitedStorage", kOldUnlimitedStoragePermission); | 357 info->RegisterAlias("unlimitedStorage", kOldUnlimitedStoragePermission); |
342 info->RegisterAlias("tabs", kWindowsPermission); | 358 info->RegisterAlias("tabs", kWindowsPermission); |
343 } | 359 } |
344 | 360 |
345 } // namespace extensions | 361 } // namespace extensions |
OLD | NEW |