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

Side by Side Diff: chrome/browser/chromeos/gdata/drive_protocol_handler.cc

Issue 10701050: net: Implement canceling of all async operations in FileStream. (Closed) Base URL: https://src.chromium.org/chrome/trunk/src/
Patch Set: Update after http://crrev.com/159454 Created 8 years, 2 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
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 "chrome/browser/chromeos/gdata/drive_protocol_handler.h" 5 #include "chrome/browser/chromeos/gdata/drive_protocol_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 }; 72 };
73 73
74 std::string FixupMimeType(const std::string& type) { 74 std::string FixupMimeType(const std::string& type) {
75 for (size_t i = 0; i < arraysize(kMimeTypeReplacements); i++) { 75 for (size_t i = 0; i < arraysize(kMimeTypeReplacements); i++) {
76 if (type == kMimeTypeReplacements[i].original_type) 76 if (type == kMimeTypeReplacements[i].original_type)
77 return kMimeTypeReplacements[i].new_type; 77 return kMimeTypeReplacements[i].new_type;
78 } 78 }
79 return type; 79 return type;
80 } 80 }
81 81
82 // Empty callback for net::FileStream::Close().
83 void EmptyCompletionCallback(int) {
84 }
85
86 // Helper function that reads file size. 82 // Helper function that reads file size.
87 void GetFileSizeOnBlockingPool(const FilePath& file_path, 83 void GetFileSizeOnBlockingPool(const FilePath& file_path,
88 int64* file_size) { 84 int64* file_size) {
89 if (!file_util::GetFileSize(file_path, file_size)) 85 if (!file_util::GetFileSize(file_path, file_size))
90 *file_size = kInvalidFileSize; 86 *file_size = kInvalidFileSize;
91 } 87 }
92 88
93 // Helper function that extracts and unescapes resource_id from drive urls 89 // Helper function that extracts and unescapes resource_id from drive urls
94 // (drive:<resource_id>). 90 // (drive:<resource_id>).
95 bool ParseDriveUrl(const std::string& path, std::string* resource_id) { 91 bool ParseDriveUrl(const std::string& path, std::string* resource_id) {
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 DCHECK_GE(remaining_bytes_, 0); 834 DCHECK_GE(remaining_bytes_, 0);
839 835
840 // Adjust the read buffer. 836 // Adjust the read buffer.
841 read_buf_->DidConsume(bytes_read); 837 read_buf_->DidConsume(bytes_read);
842 DCHECK_GE(read_buf_->BytesRemaining(), 0); 838 DCHECK_GE(read_buf_->BytesRemaining(), 0);
843 } 839 }
844 840
845 void DriveURLRequestJob::CloseFileStream() { 841 void DriveURLRequestJob::CloseFileStream() {
846 if (!stream_.get()) 842 if (!stream_.get())
847 return; 843 return;
848 stream_->Close(base::Bind(&EmptyCompletionCallback));
849 // net::FileStream::Close blocks until stream is closed, so it's safe to
850 // release the pointer here.
851 stream_.reset(NULL); 844 stream_.reset(NULL);
852 } 845 }
853 846
854 void DriveURLRequestJob::NotifySuccess() { 847 void DriveURLRequestJob::NotifySuccess() {
855 HeadersCompleted(kHTTPOk, kHTTPOkText); 848 HeadersCompleted(kHTTPOk, kHTTPOkText);
856 } 849 }
857 850
858 void DriveURLRequestJob::NotifyFailure(int error_code) { 851 void DriveURLRequestJob::NotifyFailure(int error_code) {
859 error_ = true; 852 error_ = true;
860 853
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 DriveProtocolHandler::~DriveProtocolHandler() { 927 DriveProtocolHandler::~DriveProtocolHandler() {
935 } 928 }
936 929
937 net::URLRequestJob* DriveProtocolHandler::MaybeCreateJob( 930 net::URLRequestJob* DriveProtocolHandler::MaybeCreateJob(
938 net::URLRequest* request, net::NetworkDelegate* network_delegate) const { 931 net::URLRequest* request, net::NetworkDelegate* network_delegate) const {
939 DVLOG(1) << "Handling url: " << request->url().spec(); 932 DVLOG(1) << "Handling url: " << request->url().spec();
940 return new DriveURLRequestJob(request, network_delegate); 933 return new DriveURLRequestJob(request, network_delegate);
941 } 934 }
942 935
943 } // namespace gdata 936 } // namespace gdata
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698