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

Side by Side Diff: shell/application_manager/application_manager.cc

Issue 1276073004: Offline By Default (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Rename MoveIntoDir Created 5 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
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 "shell/application_manager/application_manager.h" 5 #include "shell/application_manager/application_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 178
179 if (resolved_url.SchemeIsFile()) { 179 if (resolved_url.SchemeIsFile()) {
180 new LocalFetcher(resolved_url, GetBaseURLAndQuery(resolved_url, nullptr), 180 new LocalFetcher(resolved_url, GetBaseURLAndQuery(resolved_url, nullptr),
181 callback); 181 callback);
182 return; 182 return;
183 } 183 }
184 184
185 if (!url_response_disk_cache_) { 185 if (!url_response_disk_cache_) {
186 ConnectToService(GURL("mojo:url_response_disk_cache"), 186 ConnectToService(GURL("mojo:url_response_disk_cache"),
187 &url_response_disk_cache_); 187 &url_response_disk_cache_);
188 ConnectToService(GURL("mojo:network_service"), &network_service_);
189 ConnectToService(GURL("mojo:network_service"),
190 &authenticating_network_service_);
ppi 2015/09/08 15:46:26 Why this change is needed?
qsr 2015/09/11 15:47:58 Because otherwise the network service is changed i
188 } 191 }
189 192
190 if (!network_service_) { 193 mojo::NetworkService* network_service = authenticating_network_service_.get();
191 ConnectToService(GURL("mojo:network_service"), &network_service_);
192 }
193 194
194 // NOTE: Attempting to initialize the apps used authentication for while 195 // NOTE: Attempting to initialize the apps used authentication for while
195 // connecting to those apps would result in a recursive loop, so it has to be 196 // connecting to those apps would result in a recursive loop, so it has to be
196 // explicitly avoided here. What this means in practice is that these apps 197 // explicitly avoided here. What this means in practice is that these apps
197 // cannot themselves require authentication to obtain. 198 // cannot themselves require authentication to obtain.
198 if (!initialized_authentication_interceptor_ && 199 if (EndsWith(resolved_url.path(), "/authentication.mojo", true) ||
199 !EndsWith(resolved_url.path(), "/authentication.mojo", true) && 200 EndsWith(resolved_url.path(),
200 !EndsWith(resolved_url.path(), 201 "/authenticating_url_loader_interceptor.mojo", true)) {
201 "/authenticating_url_loader_interceptor.mojo", true)) { 202 network_service = network_service_.get();
203 } else if (!initialized_authentication_interceptor_) {
202 authentication::AuthenticationServicePtr authentication_service; 204 authentication::AuthenticationServicePtr authentication_service;
203 ConnectToService(GURL("mojo:authentication"), &authentication_service); 205 ConnectToService(GURL("mojo:authentication"), &authentication_service);
204 mojo::AuthenticatingURLLoaderInterceptorMetaFactoryPtr 206 mojo::AuthenticatingURLLoaderInterceptorMetaFactoryPtr
205 interceptor_meta_factory; 207 interceptor_meta_factory;
206 ConnectToService(GURL("mojo:authenticating_url_loader_interceptor"), 208 ConnectToService(GURL("mojo:authenticating_url_loader_interceptor"),
207 &interceptor_meta_factory); 209 &interceptor_meta_factory);
208 mojo::URLLoaderInterceptorFactoryPtr interceptor_factory; 210 mojo::URLLoaderInterceptorFactoryPtr interceptor_factory;
209 interceptor_meta_factory->CreateURLLoaderInterceptorFactory( 211 interceptor_meta_factory->CreateURLLoaderInterceptorFactory(
210 GetProxy(&interceptor_factory), authentication_service.Pass()); 212 GetProxy(&interceptor_factory), authentication_service.Pass());
211 network_service_->RegisterURLLoaderInterceptor(interceptor_factory.Pass()); 213 authenticating_network_service_->RegisterURLLoaderInterceptor(
214 interceptor_factory.Pass());
212 initialized_authentication_interceptor_ = true; 215 initialized_authentication_interceptor_ = true;
213 } 216 }
214 217
215 new NetworkFetcher(options_.disable_cache, resolved_url, 218 new NetworkFetcher(options_.disable_cache, resolved_url,
216 url_response_disk_cache_.get(), network_service_.get(), 219 url_response_disk_cache_.get(), network_service, callback);
217 callback);
218 } 220 }
219 221
220 bool ApplicationManager::ConnectToRunningApplication( 222 bool ApplicationManager::ConnectToRunningApplication(
221 const GURL& resolved_url, 223 const GURL& resolved_url,
222 const GURL& requestor_url, 224 const GURL& requestor_url,
223 InterfaceRequest<ServiceProvider>* services, 225 InterfaceRequest<ServiceProvider>* services,
224 ServiceProviderPtr* exposed_services) { 226 ServiceProviderPtr* exposed_services) {
225 GURL application_url = GetBaseURLAndQuery(resolved_url, nullptr); 227 GURL application_url = GetBaseURLAndQuery(resolved_url, nullptr);
226 ShellImpl* shell_impl = GetShellImpl(application_url); 228 ShellImpl* shell_impl = GetShellImpl(application_url);
227 if (!shell_impl) 229 if (!shell_impl)
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 return args_it->second; 510 return args_it->second;
509 return std::vector<std::string>(); 511 return std::vector<std::string>();
510 } 512 }
511 513
512 void ApplicationManager::CleanupRunner(NativeRunner* runner) { 514 void ApplicationManager::CleanupRunner(NativeRunner* runner) {
513 native_runners_.erase( 515 native_runners_.erase(
514 std::find(native_runners_.begin(), native_runners_.end(), runner)); 516 std::find(native_runners_.begin(), native_runners_.end(), runner));
515 } 517 }
516 518
517 } // namespace shell 519 } // namespace shell
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698