OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "content/child/process_control_impl.h" | |
6 | |
7 #include "base/stl_util.h" | |
8 #include "content/public/common/content_client.h" | |
9 #include "mojo/shell/static_application_loader.h" | |
Ken Rockot(use gerrit already)
2015/08/19 23:07:34
This shouldn't be necessary (and so you can also r
xhwang
2015/08/20 00:43:34
I actually need it for the Load() call on l.40.
| |
10 #include "url/gurl.h" | |
11 | |
12 namespace content { | |
13 | |
14 ProcessControlImpl::ProcessControlImpl() { | |
15 } | |
16 | |
17 ProcessControlImpl::~ProcessControlImpl() { | |
18 STLDeleteValues(&url_to_loader_map_); | |
19 } | |
20 | |
21 void ProcessControlImpl::LoadApplication( | |
22 const mojo::String& url, | |
23 mojo::InterfaceRequest<mojo::Application> request, | |
24 const LoadApplicationCallback& callback) { | |
25 // Only register loaders when we need it. | |
26 if (!has_registered_loaders) { | |
27 DCHECK(url_to_loader_map_.empty()); | |
28 RegisterApplicationLoaders(&url_to_loader_map_); | |
29 has_registered_loaders = true; | |
30 } | |
31 | |
32 GURL application_url = GURL(url.To<std::string>()); | |
33 auto it = url_to_loader_map_.find(application_url); | |
34 if (it == url_to_loader_map_.end()) { | |
35 callback.Run(false); | |
36 return; | |
37 } | |
38 | |
39 callback.Run(true); | |
40 it->second->Load(application_url, request.Pass()); | |
41 } | |
42 | |
43 } // namespace content | |
OLD | NEW |