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

Side by Side Diff: ppapi/native_client/src/trusted/plugin/file_downloader.cc

Issue 181933005: Pepper: Simplify FileDownloader::url(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ppapi/native_client/src/trusted/plugin/file_downloader.h" 5 #include "ppapi/native_client/src/trusted/plugin/file_downloader.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 #include <string.h> 8 #include <string.h>
9 #include <string> 9 #include <string>
10 10
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 PP_URLLoaderTrusted_StatusCallback progress_callback) { 121 PP_URLLoaderTrusted_StatusCallback progress_callback) {
122 PLUGIN_PRINTF(("FileDownloader::Open (url=%s)\n", url.c_str())); 122 PLUGIN_PRINTF(("FileDownloader::Open (url=%s)\n", url.c_str()));
123 if (callback.pp_completion_callback().func == NULL || 123 if (callback.pp_completion_callback().func == NULL ||
124 instance_ == NULL || 124 instance_ == NULL ||
125 file_io_private_interface_ == NULL) 125 file_io_private_interface_ == NULL)
126 return false; 126 return false;
127 127
128 CHECK(instance_ != NULL); 128 CHECK(instance_ != NULL);
129 open_time_ = NaClGetTimeOfDayMicroseconds(); 129 open_time_ = NaClGetTimeOfDayMicroseconds();
130 status_code_ = -1; 130 status_code_ = -1;
131 url_to_open_ = url;
132 url_ = url; 131 url_ = url;
133 file_open_notify_callback_ = callback; 132 file_open_notify_callback_ = callback;
134 mode_ = mode; 133 mode_ = mode;
135 buffer_.clear(); 134 buffer_.clear();
136 file_info_.FreeResources(); 135 file_info_.FreeResources();
137 pp::URLRequestInfo url_request(instance_); 136 pp::URLRequestInfo url_request(instance_);
138 137
139 // Allow CORS. 138 // Allow CORS.
140 // Note that "SetAllowCrossOriginRequests" (currently) has the side effect of 139 // Note that "SetAllowCrossOriginRequests" (currently) has the side effect of
141 // preventing credentials from being sent on same-origin requests. We 140 // preventing credentials from being sent on same-origin requests. We
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 208
210 void FileDownloader::OpenFast(const nacl::string& url, 209 void FileDownloader::OpenFast(const nacl::string& url,
211 PP_FileHandle file_handle, 210 PP_FileHandle file_handle,
212 uint64_t file_token_lo, uint64_t file_token_hi) { 211 uint64_t file_token_lo, uint64_t file_token_hi) {
213 PLUGIN_PRINTF(("FileDownloader::OpenFast (url=%s)\n", url.c_str())); 212 PLUGIN_PRINTF(("FileDownloader::OpenFast (url=%s)\n", url.c_str()));
214 213
215 file_info_.FreeResources(); 214 file_info_.FreeResources();
216 CHECK(instance_ != NULL); 215 CHECK(instance_ != NULL);
217 open_time_ = NaClGetTimeOfDayMicroseconds(); 216 open_time_ = NaClGetTimeOfDayMicroseconds();
218 status_code_ = NACL_HTTP_STATUS_OK; 217 status_code_ = NACL_HTTP_STATUS_OK;
219 url_to_open_ = url;
220 url_ = url; 218 url_ = url;
221 mode_ = DOWNLOAD_NONE; 219 mode_ = DOWNLOAD_NONE;
222 if (not_streaming() && file_handle != PP_kInvalidFileHandle) { 220 if (not_streaming() && file_handle != PP_kInvalidFileHandle) {
223 NaClFileInfo tmp_info = NoFileInfo(); 221 NaClFileInfo tmp_info = NoFileInfo();
224 tmp_info.desc = ConvertFileDescriptor(file_handle); 222 tmp_info.desc = ConvertFileDescriptor(file_handle);
225 tmp_info.file_token.lo = file_token_lo; 223 tmp_info.file_token.lo = file_token_lo;
226 tmp_info.file_token.hi = file_token_hi; 224 tmp_info.file_token.hi = file_token_hi;
227 file_info_.TakeOwnership(&tmp_info); 225 file_info_.TakeOwnership(&tmp_info);
228 } 226 }
229 } 227 }
(...skipping 27 matching lines...) Expand all
257 "FileDownloader::InitialResponseIsValid (url_response_=NULL)\n")); 255 "FileDownloader::InitialResponseIsValid (url_response_=NULL)\n"));
258 return false; 256 return false;
259 } 257 }
260 258
261 pp::Var full_url = url_response_.GetURL(); 259 pp::Var full_url = url_response_.GetURL();
262 if (!full_url.is_string()) { 260 if (!full_url.is_string()) {
263 PLUGIN_PRINTF(( 261 PLUGIN_PRINTF((
264 "FileDownloader::InitialResponseIsValid (url is not a string)\n")); 262 "FileDownloader::InitialResponseIsValid (url is not a string)\n"));
265 return false; 263 return false;
266 } 264 }
267 url_ = full_url.AsString(); 265 full_url_ = full_url.AsString();
268 266
269 // Note that URLs in the data-URI scheme produce different error 267 // Note that URLs in the data-URI scheme produce different error
270 // codes than other schemes. This is because data-URI are really a 268 // codes than other schemes. This is because data-URI are really a
271 // special kind of file scheme, and therefore do not produce HTTP 269 // special kind of file scheme, and therefore do not produce HTTP
272 // status codes. 270 // status codes.
273 bool status_ok = false; 271 bool status_ok = false;
274 status_code_ = url_response_.GetStatusCode(); 272 status_code_ = url_response_.GetStatusCode();
275 switch (url_scheme_) { 273 switch (url_scheme_) {
276 case SCHEME_CHROME_EXTENSION: 274 case SCHEME_CHROME_EXTENSION:
277 PLUGIN_PRINTF(("FileDownloader::InitialResponseIsValid (chrome-extension " 275 PLUGIN_PRINTF(("FileDownloader::InitialResponseIsValid (chrome-extension "
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 url_response_.GetStatusCode() == kExtensionUrlRequestStatusOk); 362 url_response_.GetStatusCode() == kExtensionUrlRequestStatusOk);
365 363
366 // Record the full url from the response. 364 // Record the full url from the response.
367 pp::Var full_url = url_response_.GetURL(); 365 pp::Var full_url = url_response_.GetURL();
368 PLUGIN_PRINTF(("FileDownloader::URLLoadFinishNotify (full_url=%s)\n", 366 PLUGIN_PRINTF(("FileDownloader::URLLoadFinishNotify (full_url=%s)\n",
369 full_url.DebugString().c_str())); 367 full_url.DebugString().c_str()));
370 if (!full_url.is_string()) { 368 if (!full_url.is_string()) {
371 stream_finish_callback_.RunAndClear(PP_ERROR_FAILED); 369 stream_finish_callback_.RunAndClear(PP_ERROR_FAILED);
372 return; 370 return;
373 } 371 }
374 url_ = full_url.AsString(); 372 full_url_ = full_url.AsString();
375 373
376 // The file is now fully downloaded. 374 // The file is now fully downloaded.
377 pp::FileRef file(url_response_.GetBodyAsFileRef()); 375 pp::FileRef file(url_response_.GetBodyAsFileRef());
378 if (file.is_null()) { 376 if (file.is_null()) {
379 PLUGIN_PRINTF(("FileDownloader::URLLoadFinishNotify (file=NULL)\n")); 377 PLUGIN_PRINTF(("FileDownloader::URLLoadFinishNotify (file=NULL)\n"));
380 stream_finish_callback_.RunAndClear(PP_ERROR_FAILED); 378 stream_finish_callback_.RunAndClear(PP_ERROR_FAILED);
381 return; 379 return;
382 } 380 }
383 381
384 // Open the file providing an optional callback. 382 // Open the file providing an optional callback.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 if (pp_error == PP_OK) { 488 if (pp_error == PP_OK) {
491 NaClFileInfo tmp_info = NoFileInfo(); 489 NaClFileInfo tmp_info = NoFileInfo();
492 tmp_info.desc = ConvertFileDescriptor(handle); 490 tmp_info.desc = ConvertFileDescriptor(handle);
493 file_info_.TakeOwnership(&tmp_info); 491 file_info_.TakeOwnership(&tmp_info);
494 } 492 }
495 493
496 stream_finish_callback_.RunAndClear(pp_error); 494 stream_finish_callback_.RunAndClear(pp_error);
497 } 495 }
498 496
499 } // namespace plugin 497 } // namespace plugin
OLDNEW
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/file_downloader.h ('k') | ppapi/native_client/src/trusted/plugin/plugin.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698