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

Side by Side Diff: extensions/common/permissions/manifest_permission.cc

Issue 408493002: Make Clone, Contains, Equal and IPC function non-virtual and implement in manifest_permission.cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src@warnings
Patch Set: More review comments Created 6 years, 5 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "extensions/common/permissions/manifest_permission.h" 5 #include "extensions/common/permissions/manifest_permission.h"
6 6
7 #include "base/json/json_writer.h"
8 #include "extensions/common/manifest_handler.h"
9 #include "ipc/ipc_message.h"
10 #include "ipc/ipc_message_utils.h"
11
7 namespace extensions { 12 namespace extensions {
8 13
9 ManifestPermission::ManifestPermission() {} 14 ManifestPermission::ManifestPermission() {}
10 15
11 ManifestPermission::~ManifestPermission() { } 16 ManifestPermission::~ManifestPermission() { }
12 17
18 ManifestPermission* ManifestPermission::Clone() const {
19 return Union(this);
20 }
21
22 bool ManifestPermission::Contains(const ManifestPermission* rhs) const {
23 return scoped_ptr<ManifestPermission>(Intersect(rhs))->Equal(rhs);
24 }
25
26 bool ManifestPermission::Equal(const ManifestPermission* rhs) const {
27 return ToValue()->Equals(rhs->ToValue().get());
28 }
29
30 void ManifestPermission::Write(IPC::Message* m) const {
31 base::ListValue singleton;
32 base::Value* value = ToValue().release();
33 singleton.Append(value);
34 IPC::WriteParam(m, singleton);
35 }
36
37 bool ManifestPermission::Read(const IPC::Message* m, PickleIterator* iter) {
38 base::ListValue singleton;
39 if (!IPC::ReadParam(m, iter, &singleton))
40 return false;
41 if (singleton.GetSize() != 1)
42 return false;
43 base::Value* value = NULL;
44 if (!singleton.Get(0, &value))
45 return false;
46 return FromValue(value);
47 }
48
49 void ManifestPermission::Log(std::string* log) const {
50 base::JSONWriter::WriteWithOptions(
51 ToValue().get(), base::JSONWriter::OPTIONS_PRETTY_PRINT, log);
52 }
53
13 } // namespace extensions 54 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/permissions/manifest_permission.h ('k') | extensions/common/permissions/manifest_permission_set_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698