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

Side by Side Diff: extensions/common/api/sockets/sockets_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: 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/api/sockets/sockets_manifest_permission.h" 5 #include "extensions/common/api/sockets/sockets_manifest_permission.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/stl_util.h" 8 #include "base/stl_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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 sockets.tcp_server.reset(new Sockets::TcpServer()); 216 sockets.tcp_server.reset(new Sockets::TcpServer());
217 SetHostPatterns( 217 SetHostPatterns(
218 sockets.tcp_server->listen, this, SocketPermissionRequest::TCP_LISTEN); 218 sockets.tcp_server->listen, this, SocketPermissionRequest::TCP_LISTEN);
219 if (sockets.tcp_server->listen->as_strings->size() == 0) { 219 if (sockets.tcp_server->listen->as_strings->size() == 0) {
220 sockets.tcp_server.reset(NULL); 220 sockets.tcp_server.reset(NULL);
221 } 221 }
222 222
223 return scoped_ptr<base::Value>(sockets.ToValue().release()).Pass(); 223 return scoped_ptr<base::Value>(sockets.ToValue().release()).Pass();
224 } 224 }
225 225
226 ManifestPermission* SocketsManifestPermission::Clone() const {
227 scoped_ptr<SocketsManifestPermission> result(new SocketsManifestPermission());
228 result->permissions_ = permissions_;
229 return result.release();
230 }
231
232 ManifestPermission* SocketsManifestPermission::Diff( 226 ManifestPermission* SocketsManifestPermission::Diff(
233 const ManifestPermission* rhs) const { 227 const ManifestPermission* rhs) const {
234 const SocketsManifestPermission* other = 228 const SocketsManifestPermission* other =
235 static_cast<const SocketsManifestPermission*>(rhs); 229 static_cast<const SocketsManifestPermission*>(rhs);
236 230
237 scoped_ptr<SocketsManifestPermission> result(new SocketsManifestPermission()); 231 scoped_ptr<SocketsManifestPermission> result(new SocketsManifestPermission());
238 result->permissions_ = base::STLSetDifference<SocketPermissionEntrySet>( 232 result->permissions_ = base::STLSetDifference<SocketPermissionEntrySet>(
239 permissions_, other->permissions_); 233 permissions_, other->permissions_);
240 return result.release(); 234 return result.release();
241 } 235 }
(...skipping 13 matching lines...) Expand all
255 const ManifestPermission* rhs) const { 249 const ManifestPermission* rhs) const {
256 const SocketsManifestPermission* other = 250 const SocketsManifestPermission* other =
257 static_cast<const SocketsManifestPermission*>(rhs); 251 static_cast<const SocketsManifestPermission*>(rhs);
258 252
259 scoped_ptr<SocketsManifestPermission> result(new SocketsManifestPermission()); 253 scoped_ptr<SocketsManifestPermission> result(new SocketsManifestPermission());
260 result->permissions_ = base::STLSetIntersection<SocketPermissionEntrySet>( 254 result->permissions_ = base::STLSetIntersection<SocketPermissionEntrySet>(
261 permissions_, other->permissions_); 255 permissions_, other->permissions_);
262 return result.release(); 256 return result.release();
263 } 257 }
264 258
265 bool SocketsManifestPermission::Contains(const ManifestPermission* rhs) const {
266 const SocketsManifestPermission* other =
267 static_cast<const SocketsManifestPermission*>(rhs);
268
269 return base::STLIncludes<SocketPermissionEntrySet>(permissions_,
270 other->permissions_);
271 }
272
273 bool SocketsManifestPermission::Equal(const ManifestPermission* rhs) const {
274 const SocketsManifestPermission* other =
275 static_cast<const SocketsManifestPermission*>(rhs);
276
277 return (permissions_ == other->permissions_);
278 }
279
280 void SocketsManifestPermission::Write(IPC::Message* m) const {
281 IPC::WriteParam(m, permissions_);
282 }
283
284 bool SocketsManifestPermission::Read(const IPC::Message* m,
285 PickleIterator* iter) {
286 return IPC::ReadParam(m, iter, &permissions_);
287 }
288
289 void SocketsManifestPermission::Log(std::string* log) const {
290 IPC::LogParam(permissions_, log);
291 }
292
293 void SocketsManifestPermission::AddPermission( 259 void SocketsManifestPermission::AddPermission(
294 const SocketPermissionEntry& entry) { 260 const SocketPermissionEntry& entry) {
295 permissions_.insert(entry); 261 permissions_.insert(entry);
296 } 262 }
297 263
298 bool SocketsManifestPermission::AddAnyHostMessage( 264 bool SocketsManifestPermission::AddAnyHostMessage(
299 PermissionMessages& messages) const { 265 PermissionMessages& messages) const {
300 for (SocketPermissionEntrySet::const_iterator it = permissions_.begin(); 266 for (SocketPermissionEntrySet::const_iterator it = permissions_.begin();
301 it != permissions_.end(); 267 it != permissions_.end();
302 ++it) { 268 ++it) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 if (it->pattern().type == SocketPermissionRequest::NETWORK_STATE) { 332 if (it->pattern().type == SocketPermissionRequest::NETWORK_STATE) {
367 messages.push_back( 333 messages.push_back(
368 PermissionMessage(PermissionMessage::kNetworkState, 334 PermissionMessage(PermissionMessage::kNetworkState,
369 l10n_util::GetStringUTF16( 335 l10n_util::GetStringUTF16(
370 IDS_EXTENSION_PROMPT_WARNING_NETWORK_STATE))); 336 IDS_EXTENSION_PROMPT_WARNING_NETWORK_STATE)));
371 } 337 }
372 } 338 }
373 } 339 }
374 340
375 } // namespace extensions 341 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698