| OLD | NEW |
| 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 "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/pickle.h" | 10 #include "base/pickle.h" |
| (...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 | 448 |
| 449 return std::string(reinterpret_cast<const char*>(hash_state.data()), | 449 return std::string(reinterpret_cast<const char*>(hash_state.data()), |
| 450 hash_state.size()); | 450 hash_state.size()); |
| 451 } | 451 } |
| 452 | 452 |
| 453 bool BaseFile::SetHashState(const std::string& hash_state_bytes) { | 453 bool BaseFile::SetHashState(const std::string& hash_state_bytes) { |
| 454 if (!calculate_hash_) | 454 if (!calculate_hash_) |
| 455 return false; | 455 return false; |
| 456 | 456 |
| 457 Pickle hash_state(hash_state_bytes.c_str(), hash_state_bytes.size()); | 457 Pickle hash_state(hash_state_bytes.c_str(), hash_state_bytes.size()); |
| 458 void* data_iterator = NULL; | 458 PickleIterator data_iterator(hash_state); |
| 459 | 459 |
| 460 return secure_hash_->Deserialize(&data_iterator, &hash_state); | 460 return secure_hash_->Deserialize(&data_iterator); |
| 461 } | 461 } |
| 462 | 462 |
| 463 bool BaseFile::IsEmptyHash(const std::string& hash) { | 463 bool BaseFile::IsEmptyHash(const std::string& hash) { |
| 464 return (hash.size() == kSha256HashLen && | 464 return (hash.size() == kSha256HashLen && |
| 465 0 == memcmp(hash.data(), kEmptySha256Hash, sizeof(kSha256HashLen))); | 465 0 == memcmp(hash.data(), kEmptySha256Hash, sizeof(kSha256HashLen))); |
| 466 } | 466 } |
| 467 | 467 |
| 468 void BaseFile::AnnotateWithSourceInformation() { | 468 void BaseFile::AnnotateWithSourceInformation() { |
| 469 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); | 469 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| 470 DCHECK(!detached_); | 470 DCHECK(!detached_); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 int64 BaseFile::CurrentSpeedAtTime(base::TimeTicks current_time) const { | 562 int64 BaseFile::CurrentSpeedAtTime(base::TimeTicks current_time) const { |
| 563 base::TimeDelta diff = current_time - start_tick_; | 563 base::TimeDelta diff = current_time - start_tick_; |
| 564 int64 diff_ms = diff.InMilliseconds(); | 564 int64 diff_ms = diff.InMilliseconds(); |
| 565 return diff_ms == 0 ? 0 : bytes_so_far() * 1000 / diff_ms; | 565 return diff_ms == 0 ? 0 : bytes_so_far() * 1000 / diff_ms; |
| 566 } | 566 } |
| 567 | 567 |
| 568 int64 BaseFile::CurrentSpeed() const { | 568 int64 BaseFile::CurrentSpeed() const { |
| 569 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); | 569 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| 570 return CurrentSpeedAtTime(base::TimeTicks::Now()); | 570 return CurrentSpeedAtTime(base::TimeTicks::Now()); |
| 571 } | 571 } |
| OLD | NEW |