| Index: extensions/common/permissions/manifest_permission.cc
|
| diff --git a/extensions/common/permissions/manifest_permission.cc b/extensions/common/permissions/manifest_permission.cc
|
| index b15c541467da6056ff5d529037f6d47e08eb28e5..a3a3a0914a4eb62a38fb21ddf73a28f1acb93b3d 100644
|
| --- a/extensions/common/permissions/manifest_permission.cc
|
| +++ b/extensions/common/permissions/manifest_permission.cc
|
| @@ -4,10 +4,51 @@
|
|
|
| #include "extensions/common/permissions/manifest_permission.h"
|
|
|
| +#include "base/json/json_writer.h"
|
| +#include "extensions/common/manifest_handler.h"
|
| +#include "ipc/ipc_message.h"
|
| +#include "ipc/ipc_message_utils.h"
|
| +
|
| namespace extensions {
|
|
|
| ManifestPermission::ManifestPermission() {}
|
|
|
| ManifestPermission::~ManifestPermission() { }
|
|
|
| +ManifestPermission* ManifestPermission::Clone() const {
|
| + return Union(this);
|
| +}
|
| +
|
| +bool ManifestPermission::Contains(const ManifestPermission* rhs) const {
|
| + return scoped_ptr<ManifestPermission>(Intersect(rhs))->Equal(rhs);
|
| +}
|
| +
|
| +bool ManifestPermission::Equal(const ManifestPermission* rhs) const {
|
| + return ToValue()->Equals(rhs->ToValue().get());
|
| +}
|
| +
|
| +void ManifestPermission::Write(IPC::Message* m) const {
|
| + base::ListValue singleton;
|
| + base::Value* value = ToValue().release();
|
| + singleton.Append(value);
|
| + IPC::WriteParam(m, singleton);
|
| +}
|
| +
|
| +bool ManifestPermission::Read(const IPC::Message* m, PickleIterator* iter) {
|
| + base::ListValue singleton;
|
| + if (!IPC::ReadParam(m, iter, &singleton))
|
| + return false;
|
| + if (singleton.GetSize() != 1)
|
| + return false;
|
| + base::Value* value = NULL;
|
| + if (!singleton.Get(0, &value))
|
| + return false;
|
| + return FromValue(value);
|
| +}
|
| +
|
| +void ManifestPermission::Log(std::string* log) const {
|
| + base::JSONWriter::WriteWithOptions(
|
| + ToValue().get(), base::JSONWriter::OPTIONS_PRETTY_PRINT, log);
|
| +}
|
| +
|
| } // namespace extensions
|
|
|