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

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

Issue 186483006: Pepper: More FileDownloader cleanup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 9 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
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/file_downloader.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/native_client/src/trusted/plugin/file_downloader.cc
diff --git a/ppapi/native_client/src/trusted/plugin/file_downloader.cc b/ppapi/native_client/src/trusted/plugin/file_downloader.cc
index daf05ad59b233443ed643a30aaf5ddb80055ae75..9df21b3ec204e73e65f0d1699f0d6a761e325d33 100644
--- a/ppapi/native_client/src/trusted/plugin/file_downloader.cc
+++ b/ppapi/native_client/src/trusted/plugin/file_downloader.cc
@@ -108,7 +108,6 @@ bool FileDownloader::OpenStream(
const nacl::string& url,
const pp::CompletionCallback& callback,
StreamCallbackSource* stream_callback_source) {
- open_and_stream_ = false;
data_stream_callback_source_ = stream_callback_source;
return Open(url, DOWNLOAD_STREAM, callback, true, NULL);
}
@@ -146,52 +145,50 @@ bool FileDownloader::Open(
if (!extra_request_headers_.empty())
url_request.SetHeaders(extra_request_headers_);
- do {
- // Reset the url loader and file reader.
- // Note that we have the only reference to the underlying objects, so
- // this will implicitly close any pending IO and destroy them.
- url_loader_ = pp::URLLoader(instance_);
- url_scheme_ = instance_->GetUrlScheme(url);
- bool grant_universal_access = false;
- if (url_scheme_ == SCHEME_DATA) {
- // TODO(elijahtaylor) Remove this when data URIs can be read without
- // universal access.
- // https://bugs.webkit.org/show_bug.cgi?id=17352
- if (streaming_to_buffer()) {
- grant_universal_access = true;
- } else {
- // Open is to invoke a callback on success or failure. Schedule
- // it asynchronously to follow PPAPI's convention and avoid reentrancy.
- pp::Core* core = pp::Module::Get()->core();
- core->CallOnMainThread(0, callback, PP_ERROR_NOACCESS);
- PLUGIN_PRINTF(("FileDownloader::Open (pp_error=PP_ERROR_NOACCESS)\n"));
- return true;
- }
+ // Reset the url loader and file reader.
+ // Note that we have the only reference to the underlying objects, so
+ // this will implicitly close any pending IO and destroy them.
+ url_loader_ = pp::URLLoader(instance_);
+ url_scheme_ = instance_->GetUrlScheme(url);
+ bool grant_universal_access = false;
+ if (url_scheme_ == SCHEME_DATA) {
+ // TODO(elijahtaylor) Remove this when data URIs can be read without
+ // universal access.
+ // https://bugs.webkit.org/show_bug.cgi?id=17352
+ if (streaming_to_buffer()) {
+ grant_universal_access = true;
+ } else {
+ // Open is to invoke a callback on success or failure. Schedule
+ // it asynchronously to follow PPAPI's convention and avoid reentrancy.
+ pp::Core* core = pp::Module::Get()->core();
+ core->CallOnMainThread(0, callback, PP_ERROR_NOACCESS);
+ PLUGIN_PRINTF(("FileDownloader::Open (pp_error=PP_ERROR_NOACCESS)\n"));
+ return true;
}
+ }
+
+ url_request.SetRecordDownloadProgress(record_progress);
- url_request.SetRecordDownloadProgress(record_progress);
-
- if (url_loader_trusted_interface_ != NULL) {
- if (grant_universal_access) {
- // TODO(sehr,jvoung): See if we can remove this -- currently
- // only used for data URIs.
- url_loader_trusted_interface_->GrantUniversalAccess(
- url_loader_.pp_resource());
- }
- if (progress_callback != NULL) {
- url_loader_trusted_interface_->RegisterStatusCallback(
- url_loader_.pp_resource(), progress_callback);
- }
+ if (url_loader_trusted_interface_ != NULL) {
+ if (grant_universal_access) {
+ // TODO(sehr,jvoung): See if we can remove this -- currently
+ // only used for data URIs.
+ url_loader_trusted_interface_->GrantUniversalAccess(
+ url_loader_.pp_resource());
}
+ if (progress_callback != NULL) {
+ url_loader_trusted_interface_->RegisterStatusCallback(
+ url_loader_.pp_resource(), progress_callback);
+ }
+ }
- // Prepare the url request.
- url_request.SetURL(url_);
+ // Prepare the url request.
+ url_request.SetURL(url_);
- if (streaming_to_file()) {
- file_reader_ = pp::FileIO(instance_);
- url_request.SetStreamToFile(true);
- }
- } while (0);
+ if (streaming_to_file()) {
+ file_reader_ = pp::FileIO(instance_);
+ url_request.SetStreamToFile(true);
+ }
// Request asynchronous download of the url providing an on-load callback.
// As long as this step is guaranteed to be asynchronous, we can call
@@ -217,7 +214,7 @@ void FileDownloader::OpenFast(const nacl::string& url,
status_code_ = NACL_HTTP_STATUS_OK;
url_ = url;
mode_ = DOWNLOAD_NONE;
- if (not_streaming() && file_handle != PP_kInvalidFileHandle) {
+ if (file_handle != PP_kInvalidFileHandle) {
NaClFileInfo tmp_info = NoFileInfo();
tmp_info.desc = ConvertFileDescriptor(file_handle);
tmp_info.file_token.lo = file_token_lo;
@@ -303,7 +300,7 @@ void FileDownloader::URLLoadStartNotify(int32_t pp_error) {
return;
}
- if (open_and_stream_) {
+ if (!streaming_to_user()) {
FinishStreaming(file_open_notify_callback_);
return;
}
@@ -476,10 +473,6 @@ bool FileDownloader::streaming_to_user() const {
return mode_ == DOWNLOAD_STREAM;
}
-bool FileDownloader::not_streaming() const {
- return mode_ == DOWNLOAD_NONE;
-}
-
void FileDownloader::GotFileHandleNotify(int32_t pp_error,
PP_FileHandle handle) {
PLUGIN_PRINTF((
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/file_downloader.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698