| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "gin/modules/module_registry.h" | 5 #include "gin/modules/module_registry.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 v8::Local<Value> module) { | 156 v8::Local<Value> module) { |
| 157 DCHECK(!id.empty()); | 157 DCHECK(!id.empty()); |
| 158 RegisterModule(isolate, id, module); | 158 RegisterModule(isolate, id, module); |
| 159 } | 159 } |
| 160 | 160 |
| 161 void ModuleRegistry::AddPendingModule(Isolate* isolate, | 161 void ModuleRegistry::AddPendingModule(Isolate* isolate, |
| 162 std::unique_ptr<PendingModule> pending) { | 162 std::unique_ptr<PendingModule> pending) { |
| 163 const std::string pending_id = pending->id; | 163 const std::string pending_id = pending->id; |
| 164 const std::vector<std::string> pending_dependencies = pending->dependencies; | 164 const std::vector<std::string> pending_dependencies = pending->dependencies; |
| 165 AttemptToLoad(isolate, std::move(pending)); | 165 AttemptToLoad(isolate, std::move(pending)); |
| 166 FOR_EACH_OBSERVER(ModuleRegistryObserver, observer_list_, | 166 for (auto& observer : observer_list_) |
| 167 OnDidAddPendingModule(pending_id, pending_dependencies)); | 167 observer.OnDidAddPendingModule(pending_id, pending_dependencies); |
| 168 } | 168 } |
| 169 | 169 |
| 170 void ModuleRegistry::LoadModule(Isolate* isolate, | 170 void ModuleRegistry::LoadModule(Isolate* isolate, |
| 171 const std::string& id, | 171 const std::string& id, |
| 172 LoadModuleCallback callback) { | 172 LoadModuleCallback callback) { |
| 173 if (available_modules_.find(id) != available_modules_.end()) { | 173 if (available_modules_.find(id) != available_modules_.end()) { |
| 174 // Should we call the callback asynchronously? | 174 // Should we call the callback asynchronously? |
| 175 callback.Run(GetModule(isolate, id)); | 175 callback.Run(GetModule(isolate, id)); |
| 176 return; | 176 return; |
| 177 } | 177 } |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 for (size_t i = 0; i < pending_modules.size(); ++i) { | 280 for (size_t i = 0; i < pending_modules.size(); ++i) { |
| 281 std::unique_ptr<PendingModule> pending(pending_modules[i]); | 281 std::unique_ptr<PendingModule> pending(pending_modules[i]); |
| 282 pending_modules[i] = NULL; | 282 pending_modules[i] = NULL; |
| 283 if (AttemptToLoad(isolate, std::move(pending))) | 283 if (AttemptToLoad(isolate, std::move(pending))) |
| 284 keep_trying = true; | 284 keep_trying = true; |
| 285 } | 285 } |
| 286 } | 286 } |
| 287 } | 287 } |
| 288 | 288 |
| 289 } // namespace gin | 289 } // namespace gin |
| OLD | NEW |