| OLD | NEW |
| 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 | 89 |
| 90 // Callback for the "openDownloadsFolder" message - opens the downloads | 90 // Callback for the "openDownloadsFolder" message - opens the downloads |
| 91 // folder. | 91 // folder. |
| 92 void HandleOpenDownloadsFolder(const base::ListValue* args); | 92 void HandleOpenDownloadsFolder(const base::ListValue* args); |
| 93 | 93 |
| 94 protected: | 94 protected: |
| 95 // 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 |
| 96 // depend on WebUI. The other methods that depend on WebUI are | 96 // depend on WebUI. The other methods that depend on WebUI are |
| 97 // RegisterMessages() and HandleDrag(). | 97 // RegisterMessages() and HandleDrag(). |
| 98 virtual content::WebContents* GetWebUIWebContents(); | 98 virtual content::WebContents* GetWebUIWebContents(); |
| 99 virtual void CallDownloadsList(const base::ListValue& downloads); | 99 virtual void CallUpdateAll(const base::ListValue& list); |
| 100 virtual void CallDownloadUpdated(const base::ListValue& download); | 100 virtual void CallUpdateItem(const base::DictionaryValue& item); |
| 101 | 101 |
| 102 // Schedules a call to SendCurrentDownloads() in the next message loop | 102 // Schedules a call to SendCurrentDownloads() in the next message loop |
| 103 // iteration. Protected rather than private for use in tests. | 103 // iteration. Protected rather than private for use in tests. |
| 104 void ScheduleSendCurrentDownloads(); | 104 void ScheduleSendCurrentDownloads(); |
| 105 | 105 |
| 106 // Protected for testing. | 106 // Protected for testing. |
| 107 virtual content::DownloadManager* GetMainNotifierManager(); | 107 virtual content::DownloadManager* GetMainNotifierManager(); |
| 108 | 108 |
| 109 // Actually remove downloads with an ID in |removals_|. This cannot be undone. | 109 // Actually remove downloads with an ID in |removals_|. This cannot be undone. |
| 110 void FinalizeRemovals(); | 110 void FinalizeRemovals(); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 // If |main_notifier_| observes an incognito profile, then this observes the | 151 // If |main_notifier_| observes an incognito profile, then this observes the |
| 152 // DownloadManager for the original profile; otherwise, this is NULL. | 152 // DownloadManager for the original profile; otherwise, this is NULL. |
| 153 scoped_ptr<AllDownloadItemNotifier> original_notifier_; | 153 scoped_ptr<AllDownloadItemNotifier> original_notifier_; |
| 154 | 154 |
| 155 // IDs of downloads to remove when this handler gets deleted. | 155 // IDs of downloads to remove when this handler gets deleted. |
| 156 std::vector<std::set<uint32>> removals_; | 156 std::vector<std::set<uint32>> removals_; |
| 157 | 157 |
| 158 // Whether a call to SendCurrentDownloads() is currently scheduled. | 158 // Whether a call to SendCurrentDownloads() is currently scheduled. |
| 159 bool update_scheduled_; | 159 bool update_scheduled_; |
| 160 | 160 |
| 161 // IDs of new downloads that the page doesn't know about yet. |
| 162 std::set<uint32> new_downloads_; |
| 163 |
| 161 base::WeakPtrFactory<DownloadsDOMHandler> weak_ptr_factory_; | 164 base::WeakPtrFactory<DownloadsDOMHandler> weak_ptr_factory_; |
| 162 | 165 |
| 163 DISALLOW_COPY_AND_ASSIGN(DownloadsDOMHandler); | 166 DISALLOW_COPY_AND_ASSIGN(DownloadsDOMHandler); |
| 164 }; | 167 }; |
| 165 | 168 |
| 166 #endif // CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_ | 169 #endif // CHROME_BROWSER_UI_WEBUI_DOWNLOADS_DOM_HANDLER_H_ |
| OLD | NEW |