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

Side by Side Diff: chrome/common/extensions/manifest_handlers/ui_overrides_handler.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: Remove DCHECK 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 "chrome/common/extensions/manifest_handlers/ui_overrides_handler.h" 5 #include "chrome/common/extensions/manifest_handlers/ui_overrides_handler.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 56
57 virtual bool FromValue(const base::Value* value) OVERRIDE { 57 virtual bool FromValue(const base::Value* value) OVERRIDE {
58 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); 58 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_);
59 } 59 }
60 60
61 virtual scoped_ptr<base::Value> ToValue() const OVERRIDE { 61 virtual scoped_ptr<base::Value> ToValue() const OVERRIDE {
62 return scoped_ptr<base::Value>( 62 return scoped_ptr<base::Value>(
63 new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass(); 63 new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass();
64 } 64 }
65 65
66 virtual ManifestPermission* Clone() const OVERRIDE {
67 return scoped_ptr<ManifestPermissionImpl>(
68 new ManifestPermissionImpl(
69 override_bookmarks_ui_permission_)).release();
70 }
71
72 virtual ManifestPermission* Diff(const ManifestPermission* rhs) const 66 virtual ManifestPermission* Diff(const ManifestPermission* rhs) const
73 OVERRIDE { 67 OVERRIDE {
74 const ManifestPermissionImpl* other = 68 const ManifestPermissionImpl* other =
75 static_cast<const ManifestPermissionImpl*>(rhs); 69 static_cast<const ManifestPermissionImpl*>(rhs);
76 70
77 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( 71 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl(
78 override_bookmarks_ui_permission_ && 72 override_bookmarks_ui_permission_ &&
79 !other->override_bookmarks_ui_permission_)).release(); 73 !other->override_bookmarks_ui_permission_)).release();
80 } 74 }
81 75
(...skipping 10 matching lines...) Expand all
92 virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const 86 virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const
93 OVERRIDE { 87 OVERRIDE {
94 const ManifestPermissionImpl* other = 88 const ManifestPermissionImpl* other =
95 static_cast<const ManifestPermissionImpl*>(rhs); 89 static_cast<const ManifestPermissionImpl*>(rhs);
96 90
97 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( 91 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl(
98 override_bookmarks_ui_permission_ && 92 override_bookmarks_ui_permission_ &&
99 other->override_bookmarks_ui_permission_)).release(); 93 other->override_bookmarks_ui_permission_)).release();
100 } 94 }
101 95
102 virtual bool Contains(const ManifestPermission* rhs) const OVERRIDE {
103 const ManifestPermissionImpl* other =
104 static_cast<const ManifestPermissionImpl*>(rhs);
105
106 return !other->override_bookmarks_ui_permission_ ||
107 override_bookmarks_ui_permission_;
108 }
109
110 virtual bool Equal(const ManifestPermission* rhs) const OVERRIDE {
111 const ManifestPermissionImpl* other =
112 static_cast<const ManifestPermissionImpl*>(rhs);
113
114 return override_bookmarks_ui_permission_ ==
115 other->override_bookmarks_ui_permission_;
116 }
117
118 virtual void Write(IPC::Message* m) const OVERRIDE {
119 IPC::WriteParam(m, override_bookmarks_ui_permission_);
120 }
121
122 virtual bool Read(const IPC::Message* m, PickleIterator* iter) OVERRIDE {
123 return IPC::ReadParam(m, iter, &override_bookmarks_ui_permission_);
124 }
125
126 virtual void Log(std::string* log) const OVERRIDE {
127 IPC::LogParam(override_bookmarks_ui_permission_, log);
128 }
129
130 private: 96 private:
131 bool override_bookmarks_ui_permission_; 97 bool override_bookmarks_ui_permission_;
132 }; 98 };
133 99
134 UIOverrides::UIOverrides() {} 100 UIOverrides::UIOverrides() {}
135 101
136 UIOverrides::~UIOverrides() {} 102 UIOverrides::~UIOverrides() {}
137 103
138 const UIOverrides* UIOverrides::Get(const Extension* extension) { 104 const UIOverrides* UIOverrides::Get(const Extension* extension) {
139 return static_cast<UIOverrides*>( 105 return static_cast<UIOverrides*>(
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 const UIOverrides* data = UIOverrides::Get(extension); 180 const UIOverrides* data = UIOverrides::Get(extension);
215 if (data) 181 if (data)
216 return data->manifest_permission->Clone(); 182 return data->manifest_permission->Clone();
217 return NULL; 183 return NULL;
218 } 184 }
219 const std::vector<std::string> UIOverridesHandler::Keys() const { 185 const std::vector<std::string> UIOverridesHandler::Keys() const {
220 return SingleKey(manifest_keys::kUIOverride); 186 return SingleKey(manifest_keys::kUIOverride);
221 } 187 }
222 188
223 } // namespace extensions 189 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698