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

Side by Side Diff: chrome/browser/ui/webui/downloads_dom_handler.h

Issue 722953002: downloads: add the ability to undo download removal. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment Created 6 years, 1 month 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 (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 #ifndef CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_ 6 #define CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_
7 7
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 // Callback for the "cancel" message - cancels the download. 81 // Callback for the "cancel" message - cancels the download.
82 void HandleCancel(const base::ListValue* args); 82 void HandleCancel(const base::ListValue* args);
83 83
84 // Callback for the "clearAll" message - clears all the downloads. 84 // Callback for the "clearAll" message - clears all the downloads.
85 void HandleClearAll(const base::ListValue* args); 85 void HandleClearAll(const base::ListValue* args);
86 86
87 // Callback for the "openDownloadsFolder" message - opens the downloads 87 // Callback for the "openDownloadsFolder" message - opens the downloads
88 // folder. 88 // folder.
89 void HandleOpenDownloadsFolder(const base::ListValue* args); 89 void HandleOpenDownloadsFolder(const base::ListValue* args);
90 90
91 // Callback for the "undoRemove" message. Undoes any previous removal.
92 void HandleUndoRemove(const base::ListValue* args);
93
91 protected: 94 protected:
92 // These methods are for mocking so that most of this class does not actually 95 // These methods are for mocking so that most of this class does not actually
93 // depend on WebUI. The other methods that depend on WebUI are 96 // depend on WebUI. The other methods that depend on WebUI are
94 // RegisterMessages() and HandleDrag(). 97 // RegisterMessages() and HandleDrag().
95 virtual content::WebContents* GetWebUIWebContents(); 98 virtual content::WebContents* GetWebUIWebContents();
96 virtual void CallDownloadsList(const base::ListValue& downloads); 99 virtual void CallDownloadsList(const base::ListValue& downloads);
97 virtual void CallDownloadUpdated(const base::ListValue& download); 100 virtual void CallDownloadUpdated(const base::ListValue& download);
98 101
99 // Schedules a call to SendCurrentDownloads() in the next message loop 102 // Schedules a call to SendCurrentDownloads() in the next message loop
100 // iteration. Protected rather than private for use in tests. 103 // iteration. Protected rather than private for use in tests.
(...skipping 16 matching lines...) Expand all
117 void ShowDangerPrompt(content::DownloadItem* dangerous); 120 void ShowDangerPrompt(content::DownloadItem* dangerous);
118 121
119 // Conveys danger acceptance from the DownloadDangerPrompt to the 122 // Conveys danger acceptance from the DownloadDangerPrompt to the
120 // DownloadItem. 123 // DownloadItem.
121 void DangerPromptDone(int download_id, DownloadDangerPrompt::Action action); 124 void DangerPromptDone(int download_id, DownloadDangerPrompt::Action action);
122 125
123 // Returns true if the records of any downloaded items are allowed (and able) 126 // Returns true if the records of any downloaded items are allowed (and able)
124 // to be deleted. 127 // to be deleted.
125 bool IsDeletingHistoryAllowed(); 128 bool IsDeletingHistoryAllowed();
126 129
130 // Returns the download with ID of |download_id|.
131 content::DownloadItem* GetDownloadById(uint32 download_id);
132
127 // Returns the download that is referred to in a given value. 133 // Returns the download that is referred to in a given value.
128 content::DownloadItem* GetDownloadByValue(const base::ListValue* args); 134 content::DownloadItem* GetDownloadByValue(const base::ListValue* args);
129 135
130 // Current search terms. 136 // Current search terms.
131 scoped_ptr<base::ListValue> search_terms_; 137 scoped_ptr<base::ListValue> search_terms_;
132 138
133 // Notifies OnDownload*() and provides safe access to the DownloadManager. 139 // Notifies OnDownload*() and provides safe access to the DownloadManager.
134 AllDownloadItemNotifier main_notifier_; 140 AllDownloadItemNotifier main_notifier_;
135 141
136 // If |main_notifier_| observes an incognito profile, then this observes the 142 // If |main_notifier_| observes an incognito profile, then this observes the
137 // DownloadManager for the original profile; otherwise, this is NULL. 143 // DownloadManager for the original profile; otherwise, this is NULL.
138 scoped_ptr<AllDownloadItemNotifier> original_notifier_; 144 scoped_ptr<AllDownloadItemNotifier> original_notifier_;
139 145
140 // Whether a call to SendCurrentDownloads() is currently scheduled. 146 // Whether a call to SendCurrentDownloads() is currently scheduled.
141 bool update_scheduled_; 147 bool update_scheduled_;
142 148
149 // IDs of downloads that have been removed from this page. These IDs are
150 // purged and the downloads are actually removed on destruction.
151 std::vector<uint32> removed_ids_;
152
143 base::WeakPtrFactory<DownloadsDOMHandler> weak_ptr_factory_; 153 base::WeakPtrFactory<DownloadsDOMHandler> weak_ptr_factory_;
144 154
145 DISALLOW_COPY_AND_ASSIGN(DownloadsDOMHandler); 155 DISALLOW_COPY_AND_ASSIGN(DownloadsDOMHandler);
146 }; 156 };
147 157
148 #endif // CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_ 158 #endif // CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698