| Index: chrome/common/extensions/api/sockets/sockets_manifest_data.cc
|
| diff --git a/chrome/common/extensions/api/sockets/sockets_manifest_data.cc b/chrome/common/extensions/api/sockets/sockets_manifest_data.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b00c8e0f312a23f1da21046736b8630f92731d17
|
| --- /dev/null
|
| +++ b/chrome/common/extensions/api/sockets/sockets_manifest_data.cc
|
| @@ -0,0 +1,51 @@
|
| +// Copyright 2013 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/api/sockets/sockets_manifest_data.h"
|
| +
|
| +#include "chrome/common/extensions/api/sockets/sockets_manifest_permission.h"
|
| +#include "extensions/common/manifest_constants.h"
|
| +
|
| +namespace extensions {
|
| +
|
| +SocketsManifestData::SocketsManifestData(
|
| + scoped_ptr<SocketsManifestPermission> permission)
|
| + : permission_(permission.Pass()) {
|
| + DCHECK(permission_);
|
| +}
|
| +
|
| +SocketsManifestData::~SocketsManifestData() {}
|
| +
|
| +// static
|
| +SocketsManifestData* SocketsManifestData::Get(
|
| + const Extension* extension) {
|
| + return static_cast<SocketsManifestData*>(
|
| + extension->GetManifestData(manifest_keys::kSockets));
|
| +}
|
| +
|
| +// static
|
| +bool SocketsManifestData::CheckRequest(
|
| + const Extension* extension,
|
| + const content::SocketPermissionRequest& request) {
|
| + const SocketsManifestData* data = SocketsManifestData::Get(extension);
|
| + if (data)
|
| + return data->permission()->CheckRequest(extension, request);
|
| +
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +scoped_ptr<SocketsManifestData> SocketsManifestData::FromValue(
|
| + const base::Value& value,
|
| + string16* error) {
|
| + scoped_ptr<SocketsManifestPermission> permission =
|
| + SocketsManifestPermission::FromValue(value, error);
|
| + if (!permission)
|
| + return scoped_ptr<SocketsManifestData>();
|
| +
|
| + return scoped_ptr<SocketsManifestData>(
|
| + new SocketsManifestData(permission.Pass())).Pass();
|
| +}
|
| +
|
| +} // namespace extensions
|
|
|