| Index: content/browser/download/download_manager_impl_unittest.cc
|
| diff --git a/content/browser/download/download_manager_impl_unittest.cc b/content/browser/download/download_manager_impl_unittest.cc
|
| index abafb1406cb0bf2f8aef695e84efa26c03c74443..838d065817faf97a74a204f5fb2014f393cfccd6 100644
|
| --- a/content/browser/download/download_manager_impl_unittest.cc
|
| +++ b/content/browser/download/download_manager_impl_unittest.cc
|
| @@ -15,7 +15,6 @@
|
| #include "base/string_util.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "build/build_config.h"
|
| -#include "content/browser/download/download_buffer.h"
|
| #include "content/browser/download/download_create_info.h"
|
| #include "content/browser/download/download_file_impl.h"
|
| #include "content/browser/download/download_file_manager.h"
|
| @@ -217,8 +216,7 @@ class DownloadManagerTest : public testing::Test {
|
| download_manager_(new DownloadManagerImpl(
|
| download_manager_delegate_.get(), NULL)),
|
| ui_thread_(BrowserThread::UI, &message_loop_),
|
| - file_thread_(BrowserThread::FILE, &message_loop_),
|
| - download_buffer_(new content::DownloadBuffer) {
|
| + file_thread_(BrowserThread::FILE, &message_loop_) {
|
| download_manager_->Init(browser_context.get());
|
| download_manager_delegate_->set_download_manager(download_manager_);
|
| }
|
| @@ -257,23 +255,6 @@ class DownloadManagerTest : public testing::Test {
|
| download_manager_->ContinueDownloadWithPath(download, path);
|
| }
|
|
|
| - void UpdateData(int32 id, const char* data, size_t length) {
|
| - // We are passing ownership of this buffer to the download file manager.
|
| - net::IOBuffer* io_buffer = new net::IOBuffer(length);
|
| - // We need |AddRef()| because we do a |Release()| in |UpdateDownload()|.
|
| - io_buffer->AddRef();
|
| - memcpy(io_buffer->data(), data, length);
|
| -
|
| - download_buffer_->AddData(io_buffer, length);
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(&DownloadFileManager::UpdateDownload, file_manager_.get(),
|
| - DownloadId(kValidIdDomain, id), download_buffer_));
|
| -
|
| - message_loop_.RunAllPending();
|
| - }
|
| -
|
| void OnDownloadInterrupted(int32 download_id, int64 size,
|
| const std::string& hash_state,
|
| content::DownloadInterruptReason reason) {
|
| @@ -294,7 +275,6 @@ class DownloadManagerTest : public testing::Test {
|
| MessageLoopForUI message_loop_;
|
| content::TestBrowserThread ui_thread_;
|
| content::TestBrowserThread file_thread_;
|
| - scoped_refptr<content::DownloadBuffer> download_buffer_;
|
|
|
| DownloadFileManager* file_manager() {
|
| if (!file_manager_) {
|
| @@ -999,6 +979,14 @@ TEST_F(DownloadManagerTest, DownloadInterruptTest) {
|
| EXPECT_EQ(download->GetTotalBytes(), static_cast<int64>(kTestDataLen));
|
| }
|
|
|
| +void WriteCopyToPipe(scoped_refptr<content::ByteStream> pipe,
|
| + const char *source,
|
| + size_t len) {
|
| + scoped_refptr<net::IOBuffer> copy(new net::IOBuffer(len));
|
| + memcpy(copy.get()->data(), source, len);
|
| + pipe->AddData(copy, len);
|
| +}
|
| +
|
| // Test the behavior of DownloadFileManager and DownloadManager in the event
|
| // of a file error while writing the download to disk.
|
| TEST_F(DownloadManagerTest, MAYBE_DownloadFileErrorTest) {
|
| @@ -1023,14 +1011,14 @@ TEST_F(DownloadManagerTest, MAYBE_DownloadFileErrorTest) {
|
| info->total_bytes = static_cast<int64>(kTestDataLen * 3);
|
| info->save_info.file_path = path;
|
| info->save_info.file_stream.reset(stream);
|
| + scoped_refptr<content::ByteStream> data_pipe(new content::ByteStream);
|
| + info->pipe = data_pipe;
|
|
|
| // Create a download file that we can insert errors into.
|
| - DownloadFileWithErrors* download_file(new DownloadFileWithErrors(
|
| + scoped_ptr<DownloadFileWithErrors> download_file(new DownloadFileWithErrors(
|
| info.get(), download_manager_, false));
|
| download_file->Initialize();
|
| - AddDownloadToFileManager(local_id, download_file);
|
|
|
| - // |download_file| is owned by DownloadFileManager.
|
| download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
|
|
|
| DownloadItem* download = GetActiveDownloadItem(0);
|
| @@ -1040,7 +1028,7 @@ TEST_F(DownloadManagerTest, MAYBE_DownloadFileErrorTest) {
|
| scoped_ptr<ItemObserver> observer(new ItemObserver(download));
|
|
|
| // Add some data before finalizing the file name.
|
| - UpdateData(local_id, kTestData, kTestDataLen);
|
| + WriteCopyToPipe(data_pipe, kTestData, kTestDataLen);
|
|
|
| // Finalize the file name.
|
| ContinueDownloadWithPath(download, path);
|
| @@ -1048,11 +1036,11 @@ TEST_F(DownloadManagerTest, MAYBE_DownloadFileErrorTest) {
|
| EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
|
|
|
| // Add more data.
|
| - UpdateData(local_id, kTestData, kTestDataLen);
|
| + WriteCopyToPipe(data_pipe, kTestData, kTestDataLen);
|
|
|
| // Add more data, but an error occurs.
|
| download_file->set_forced_error(net::ERR_FAILED);
|
| - UpdateData(local_id, kTestData, kTestDataLen);
|
| + WriteCopyToPipe(data_pipe, kTestData, kTestDataLen);
|
|
|
| // Check the state. The download should have been interrupted.
|
| EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
|
|
|