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

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

Issue 1850623004: Create .mojo applications in a common subdir under out/Debug (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 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 | « mojo/public/mojo_constants.gni ('k') | mojo/shell/runner/host/child_process_host.cc » ('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 "mojo/services/catalog/catalog.h" 5 #include "mojo/services/catalog/catalog.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/json/json_file_value_serializer.h" 8 #include "base/json/json_file_value_serializer.h"
9 #include "base/strings/string_split.h" 9 #include "base/strings/string_split.h"
10 #include "base/task_runner_util.h" 10 #include "base/task_runner_util.h"
11 #include "mojo/common/url_type_converters.h" 11 #include "mojo/common/url_type_converters.h"
12 #include "mojo/services/catalog/entry.h" 12 #include "mojo/services/catalog/entry.h"
13 #include "mojo/services/catalog/store.h" 13 #include "mojo/services/catalog/store.h"
14 #include "mojo/shell/public/cpp/names.h" 14 #include "mojo/shell/public/cpp/names.h"
15 #include "url/gurl.h" 15 #include "url/gurl.h"
16 #include "url/url_util.h" 16 #include "url/url_util.h"
17 17
18 namespace catalog { 18 namespace catalog {
19 namespace { 19 namespace {
20 20
21 base::FilePath GetManifestPath(const base::FilePath& package_dir, 21 base::FilePath GetManifestPath(const base::FilePath& package_dir,
22 const std::string& name) { 22 const std::string& name) {
23 // TODO(beng): think more about how this should be done for exe targets. 23 // TODO(beng): think more about how this should be done for exe targets.
24 std::string type = mojo::GetNameType(name); 24 std::string type = mojo::GetNameType(name);
25 std::string path = mojo::GetNamePath(name); 25 std::string path = mojo::GetNamePath(name);
26 if (type == mojo::kNameType_Mojo) 26 if (type == mojo::kNameType_Mojo) {
27 return package_dir.AppendASCII(path + "/manifest.json"); 27 return package_dir.AppendASCII("Mojo Applications").AppendASCII(
28 path + "/manifest.json");
29 }
28 if (type == mojo::kNameType_Exe) 30 if (type == mojo::kNameType_Exe)
29 return package_dir.AppendASCII(path + "_manifest.json"); 31 return package_dir.AppendASCII(path + "_manifest.json");
30 return base::FilePath(); 32 return base::FilePath();
31 } 33 }
32 34
33 base::FilePath GetPackagePath(const base::FilePath& package_dir, 35 base::FilePath GetPackagePath(const base::FilePath& package_dir,
34 const std::string& name) { 36 const std::string& name) {
35 std::string type = mojo::GetNameType(name); 37 std::string type = mojo::GetNameType(name);
36 if (type == mojo::kNameType_Mojo) { 38 if (type == mojo::kNameType_Mojo) {
37 // It's still a mojo: URL, use the default mapping scheme. 39 // It's still a mojo: URL, use the default mapping scheme.
38 const std::string host = mojo::GetNamePath(name); 40 const std::string host = mojo::GetNamePath(name);
39 return package_dir.AppendASCII(host + "/" + host + ".mojo"); 41 return package_dir.AppendASCII("Mojo Applications").AppendASCII(
42 host + "/" + host + ".mojo");
40 } 43 }
41 if (type == mojo::kNameType_Exe) { 44 if (type == mojo::kNameType_Exe) {
42 #if defined OS_WIN 45 #if defined OS_WIN
43 std::string extension = ".exe"; 46 std::string extension = ".exe";
44 #else 47 #else
45 std::string extension; 48 std::string extension;
46 #endif 49 #endif
47 return package_dir.AppendASCII(mojo::GetNamePath(name) + extension); 50 return package_dir.AppendASCII(mojo::GetNamePath(name) + extension);
48 } 51 }
49 return base::FilePath(); 52 return base::FilePath();
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 EntryCache* catalog = is_system_catalog ? system_catalog_ : &user_catalog_; 234 EntryCache* catalog = is_system_catalog ? system_catalog_ : &user_catalog_;
232 if (catalog->end() != catalog->find(entry->name())) 235 if (catalog->end() != catalog->find(entry->name()))
233 return; 236 return;
234 for (auto child : entry->applications()) 237 for (auto child : entry->applications())
235 AddEntryToCatalog(make_scoped_ptr(child), is_system_catalog); 238 AddEntryToCatalog(make_scoped_ptr(child), is_system_catalog);
236 (*catalog)[entry->name()] = std::move(entry); 239 (*catalog)[entry->name()] = std::move(entry);
237 SerializeCatalog(); 240 SerializeCatalog();
238 } 241 }
239 242
240 } // namespace catalog 243 } // namespace catalog
OLDNEW
« no previous file with comments | « mojo/public/mojo_constants.gni ('k') | mojo/shell/runner/host/child_process_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698