Chromium Code Reviews| Index: shell/dynamic_application_loader.cc |
| diff --git a/shell/dynamic_application_loader.cc b/shell/dynamic_application_loader.cc |
| index 6b2a1c9d8a5261ad93b5b48512b1c0f62271e199..02a787048dea426364c9839f9e6db491697fd5cd 100644 |
| --- a/shell/dynamic_application_loader.cc |
| +++ b/shell/dynamic_application_loader.cc |
| @@ -26,6 +26,9 @@ |
| #include "shell/context.h" |
| #include "shell/data_pipe_peek.h" |
| #include "shell/filename_util.h" |
| +#if MOJO_USE_NACL |
| +#include "shell/nacl/nacl_service_runner.h" |
| +#endif |
| #include "shell/switches.h" |
| #include "url/url_util.h" |
| @@ -141,10 +144,23 @@ class DynamicApplicationLoader::Loader { |
| return; |
| } |
| - runner_ = runner_factory_->Create(context_); |
| - runner_->Start( |
| - path, cleanup_behavior_, application_request_.Pass(), |
| - base::Bind(&Loader::ReportComplete, weak_ptr_factory_.GetWeakPtr())); |
| + // TODO(ncbray) sniff or infer the content type at a previous stage in the |
| + // pipeline. |
| + if (path.Extension() == FILE_PATH_LITERAL(".nexe")) { |
| +#if MOJO_USE_NACL |
| + nacl_runner_ = scoped_ptr<NaClServiceRunner>( |
|
jamesr
2015/01/28 23:11:30
nacl_runner_.reset(new ....);
Nick Bray (chromium)
2015/01/29 22:31:34
Done.
|
| + new NaClServiceRunner(context_)); |
| + nacl_runner_->Start(path, application_request_.Pass()); |
|
jamesr
2015/01/28 23:11:30
add a return; here and leave the last bit un-inden
Nick Bray (chromium)
2015/01/29 22:31:34
Done.
|
| +#else |
| + LOG(ERROR) << "Library not started because Native Client is not enabled."; |
| + ReportComplete(); |
|
jamesr
2015/01/28 23:11:30
return;
Nick Bray (chromium)
2015/01/29 22:31:34
Done.
|
| +#endif |
| + } else { |
| + runner_ = runner_factory_->Create(context_); |
| + runner_->Start( |
| + path, cleanup_behavior_, application_request_.Pass(), |
| + base::Bind(&Loader::ReportComplete, weak_ptr_factory_.GetWeakPtr())); |
| + } |
| } |
| DynamicServiceRunner::CleanupBehavior cleanup_behavior_; |
| @@ -155,6 +171,9 @@ class DynamicApplicationLoader::Loader { |
| MimeTypeToURLMap* mime_type_to_url_; |
| DynamicServiceRunnerFactory* runner_factory_; |
| scoped_ptr<DynamicServiceRunner> runner_; |
| +#if MOJO_USE_NACL |
| + scoped_ptr<NaClServiceRunner> nacl_runner_; |
| +#endif |
| base::WeakPtrFactory<Loader> weak_ptr_factory_; |
| }; |