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

Unified Diff: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc

Issue 15697019: Parametrize names of llc and ld nexes by reading them from the resource info JSON file. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tweak comments some more, following Jan's review Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
diff --git a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
index a938b77243ea1247538eb127b1f46ec092270f1c..613abd4fa2b1958340f0a2e6935fa644cb197562 100644
--- a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
+++ b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
@@ -90,9 +90,11 @@ class PnaclManifest : public Manifest {
"key did not start with files/");
return false;
}
- // Append what follows files to the pnacl URL prefix.
+ // Resolve the full URL to the file. Provide it with a platform-specific
+ // prefix.
nacl::string key_basename = key.substr(kFilesPrefix.length());
- return ResolveURL(key_basename, full_url, error_info);
+ return ResolveURL(PnaclUrls::PrependPlatformPrefix(key_basename),
+ full_url, error_info);
}
private:
@@ -237,22 +239,19 @@ PnaclCoordinator* PnaclCoordinator::BitcodeToNative(
reinterpret_cast<const void*>(coordinator->manifest_.get()),
coordinator->off_the_record_));
- // Load llc and ld.
- std::vector<nacl::string> resource_urls;
- resource_urls.push_back(PnaclUrls::GetLlcUrl());
- resource_urls.push_back(PnaclUrls::GetLdUrl());
- pp::CompletionCallback resources_cb =
- coordinator->callback_factory_.NewCallback(
- &PnaclCoordinator::ResourcesDidLoad);
+ // Loading resources (e.g. llc and ld nexes) is done with PnaclResources.
coordinator->resources_.reset(
new PnaclResources(plugin,
coordinator,
- coordinator->manifest_.get(),
- resource_urls,
- resources_cb));
+ coordinator->manifest_.get()));
CHECK(coordinator->resources_ != NULL);
- coordinator->resources_->StartLoad();
- // ResourcesDidLoad will be invoked when all resources have been received.
+
+ // The first step of loading resources: read the resource info file.
+ pp::CompletionCallback resource_info_read_cb =
+ coordinator->callback_factory_.NewCallback(
+ &PnaclCoordinator::ResourceInfoWasRead);
+ coordinator->resources_->ReadResourceInfo(PnaclUrls::GetResourceInfoUrl(),
+ resource_info_read_cb);
return coordinator;
}
@@ -649,6 +648,15 @@ void PnaclCoordinator::NexeReadDidOpen(int32_t pp_error) {
translate_notify_callback_.Run(pp_error);
}
+void PnaclCoordinator::ResourceInfoWasRead(int32_t pp_error) {
+ PLUGIN_PRINTF(("PluginCoordinator::ResourceInfoWasRead (pp_error=%"
+ NACL_PRId32")\n", pp_error));
+ // Second step of loading resources: call StartLoad.
+ pp::CompletionCallback resources_cb =
+ callback_factory_.NewCallback(&PnaclCoordinator::ResourcesDidLoad);
+ resources_->StartLoad(resources_cb);
+}
+
void PnaclCoordinator::ResourcesDidLoad(int32_t pp_error) {
PLUGIN_PRINTF(("PnaclCoordinator::ResourcesDidLoad (pp_error=%"
NACL_PRId32")\n", pp_error));
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/pnacl_coordinator.h ('k') | ppapi/native_client/src/trusted/plugin/pnacl_resources.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698