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
{
19 ~TestDownloadShelf() override
;
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
;
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
;
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_