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

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

Issue 638503002: Replacing the OVERRIDE with override and FINAL with final in content/browser/[download|… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « no previous file | content/browser/download/download_file_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This file contains download browser tests that are known to be runnable 5 // This file contains download browser tests that are known to be runnable
6 // in a pure content context. Over time tests should be migrated here. 6 // in a pure content context. Over time tests should be migrated here.
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 base::WeakPtr<DownloadDestinationObserver> observer, 122 base::WeakPtr<DownloadDestinationObserver> observer,
123 base::WeakPtr<DownloadFileWithDelayFactory> owner); 123 base::WeakPtr<DownloadFileWithDelayFactory> owner);
124 124
125 virtual ~DownloadFileWithDelay(); 125 virtual ~DownloadFileWithDelay();
126 126
127 // Wraps DownloadFileImpl::Rename* and intercepts the return callback, 127 // Wraps DownloadFileImpl::Rename* and intercepts the return callback,
128 // storing it in the factory that produced this object for later 128 // storing it in the factory that produced this object for later
129 // retrieval. 129 // retrieval.
130 virtual void RenameAndUniquify( 130 virtual void RenameAndUniquify(
131 const base::FilePath& full_path, 131 const base::FilePath& full_path,
132 const RenameCompletionCallback& callback) OVERRIDE; 132 const RenameCompletionCallback& callback) override;
133 virtual void RenameAndAnnotate( 133 virtual void RenameAndAnnotate(
134 const base::FilePath& full_path, 134 const base::FilePath& full_path,
135 const RenameCompletionCallback& callback) OVERRIDE; 135 const RenameCompletionCallback& callback) override;
136 136
137 private: 137 private:
138 static void RenameCallbackWrapper( 138 static void RenameCallbackWrapper(
139 const base::WeakPtr<DownloadFileWithDelayFactory>& factory, 139 const base::WeakPtr<DownloadFileWithDelayFactory>& factory,
140 const RenameCompletionCallback& original_callback, 140 const RenameCompletionCallback& original_callback,
141 DownloadInterruptReason reason, 141 DownloadInterruptReason reason,
142 const base::FilePath& path); 142 const base::FilePath& path);
143 143
144 // This variable may only be read on the FILE thread, and may only be 144 // This variable may only be read on the FILE thread, and may only be
145 // indirected through (e.g. methods on DownloadFileWithDelayFactory called) 145 // indirected through (e.g. methods on DownloadFileWithDelayFactory called)
(...skipping 13 matching lines...) Expand all
159 159
160 // DownloadFileFactory interface. 160 // DownloadFileFactory interface.
161 virtual DownloadFile* CreateFile( 161 virtual DownloadFile* CreateFile(
162 scoped_ptr<DownloadSaveInfo> save_info, 162 scoped_ptr<DownloadSaveInfo> save_info,
163 const base::FilePath& default_download_directory, 163 const base::FilePath& default_download_directory,
164 const GURL& url, 164 const GURL& url,
165 const GURL& referrer_url, 165 const GURL& referrer_url,
166 bool calculate_hash, 166 bool calculate_hash,
167 scoped_ptr<ByteStreamReader> stream, 167 scoped_ptr<ByteStreamReader> stream,
168 const net::BoundNetLog& bound_net_log, 168 const net::BoundNetLog& bound_net_log,
169 base::WeakPtr<DownloadDestinationObserver> observer) OVERRIDE; 169 base::WeakPtr<DownloadDestinationObserver> observer) override;
170 170
171 void AddRenameCallback(base::Closure callback); 171 void AddRenameCallback(base::Closure callback);
172 void GetAllRenameCallbacks(std::vector<base::Closure>* results); 172 void GetAllRenameCallbacks(std::vector<base::Closure>* results);
173 173
174 // Do not return until GetAllRenameCallbacks() will return a non-empty list. 174 // Do not return until GetAllRenameCallbacks() will return a non-empty list.
175 void WaitForSomeCallback(); 175 void WaitForSomeCallback();
176 176
177 private: 177 private:
178 base::WeakPtrFactory<DownloadFileWithDelayFactory> weak_ptr_factory_; 178 base::WeakPtrFactory<DownloadFileWithDelayFactory> weak_ptr_factory_;
179 std::vector<base::Closure> rename_callbacks_; 179 std::vector<base::Closure> rename_callbacks_;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 base::WeakPtr<DownloadDestinationObserver> observer) 290 base::WeakPtr<DownloadDestinationObserver> observer)
291 : DownloadFileImpl(save_info.Pass(), default_downloads_directory, 291 : DownloadFileImpl(save_info.Pass(), default_downloads_directory,
292 url, referrer_url, calculate_hash, 292 url, referrer_url, calculate_hash,
293 stream.Pass(), bound_net_log, observer) {} 293 stream.Pass(), bound_net_log, observer) {}
294 294
295 virtual ~CountingDownloadFile() { 295 virtual ~CountingDownloadFile() {
296 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 296 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
297 active_files_--; 297 active_files_--;
298 } 298 }
299 299
300 virtual void Initialize(const InitializeCallback& callback) OVERRIDE { 300 virtual void Initialize(const InitializeCallback& callback) override {
301 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 301 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
302 active_files_++; 302 active_files_++;
303 return DownloadFileImpl::Initialize(callback); 303 return DownloadFileImpl::Initialize(callback);
304 } 304 }
305 305
306 static void GetNumberActiveFiles(int* result) { 306 static void GetNumberActiveFiles(int* result) {
307 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 307 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
308 *result = active_files_; 308 *result = active_files_;
309 } 309 }
310 310
(...skipping 24 matching lines...) Expand all
335 335
336 // DownloadFileFactory interface. 336 // DownloadFileFactory interface.
337 virtual DownloadFile* CreateFile( 337 virtual DownloadFile* CreateFile(
338 scoped_ptr<DownloadSaveInfo> save_info, 338 scoped_ptr<DownloadSaveInfo> save_info,
339 const base::FilePath& default_downloads_directory, 339 const base::FilePath& default_downloads_directory,
340 const GURL& url, 340 const GURL& url,
341 const GURL& referrer_url, 341 const GURL& referrer_url,
342 bool calculate_hash, 342 bool calculate_hash,
343 scoped_ptr<ByteStreamReader> stream, 343 scoped_ptr<ByteStreamReader> stream,
344 const net::BoundNetLog& bound_net_log, 344 const net::BoundNetLog& bound_net_log,
345 base::WeakPtr<DownloadDestinationObserver> observer) OVERRIDE { 345 base::WeakPtr<DownloadDestinationObserver> observer) override {
346 scoped_ptr<PowerSaveBlocker> psb( 346 scoped_ptr<PowerSaveBlocker> psb(
347 PowerSaveBlocker::Create( 347 PowerSaveBlocker::Create(
348 PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, 348 PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension,
349 "Download in progress")); 349 "Download in progress"));
350 return new CountingDownloadFile( 350 return new CountingDownloadFile(
351 save_info.Pass(), default_downloads_directory, url, referrer_url, 351 save_info.Pass(), default_downloads_directory, url, referrer_url,
352 calculate_hash, stream.Pass(), bound_net_log, 352 calculate_hash, stream.Pass(), bound_net_log,
353 psb.Pass(), observer); 353 psb.Pass(), observer);
354 } 354 }
355 }; 355 };
356 356
357 class TestShellDownloadManagerDelegate : public ShellDownloadManagerDelegate { 357 class TestShellDownloadManagerDelegate : public ShellDownloadManagerDelegate {
358 public: 358 public:
359 TestShellDownloadManagerDelegate() 359 TestShellDownloadManagerDelegate()
360 : delay_download_open_(false) {} 360 : delay_download_open_(false) {}
361 virtual ~TestShellDownloadManagerDelegate() {} 361 virtual ~TestShellDownloadManagerDelegate() {}
362 362
363 virtual bool ShouldOpenDownload( 363 virtual bool ShouldOpenDownload(
364 DownloadItem* item, 364 DownloadItem* item,
365 const DownloadOpenDelayedCallback& callback) OVERRIDE { 365 const DownloadOpenDelayedCallback& callback) override {
366 if (delay_download_open_) { 366 if (delay_download_open_) {
367 delayed_callbacks_.push_back(callback); 367 delayed_callbacks_.push_back(callback);
368 return false; 368 return false;
369 } 369 }
370 return true; 370 return true;
371 } 371 }
372 372
373 void SetDelayedOpen(bool delay) { 373 void SetDelayedOpen(bool delay) {
374 delay_download_open_ = delay; 374 delay_download_open_ = delay;
375 } 375 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 EXPECT_EQ(size, record_.size()); 408 EXPECT_EQ(size, record_.size());
409 int min = size > record_.size() ? record_.size() : size; 409 int min = size > record_.size() ? record_.size() : size;
410 for (int i = 0; i < min; ++i) { 410 for (int i = 0; i < min; ++i) {
411 EXPECT_EQ(expected[i].state, record_[i].state) << "Iteration " << i; 411 EXPECT_EQ(expected[i].state, record_[i].state) << "Iteration " << i;
412 EXPECT_EQ(expected[i].bytes_received, record_[i].bytes_received) 412 EXPECT_EQ(expected[i].bytes_received, record_[i].bytes_received)
413 << "Iteration " << i; 413 << "Iteration " << i;
414 } 414 }
415 } 415 }
416 416
417 private: 417 private:
418 virtual void OnDownloadUpdated(DownloadItem* download) OVERRIDE { 418 virtual void OnDownloadUpdated(DownloadItem* download) override {
419 DCHECK_EQ(download_, download); 419 DCHECK_EQ(download_, download);
420 DownloadItem::DownloadState state = download->GetState(); 420 DownloadItem::DownloadState state = download->GetState();
421 int bytes = download->GetReceivedBytes(); 421 int bytes = download->GetReceivedBytes();
422 if (last_state_.state != state || last_state_.bytes_received > bytes) { 422 if (last_state_.state != state || last_state_.bytes_received > bytes) {
423 last_state_.state = state; 423 last_state_.state = state;
424 last_state_.bytes_received = bytes; 424 last_state_.bytes_received = bytes;
425 record_.push_back(last_state_); 425 record_.push_back(last_state_);
426 } 426 }
427 } 427 }
428 428
429 virtual void OnDownloadDestroyed(DownloadItem* download) OVERRIDE { 429 virtual void OnDownloadDestroyed(DownloadItem* download) override {
430 DCHECK_EQ(download_, download); 430 DCHECK_EQ(download_, download);
431 RemoveObserver(); 431 RemoveObserver();
432 } 432 }
433 433
434 void RemoveObserver() { 434 void RemoveObserver() {
435 if (download_) { 435 if (download_) {
436 download_->RemoveObserver(this); 436 download_->RemoveObserver(this);
437 download_ = NULL; 437 download_ = NULL;
438 } 438 }
439 } 439 }
(...skipping 12 matching lines...) Expand all
452 waiting_(false) { 452 waiting_(false) {
453 manager_->AddObserver(this); 453 manager_->AddObserver(this);
454 } 454 }
455 455
456 virtual ~DownloadCreateObserver() { 456 virtual ~DownloadCreateObserver() {
457 if (manager_) 457 if (manager_)
458 manager_->RemoveObserver(this); 458 manager_->RemoveObserver(this);
459 manager_ = NULL; 459 manager_ = NULL;
460 } 460 }
461 461
462 virtual void ManagerGoingDown(DownloadManager* manager) OVERRIDE { 462 virtual void ManagerGoingDown(DownloadManager* manager) override {
463 DCHECK_EQ(manager_, manager); 463 DCHECK_EQ(manager_, manager);
464 manager_->RemoveObserver(this); 464 manager_->RemoveObserver(this);
465 manager_ = NULL; 465 manager_ = NULL;
466 } 466 }
467 467
468 virtual void OnDownloadCreated(DownloadManager* manager, 468 virtual void OnDownloadCreated(DownloadManager* manager,
469 DownloadItem* download) OVERRIDE { 469 DownloadItem* download) override {
470 if (!item_) 470 if (!item_)
471 item_ = download; 471 item_ = download;
472 472
473 if (waiting_) 473 if (waiting_)
474 base::MessageLoopForUI::current()->Quit(); 474 base::MessageLoopForUI::current()->Quit();
475 } 475 }
476 476
477 DownloadItem* WaitForFinished() { 477 DownloadItem* WaitForFinished() {
478 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 478 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
479 if (!item_) { 479 if (!item_) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 // help up by buffering in the underlying downloads ByteStream data 567 // help up by buffering in the underlying downloads ByteStream data
568 // transfer. This is important because on resumption tests we wait 568 // transfer. This is important because on resumption tests we wait
569 // until we've gotten the data we expect before allowing the test server 569 // until we've gotten the data we expect before allowing the test server
570 // to send its reset, to get around hard close semantics on the Windows 570 // to send its reset, to get around hard close semantics on the Windows
571 // socket layer implementation. 571 // socket layer implementation.
572 int GetSafeBufferChunk() const { 572 int GetSafeBufferChunk() const {
573 return (DownloadResourceHandler::kDownloadByteStreamSize / 573 return (DownloadResourceHandler::kDownloadByteStreamSize /
574 ByteStreamWriter::kFractionBufferBeforeSending) + 1; 574 ByteStreamWriter::kFractionBufferBeforeSending) + 1;
575 } 575 }
576 576
577 virtual void SetUpOnMainThread() OVERRIDE { 577 virtual void SetUpOnMainThread() override {
578 ASSERT_TRUE(downloads_directory_.CreateUniqueTempDir()); 578 ASSERT_TRUE(downloads_directory_.CreateUniqueTempDir());
579 579
580 test_delegate_.reset(new TestShellDownloadManagerDelegate()); 580 test_delegate_.reset(new TestShellDownloadManagerDelegate());
581 test_delegate_->SetDownloadBehaviorForTesting(downloads_directory_.path()); 581 test_delegate_->SetDownloadBehaviorForTesting(downloads_directory_.path());
582 DownloadManager* manager = DownloadManagerForShell(shell()); 582 DownloadManager* manager = DownloadManagerForShell(shell());
583 manager->GetDelegate()->Shutdown(); 583 manager->GetDelegate()->Shutdown();
584 manager->SetDelegate(test_delegate_.get()); 584 manager->SetDelegate(test_delegate_.get());
585 test_delegate_->SetDownloadManager(manager); 585 test_delegate_->SetDownloadManager(manager);
586 586
587 BrowserThread::PostTask( 587 BrowserThread::PostTask(
(...skipping 1226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1814 ASSERT_TRUE(test_server.InitializeAndWaitUntilReady()); 1814 ASSERT_TRUE(test_server.InitializeAndWaitUntilReady());
1815 1815
1816 GURL url = test_server.GetURL("/empty.bin"); 1816 GURL url = test_server.GetURL("/empty.bin");
1817 test_server.ServeFilesFromDirectory(GetTestFilePath("download", "")); 1817 test_server.ServeFilesFromDirectory(GetTestFilePath("download", ""));
1818 1818
1819 NavigateToURLAndWaitForDownload(shell(), url, DownloadItem::COMPLETE); 1819 NavigateToURLAndWaitForDownload(shell(), url, DownloadItem::COMPLETE);
1820 // That's it. This should work without crashing. 1820 // That's it. This should work without crashing.
1821 } 1821 }
1822 1822
1823 } // namespace content 1823 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/download/download_file_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698