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

Side by Side Diff: services/catalog/entry.cc

Issue 2338793003: services/shell: Turn on sandboxing for mojo apps.
Patch Set: . Created 4 years, 3 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
« no previous file with comments | « services/catalog/entry.h ('k') | services/catalog/store.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "services/catalog/entry.h" 5 #include "services/catalog/entry.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "services/catalog/store.h" 8 #include "services/catalog/store.h"
9 #include "services/shell/public/cpp/names.h" 9 #include "services/shell/public/cpp/names.h"
10 10
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 services->GetDictionary(i, &service); 238 services->GetDictionary(i, &service);
239 std::unique_ptr<Entry> child = Entry::Deserialize(*service); 239 std::unique_ptr<Entry> child = Entry::Deserialize(*service);
240 if (child) { 240 if (child) {
241 child->set_package(entry.get()); 241 child->set_package(entry.get());
242 // Caller must assume ownership of these items. 242 // Caller must assume ownership of these items.
243 entry->children_.emplace_back(std::move(child)); 243 entry->children_.emplace_back(std::move(child));
244 } 244 }
245 } 245 }
246 } 246 }
247 247
248 // Privileged?
249 bool privileged = false;
250 if (value.HasKey(Store::kPrivilegedKey) &&
251 value.GetBoolean(Store::kPrivilegedKey, &privileged)) {
252 entry->set_privileged(privileged);
253 }
254
248 return entry; 255 return entry;
249 } 256 }
250 257
251 bool Entry::ProvidesClass(const std::string& clazz) const { 258 bool Entry::ProvidesClass(const std::string& clazz) const {
252 return capabilities_.provided.find(clazz) != capabilities_.provided.end(); 259 return capabilities_.provided.find(clazz) != capabilities_.provided.end();
253 } 260 }
254 261
255 bool Entry::operator==(const Entry& other) const { 262 bool Entry::operator==(const Entry& other) const {
256 return other.name_ == name_ && other.qualifier_ == qualifier_ && 263 return other.name_ == name_ && other.qualifier_ == qualifier_ &&
257 other.display_name_ == display_name_ && 264 other.display_name_ == display_name_ &&
(...skipping 14 matching lines...) Expand all
272 shell::mojom::ResolveResultPtr 279 shell::mojom::ResolveResultPtr
273 TypeConverter<shell::mojom::ResolveResultPtr, catalog::Entry>::Convert( 280 TypeConverter<shell::mojom::ResolveResultPtr, catalog::Entry>::Convert(
274 const catalog::Entry& input) { 281 const catalog::Entry& input) {
275 shell::mojom::ResolveResultPtr result(shell::mojom::ResolveResult::New()); 282 shell::mojom::ResolveResultPtr result(shell::mojom::ResolveResult::New());
276 result->name = input.name(); 283 result->name = input.name();
277 const catalog::Entry& package = input.package() ? *input.package() : input; 284 const catalog::Entry& package = input.package() ? *input.package() : input;
278 result->resolved_name = package.name(); 285 result->resolved_name = package.name();
279 result->qualifier = input.qualifier(); 286 result->qualifier = input.qualifier();
280 result->capabilities = input.capabilities(); 287 result->capabilities = input.capabilities();
281 result->package_path = package.path(); 288 result->package_path = package.path();
289 result->privileged = input.privileged();
282 return result; 290 return result;
283 } 291 }
284 292
285 // static 293 // static
286 catalog::mojom::EntryPtr 294 catalog::mojom::EntryPtr
287 TypeConverter<catalog::mojom::EntryPtr, catalog::Entry>::Convert( 295 TypeConverter<catalog::mojom::EntryPtr, catalog::Entry>::Convert(
288 const catalog::Entry& input) { 296 const catalog::Entry& input) {
289 catalog::mojom::EntryPtr result(catalog::mojom::Entry::New()); 297 catalog::mojom::EntryPtr result(catalog::mojom::Entry::New());
290 result->name = input.name(); 298 result->name = input.name();
291 result->display_name = input.display_name(); 299 result->display_name = input.display_name();
292 return result; 300 return result;
293 } 301 }
294 302
295 } // namespace mojo 303 } // namespace mojo
OLDNEW
« no previous file with comments | « services/catalog/entry.h ('k') | services/catalog/store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698