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

Side by Side Diff: webkit/browser/blob/blob_url_request_job.cc

Issue 46303005: Fix chrome upload with content uri (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 "webkit/browser/blob/blob_url_request_job.h" 5 #include "webkit/browser/blob/blob_url_request_job.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 10 matching lines...) Expand all
21 #include "net/http/http_response_info.h" 21 #include "net/http/http_response_info.h"
22 #include "net/http/http_util.h" 22 #include "net/http/http_util.h"
23 #include "net/url_request/url_request.h" 23 #include "net/url_request/url_request.h"
24 #include "net/url_request/url_request_context.h" 24 #include "net/url_request/url_request_context.h"
25 #include "net/url_request/url_request_error_job.h" 25 #include "net/url_request/url_request_error_job.h"
26 #include "net/url_request/url_request_status.h" 26 #include "net/url_request/url_request_status.h"
27 #include "webkit/browser/blob/file_stream_reader.h" 27 #include "webkit/browser/blob/file_stream_reader.h"
28 #include "webkit/browser/fileapi/file_system_context.h" 28 #include "webkit/browser/fileapi/file_system_context.h"
29 #include "webkit/browser/fileapi/file_system_url.h" 29 #include "webkit/browser/fileapi/file_system_url.h"
30 30
31 #if defined(OS_ANDROID)
32 #include "webkit/browser/blob/content_url_stream_reader_android.h"
33 #endif
34
31 namespace webkit_blob { 35 namespace webkit_blob {
32 36
33 namespace { 37 namespace {
34 38
35 bool IsFileType(BlobData::Item::Type type) { 39 bool IsFileType(BlobData::Item::Type type) {
36 switch (type) { 40 switch (type) {
37 case BlobData::Item::TYPE_FILE: 41 case BlobData::Item::TYPE_FILE:
38 case BlobData::Item::TYPE_FILE_FILESYSTEM: 42 case BlobData::Item::TYPE_FILE_FILESYSTEM:
43 #if defined(OS_ANDROID)
44 case BlobData::Item::TYPE_CONTENT_URL:
45 #endif
39 return true; 46 return true;
40 default: 47 default:
41 return false; 48 return false;
42 } 49 }
43 } 50 }
44 51
45 } // namespace 52 } // namespace
46 53
47 BlobURLRequestJob::BlobURLRequestJob( 54 BlobURLRequestJob::BlobURLRequestJob(
48 net::URLRequest* request, 55 net::URLRequest* request,
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 item.offset() + additional_offset, 564 item.offset() + additional_offset,
558 item.expected_modification_time()); 565 item.expected_modification_time());
559 break; 566 break;
560 case BlobData::Item::TYPE_FILE_FILESYSTEM: 567 case BlobData::Item::TYPE_FILE_FILESYSTEM:
561 reader = file_system_context_->CreateFileStreamReader( 568 reader = file_system_context_->CreateFileStreamReader(
562 fileapi::FileSystemURL( 569 fileapi::FileSystemURL(
563 file_system_context_->CrackURL(item.filesystem_url())), 570 file_system_context_->CrackURL(item.filesystem_url())),
564 item.offset() + additional_offset, 571 item.offset() + additional_offset,
565 item.expected_modification_time()).release(); 572 item.expected_modification_time()).release();
566 break; 573 break;
574 #if defined(OS_ANDROID)
575 case BlobData::Item::TYPE_CONTENT_URL:
576 reader = FileStreamReader::CreateForContentUrl(
577 file_thread_proxy_.get(),
578 item.content_url(),
579 item.offset() + additional_offset);
580 break;
581 #endif
567 default: 582 default:
568 NOTREACHED(); 583 NOTREACHED();
569 } 584 }
570 DCHECK(reader); 585 DCHECK(reader);
571 index_to_reader_[index] = reader; 586 index_to_reader_[index] = reader;
572 } 587 }
573 588
574 } // namespace webkit_blob 589 } // namespace webkit_blob
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698