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

Side by Side Diff: chrome/browser/download/download_ui_controller.h

Issue 966983002: downloads: clicking "remove" on chrome://downloads should also hide shelf item. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: probably more like this Created 5 years, 9 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_UI_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_UI_CONTROLLER_H_
6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_UI_CONTROLLER_H_ 6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_UI_CONTROLLER_H_
7 7
8 #include <set> 8 #include <set>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "chrome/browser/download/all_download_item_notifier.h" 11 #include "chrome/browser/download/all_download_item_notifier.h"
12 12
13 // This class handles the task of observing a single DownloadManager for 13 // This class handles the task of observing a single DownloadManager for
14 // notifying the UI when a new download should be displayed in the UI. 14 // notifying the UI when a new download should be displayed in the UI.
15 // It invokes the OnNewDownloadReady() method of hte Delegate when the
16 // target path is available for a new download.
17 class DownloadUIController : public AllDownloadItemNotifier::Observer { 15 class DownloadUIController : public AllDownloadItemNotifier::Observer {
18 public: 16 public:
19 // The delegate is responsible for figuring out how to notify the UI. 17 // |manager| is the download manager to observe for new downloads.
20 class Delegate { 18 explicit DownloadUIController(content::DownloadManager* manager);
21 public:
22 virtual ~Delegate();
23
24 // This method is invoked to notify the UI of the new download |item|. Note
25 // that |item| may be in any state by the time this method is invoked.
26 virtual void OnNewDownloadReady(content::DownloadItem* item) = 0;
27 };
28
29 // |manager| is the download manager to observe for new downloads. If
30 // |delegate.get()| is NULL, then the default delegate is constructed.
31 //
32 // On Android the default delegate notifies DownloadControllerAndroid. On
33 // other platforms the target of the notification is a Browser object.
34 //
35 // Currently explicit delegates are only used for testing.
36 DownloadUIController(content::DownloadManager* manager,
37 scoped_ptr<Delegate> delegate);
Dan Beam 2015/02/28 04:46:04 I can do this cleanup separately, but I couldn't f
Dan Beam 2015/02/28 07:10:27 nvm, used in tests. stupid codesearch.
Dan Beam 2015/03/02 18:50:09 restored, ptal
38 19
39 ~DownloadUIController() override; 20 ~DownloadUIController() override;
40 21
41 private: 22 private:
42 void OnDownloadCreated(content::DownloadManager* manager, 23 void OnDownloadCreated(content::DownloadManager* manager,
43 content::DownloadItem* item) override; 24 content::DownloadItem* item) override;
44 void OnDownloadUpdated(content::DownloadManager* manager, 25 void OnDownloadUpdated(content::DownloadManager* manager,
45 content::DownloadItem* item) override; 26 content::DownloadItem* item) override;
46 27
47 AllDownloadItemNotifier download_notifier_; 28 AllDownloadItemNotifier download_notifier_;
48 29
49 scoped_ptr<Delegate> delegate_;
50
51 DISALLOW_COPY_AND_ASSIGN(DownloadUIController); 30 DISALLOW_COPY_AND_ASSIGN(DownloadUIController);
52 }; 31 };
53 32
54 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_UI_CONTROLLER_H_ 33 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_UI_CONTROLLER_H_
OLDNEW
« no previous file with comments | « chrome/browser/download/download_service.cc ('k') | chrome/browser/download/download_ui_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698