Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Unified Diff: chrome/common/extensions/permissions/bluetooth_device_permission.cc

Issue 11348335: Revert 170514 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/permissions/bluetooth_device_permission.cc
===================================================================
--- chrome/common/extensions/permissions/bluetooth_device_permission.cc (revision 170599)
+++ chrome/common/extensions/permissions/bluetooth_device_permission.cc (working copy)
@@ -1,220 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/common/extensions/permissions/bluetooth_device_permission.h"
-
-#include <algorithm>
-#include <string>
-#include <vector>
-
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/string16.h"
-#include "base/string_util.h"
-#include "base/utf_string_conversions.h"
-#include "base/values.h"
-#include "chrome/common/extensions/extension_messages.h"
-#include "chrome/common/extensions/permissions/permissions_info.h"
-#include "device/bluetooth/bluetooth_adapter.h"
-#include "device/bluetooth/bluetooth_adapter_factory.h"
-#include "device/bluetooth/bluetooth_device.h"
-#include "grit/generated_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-
-namespace {
-
-const char* kSeparator = "|";
-
-} // namespace
-
-namespace extensions {
-
-BluetoothDevicePermission::BluetoothDevicePermission(
- const APIPermissionInfo* info) : APIPermission(info) {
-}
-
-BluetoothDevicePermission::~BluetoothDevicePermission() {
-}
-
-void BluetoothDevicePermission::AddDevicesFromString(
- const std::string &devices_string) {
- std::vector<std::string> devices;
- Tokenize(devices_string, kSeparator, &devices);
- for (std::vector<std::string>::const_iterator i = devices.begin();
- i != devices.end(); ++i) {
- devices_.insert(*i);
- }
-}
-
-std::string BluetoothDevicePermission::ToString() const {
- std::vector<std::string> parts;
- parts.push_back(name());
- for (std::set<std::string>::const_iterator i = devices_.begin();
- i != devices_.end(); ++i) {
- parts.push_back(*i);
- }
- return JoinString(parts, kSeparator);
-}
-
-bool BluetoothDevicePermission::ManifestEntryForbidden() const {
- return true;
-}
-
-bool BluetoothDevicePermission::HasMessages() const {
- return !devices_.empty();
-}
-
-PermissionMessages BluetoothDevicePermission::GetMessages() const {
- DCHECK(HasMessages());
- PermissionMessages result;
-
- scoped_refptr<device::BluetoothAdapter> bluetooth_adapter =
- device::BluetoothAdapterFactory::DefaultAdapter();
-
- for (std::set<std::string>::const_iterator i = devices_.begin();
- i != devices_.end(); ++i) {
-
- string16 device_identifier;
- if (bluetooth_adapter) {
- device::BluetoothDevice* device = bluetooth_adapter->GetDevice(*i);
- if (device)
- device_identifier = device->GetName();
- }
-
- if (device_identifier.length() == 0) {
- UTF8ToUTF16(i->c_str(), i->length(), &device_identifier);
- }
-
- result.push_back(PermissionMessage(
- PermissionMessage::kBluetoothDevice,
- l10n_util::GetStringFUTF16(
- IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_DEVICE,
- device_identifier)));
- }
-
- return result;
-}
-
-bool BluetoothDevicePermission::Check(
- const APIPermission::CheckParam* param) const {
- const CheckParam* bluetooth_device_parameter =
- static_cast<const CheckParam*>(param);
- for (std::set<std::string>::const_iterator i = devices_.begin();
- i != devices_.end(); ++i) {
- if (*i == bluetooth_device_parameter->device_address)
- return true;
- }
- return false;
-}
-
-bool BluetoothDevicePermission::Contains(const APIPermission* rhs) const {
- CHECK(rhs->info() == info());
- const BluetoothDevicePermission* perm =
- static_cast<const BluetoothDevicePermission*>(rhs);
- return std::includes(
- devices_.begin(), devices_.end(),
- perm->devices_.begin(), perm->devices_.end());
-}
-
-bool BluetoothDevicePermission::Equal(const APIPermission* rhs) const {
- CHECK(rhs->info() == info());
- const BluetoothDevicePermission* perm =
- static_cast<const BluetoothDevicePermission*>(rhs);
- return devices_ == perm->devices_;
-}
-
-bool BluetoothDevicePermission::FromValue(const base::Value* value) {
- devices_.clear();
- const base::ListValue* list = NULL;
-
- if (!value)
- return false;
-
- if (!value->GetAsList(&list) || list->GetSize() == 0)
- return false;
-
- for (size_t i = 0; i < list->GetSize(); ++i) {
- std::string device_address;
- if (!list->GetString(i, &device_address))
- return false;
- devices_.insert(device_address);
- }
-
- return true;
-}
-
-void BluetoothDevicePermission::ToValue(base::Value** value) const {
- base::ListValue* list = new ListValue();
- std::set<std::string>::const_iterator i;
- for (std::set<std::string>::const_iterator i = devices_.begin();
- i != devices_.end(); ++i) {
- list->Append(base::Value::CreateStringValue(*i));
- }
- *value = list;
-}
-
-APIPermission* BluetoothDevicePermission::Clone() const {
- BluetoothDevicePermission* result = new BluetoothDevicePermission(info());
- result->devices_ = devices_;
- return result;
-}
-
-APIPermission* BluetoothDevicePermission::Diff(const APIPermission* rhs) const {
- CHECK(rhs->info() == info());
- const BluetoothDevicePermission* perm =
- static_cast<const BluetoothDevicePermission*>(rhs);
- scoped_ptr<BluetoothDevicePermission> result(
- new BluetoothDevicePermission(info()));
- std::set_difference(
- devices_.begin(), devices_.end(),
- perm->devices_.begin(), perm->devices_.end(),
- std::inserter<std::set<std::string> >(
- result->devices_, result->devices_.begin()));
- return result->devices_.empty() ? NULL : result.release();
-}
-
-APIPermission* BluetoothDevicePermission::Union(
- const APIPermission* rhs) const {
- CHECK(rhs->info() == info());
- const BluetoothDevicePermission* perm =
- static_cast<const BluetoothDevicePermission*>(rhs);
- scoped_ptr<BluetoothDevicePermission> result(
- new BluetoothDevicePermission(info()));
- std::set_union(
- devices_.begin(), devices_.end(),
- perm->devices_.begin(), perm->devices_.end(),
- std::inserter<std::set<std::string> >(
- result->devices_, result->devices_.begin()));
- return result->devices_.empty() ? NULL : result.release();
-}
-
-APIPermission* BluetoothDevicePermission::Intersect(
- const APIPermission* rhs) const {
- CHECK(rhs->info() == info());
- const BluetoothDevicePermission* perm =
- static_cast<const BluetoothDevicePermission*>(rhs);
- scoped_ptr<BluetoothDevicePermission> result(
- new BluetoothDevicePermission(info()));
- std::set_intersection(
- devices_.begin(), devices_.end(),
- perm->devices_.begin(), perm->devices_.end(),
- std::inserter<std::set<std::string> >(
- result->devices_, result->devices_.begin()));
- return result->devices_.empty() ? NULL : result.release();
-}
-
-void BluetoothDevicePermission::Write(IPC::Message* m) const {
- IPC::WriteParam(m, devices_);
-}
-
-bool BluetoothDevicePermission::Read(
- const IPC::Message* m, PickleIterator* iter) {
- return IPC::ReadParam(m, iter, &devices_);
-}
-
-void BluetoothDevicePermission::Log(std::string* log) const {
- IPC::LogParam(devices_, log);
-}
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698