| OLD | NEW |
| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/synchronization/waitable_event.h" | 9 #include "base/synchronization/waitable_event.h" |
| 10 #include "base/threading/platform_thread.h" | 10 #include "base/threading/platform_thread.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 strict_content_handler_(this, true), | 63 strict_content_handler_(this, true), |
| 64 content_handler_factory_(&content_handler_), | 64 content_handler_factory_(&content_handler_), |
| 65 strict_content_handler_factory_(&strict_content_handler_), | 65 strict_content_handler_factory_(&strict_content_handler_), |
| 66 service_connector_(nullptr) {} | 66 service_connector_(nullptr) {} |
| 67 | 67 |
| 68 ~DartContentHandlerApp() override {} | 68 ~DartContentHandlerApp() override {} |
| 69 | 69 |
| 70 void ExtractApplication(base::FilePath* application_dir, | 70 void ExtractApplication(base::FilePath* application_dir, |
| 71 mojo::URLResponsePtr response, | 71 mojo::URLResponsePtr response, |
| 72 const base::Closure& callback) { | 72 const base::Closure& callback) { |
| 73 url_response_disk_cache_->GetExtractedContent( | 73 url_response_disk_cache_->UpdateAndGetExtracted( |
| 74 response.Pass(), | 74 response.Pass(), |
| 75 [application_dir, callback](mojo::Array<uint8_t> application_dir_path, | 75 [application_dir, callback](mojo::Array<uint8_t> application_dir_path, |
| 76 mojo::Array<uint8_t> cache_path) { | 76 mojo::Array<uint8_t> cache_path) { |
| 77 if (application_dir_path.is_null()) { | 77 if (application_dir_path.is_null()) { |
| 78 *application_dir = base::FilePath(); | 78 *application_dir = base::FilePath(); |
| 79 } else { | 79 } else { |
| 80 *application_dir = base::FilePath(std::string( | 80 *application_dir = base::FilePath(std::string( |
| 81 reinterpret_cast<char*>(&application_dir_path.front()), | 81 reinterpret_cast<char*>(&application_dir_path.front()), |
| 82 application_dir_path.size())); | 82 application_dir_path.size())); |
| 83 } | 83 } |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 | 189 |
| 190 } // namespace dart | 190 } // namespace dart |
| 191 | 191 |
| 192 MojoResult MojoMain(MojoHandle application_request) { | 192 MojoResult MojoMain(MojoHandle application_request) { |
| 193 mojo::ApplicationRunnerChromium runner(new dart::DartContentHandlerApp); | 193 mojo::ApplicationRunnerChromium runner(new dart::DartContentHandlerApp); |
| 194 MojoResult r = runner.Run(application_request); | 194 MojoResult r = runner.Run(application_request); |
| 195 // TODO(johnmccutchan): Remove this once the Dart VM shuts down threads. | 195 // TODO(johnmccutchan): Remove this once the Dart VM shuts down threads. |
| 196 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(100)); | 196 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(100)); |
| 197 return r; | 197 return r; |
| 198 } | 198 } |
| OLD | NEW |