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

Side by Side Diff: content/browser/download/base_file.cc

Issue 7583049: Record UMA statistics for file_stream operations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed Posix compile error. Created 9 years, 4 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
« no previous file with comments | « no previous file | net/base/file_stream.h » ('j') | net/base/file_stream.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "content/browser/download/base_file.h" 5 #include "content/browser/download/base_file.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/format_macros.h" 8 #include "base/format_macros.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 18 matching lines...) Expand all
29 : full_path_(full_path), 29 : full_path_(full_path),
30 source_url_(source_url), 30 source_url_(source_url),
31 referrer_url_(referrer_url), 31 referrer_url_(referrer_url),
32 file_stream_(file_stream), 32 file_stream_(file_stream),
33 bytes_so_far_(received_bytes), 33 bytes_so_far_(received_bytes),
34 power_save_blocker_(true), 34 power_save_blocker_(true),
35 calculate_hash_(false), 35 calculate_hash_(false),
36 detached_(false) { 36 detached_(false) {
37 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 37 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
38 memset(sha256_hash_, 0, sizeof(sha256_hash_)); 38 memset(sha256_hash_, 0, sizeof(sha256_hash_));
39 if (file_stream_.get())
40 file_stream_->EnableErrorStatistics();
39 } 41 }
40 42
41 BaseFile::~BaseFile() { 43 BaseFile::~BaseFile() {
42 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 44 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
43 if (detached_) 45 if (detached_)
44 Close(); 46 Close();
45 else 47 else
46 Cancel(); // Will delete the file. 48 Cancel(); // Will delete the file.
47 } 49 }
48 50
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 } 198 }
197 199
198 bool BaseFile::Open() { 200 bool BaseFile::Open() {
199 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 201 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
200 DCHECK(!detached_); 202 DCHECK(!detached_);
201 DCHECK(!full_path_.empty()); 203 DCHECK(!full_path_.empty());
202 204
203 // Create a new file stream if it is not provided. 205 // Create a new file stream if it is not provided.
204 if (!file_stream_.get()) { 206 if (!file_stream_.get()) {
205 file_stream_.reset(new net::FileStream); 207 file_stream_.reset(new net::FileStream);
208 file_stream_->EnableErrorStatistics();
206 if (file_stream_->Open(full_path_, 209 if (file_stream_->Open(full_path_,
207 base::PLATFORM_FILE_OPEN_ALWAYS | 210 base::PLATFORM_FILE_OPEN_ALWAYS |
208 base::PLATFORM_FILE_WRITE) != net::OK) { 211 base::PLATFORM_FILE_WRITE) != net::OK) {
209 file_stream_.reset(); 212 file_stream_.reset();
210 return false; 213 return false;
211 } 214 }
212 215
213 // We may be re-opening the file after rename. Always make sure we're 216 // We may be re-opening the file after rename. Always make sure we're
214 // writing at the end of the file. 217 // writing at the end of the file.
215 if (file_stream_->Seek(net::FROM_END, 0) < 0) { 218 if (file_stream_->Seek(net::FROM_END, 0) < 0) {
(...skipping 23 matching lines...) Expand all
239 242
240 std::string BaseFile::DebugString() const { 243 std::string BaseFile::DebugString() const {
241 return base::StringPrintf("{ source_url_ = \"%s\"" 244 return base::StringPrintf("{ source_url_ = \"%s\""
242 " full_path_ = \"%" PRFilePath "\"" 245 " full_path_ = \"%" PRFilePath "\""
243 " bytes_so_far_ = %" PRId64 " detached_ = %c }", 246 " bytes_so_far_ = %" PRId64 " detached_ = %c }",
244 source_url_.spec().c_str(), 247 source_url_.spec().c_str(),
245 full_path_.value().c_str(), 248 full_path_.value().c_str(),
246 bytes_so_far_, 249 bytes_so_far_,
247 detached_ ? 'T' : 'F'); 250 detached_ ? 'T' : 'F');
248 } 251 }
OLDNEW
« no previous file with comments | « no previous file | net/base/file_stream.h » ('j') | net/base/file_stream.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698