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

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

Issue 8786005: Move command line processing out of coordinator (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years 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_resources.cc
===================================================================
--- ppapi/native_client/src/trusted/plugin/pnacl_resources.cc (revision 114253)
+++ ppapi/native_client/src/trusted/plugin/pnacl_resources.cc (working copy)
@@ -32,57 +32,29 @@
resource_wrappers_.clear();
}
-void PnaclResources::Initialize() {
- callback_factory_.Initialize(this);
-}
-
-void PnaclResources::AddResourceUrl(const nacl::string& url) {
- // Use previously loaded resources if available.
- if (resource_wrappers_.find(url) != resource_wrappers_.end()) {
- return;
- }
- all_loaded_ = false;
- resource_urls_.push_back(url);
-}
-
void PnaclResources::StartDownloads() {
- // If there are no resources to be loaded, report all loaded to invoke
- // client callbacks as needed.
- if (all_loaded_) {
- AllLoaded(PP_OK);
- return;
- }
- pp::CompletionCallback all_loaded_callback =
- callback_factory_.NewCallback(&PnaclResources::AllLoaded);
+ PLUGIN_PRINTF(("PnaclResources::StartDownloads\n"));
// Create a counter (barrier) callback to track when all of the resources
// are loaded.
uint32_t resource_count = static_cast<uint32_t>(resource_urls_.size());
delayed_callback_.reset(
- new DelayedCallback(all_loaded_callback, resource_count));
+ new DelayedCallback(all_loaded_callback_, resource_count));
- // All resource URLs are relative to the coordinator's resource_base_url().
- nacl::string resource_base_url = coordinator_->resource_base_url();
-
// Schedule the downloads.
CHECK(resource_urls_.size() > 0);
for (size_t i = 0; i < resource_urls_.size(); ++i) {
- const nacl::string& full_url = resource_base_url + resource_urls_[i];
+ const nacl::string& full_url = resource_base_url_ + resource_urls_[i];
pp::CompletionCallback ready_callback =
callback_factory_.NewCallback(&PnaclResources::ResourceReady,
resource_urls_[i],
full_url);
if (!plugin_->StreamAsFile(full_url,
ready_callback.pp_completion_callback())) {
- ErrorInfo error_info;
- error_info.SetReport(ERROR_UNKNOWN,
- "PnaclCoordinator: Failed to download file: " +
- resource_urls_[i] + "\n");
- coordinator_->ReportLoadError(error_info);
- coordinator_->PnaclNonPpapiError();
+ coordinator_->ReportNonPpapiError(
+ nacl::string("failed to download ") + resource_urls_[i] + "\n");
break;
}
}
- resource_urls_.clear();
}
void PnaclResources::ResourceReady(int32_t pp_error,
@@ -95,7 +67,8 @@
full_url,
"resource " + url);
if (fd < 0) {
- coordinator_->PnaclPpapiError(pp_error);
+ coordinator_->ReportPpapiError(pp_error,
+ "PnaclResources::ResourceReady failed.\n");
} else {
resource_wrappers_[url] =
plugin_->wrapper_factory()->MakeFileDesc(fd, O_RDONLY);
@@ -103,24 +76,4 @@
}
}
-void PnaclResources::AllLoaded(int32_t pp_error) {
- PLUGIN_PRINTF(("PnaclResources::AllLoaded (pp_error=%"NACL_PRId32")\n",
- pp_error));
- all_loaded_ = true;
- // Run the client-specified callback if one was set.
- if (client_callback_is_valid_) {
- pp::Core* core = pp::Module::Get()->core();
- core->CallOnMainThread(0, client_callback_, PP_OK);
- }
-}
-
-void PnaclResources::RunWhenAllLoaded(pp::CompletionCallback& client_callback) {
- if (all_loaded_) {
- pp::Core* core = pp::Module::Get()->core();
- core->CallOnMainThread(0, client_callback, PP_OK);
- }
- client_callback_ = client_callback;
- client_callback_is_valid_ = true;
-}
-
} // namespace plugin
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/pnacl_resources.h ('k') | ppapi/native_client/src/trusted/plugin/srpc_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698