Roll src/third_party/WebKit f298044:aa8346d (svn 202628:202629)
[chromium-blink-merge.git] / chrome / browser / download / test_download_shelf.h
bloba6151c5325ef69fdfe147ff31c95908682b6af20
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_DOWNLOAD_TEST_DOWNLOAD_SHELF_H_
6 #define CHROME_BROWSER_DOWNLOAD_TEST_DOWNLOAD_SHELF_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "base/memory/ref_counted.h"
11 #include "chrome/browser/download/download_shelf.h"
12 #include "content/public/browser/download_manager.h"
14 // An implementation of DownloadShelf for testing.
15 class TestDownloadShelf : public DownloadShelf,
16 public content::DownloadManager::Observer {
17 public:
18 TestDownloadShelf();
19 ~TestDownloadShelf() override;
21 // DownloadShelf:
22 bool IsShowing() const override;
23 bool IsClosing() const override;
24 Browser* browser() const override;
26 // Return |true| if a download was added to this shelf.
27 bool did_add_download() const { return did_add_download_; }
29 // Set download_manager_ (and the result of calling GetDownloadManager())
30 void set_download_manager(content::DownloadManager* download_manager);
32 // DownloadManager::Observer implementation.
33 void ManagerGoingDown(content::DownloadManager* manager) override;
35 protected:
36 void DoAddDownload(content::DownloadItem* download) override;
37 void DoShow() override;
38 void DoClose(CloseReason reason) override;
39 base::TimeDelta GetTransientDownloadShowDelay() override;
40 content::DownloadManager* GetDownloadManager() override;
42 private:
43 bool is_showing_;
44 bool did_add_download_;
45 content::DownloadManager* download_manager_;
47 DISALLOW_COPY_AND_ASSIGN(TestDownloadShelf);
50 #endif // CHROME_BROWSER_DOWNLOAD_TEST_DOWNLOAD_SHELF_H_