| 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 |