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 CONTENT_BROWSER_DOWNLOAD_SAVE_PACKAGE_H_ | 5 #ifndef CONTENT_BROWSER_DOWNLOAD_SAVE_PACKAGE_H_ |
6 #define CONTENT_BROWSER_DOWNLOAD_SAVE_PACKAGE_H_ | 6 #define CONTENT_BROWSER_DOWNLOAD_SAVE_PACKAGE_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 // Notes from Init() above applies here as well. | 140 // Notes from Init() above applies here as well. |
141 void InternalInit(); | 141 void InternalInit(); |
142 | 142 |
143 void Stop(); | 143 void Stop(); |
144 void CheckFinish(); | 144 void CheckFinish(); |
145 void SaveNextFile(bool process_all_remainder_items); | 145 void SaveNextFile(bool process_all_remainder_items); |
146 void DoSavingProcess(); | 146 void DoSavingProcess(); |
147 | 147 |
148 // WebContentsObserver implementation. | 148 // WebContentsObserver implementation. |
149 bool OnMessageReceived(const IPC::Message& message) override; | 149 bool OnMessageReceived(const IPC::Message& message) override; |
| 150 bool OnMessageReceived(const IPC::Message& message, |
| 151 RenderFrameHost* render_frame_host) override; |
150 | 152 |
151 // DownloadItem::Observer implementation. | 153 // DownloadItem::Observer implementation. |
152 void OnDownloadDestroyed(DownloadItem* download) override; | 154 void OnDownloadDestroyed(DownloadItem* download) override; |
153 | 155 |
154 // Update the download history of this item upon completion. | 156 // Update the download history of this item upon completion. |
155 void FinalizeDownloadEntry(); | 157 void FinalizeDownloadEntry(); |
156 | 158 |
157 // Detach from DownloadManager. | 159 // Detach from DownloadManager. |
158 void StopObservation(); | 160 void StopObservation(); |
159 | 161 |
(...skipping 10 matching lines...) Expand all Loading... |
170 base::FilePath::StringType* pure_file_name); | 172 base::FilePath::StringType* pure_file_name); |
171 | 173 |
172 // Create a file name based on the response from the server. | 174 // Create a file name based on the response from the server. |
173 bool GenerateFileName(const std::string& disposition, | 175 bool GenerateFileName(const std::string& disposition, |
174 const GURL& url, | 176 const GURL& url, |
175 bool need_html_ext, | 177 bool need_html_ext, |
176 base::FilePath::StringType* generated_name); | 178 base::FilePath::StringType* generated_name); |
177 | 179 |
178 // Get all savable resource links from current web page, include main | 180 // Get all savable resource links from current web page, include main |
179 // frame and sub-frame. | 181 // frame and sub-frame. |
180 void GetAllSavableResourceLinksForCurrentPage(); | 182 void GetSavableResourceLinksForCurrentPage(); |
| 183 void GetSavableResourceLinksForFrame(RenderFrameHost*); |
| 184 void OnReceivedNonSavableFrameIndication(RenderFrameHost* render_frame_host); |
| 185 void OnReceivedSavableResourceLinksForFrame( |
| 186 RenderFrameHost* render_frame_host, |
| 187 const std::vector<GURL>& resources_list, |
| 188 const std::vector<Referrer>& referrers_list); |
| 189 void CompleteSavableResourceLinksResponseFromFrame(); |
| 190 std::set<GURL> unique_urls_to_save_; // Used to de-dupe urls. |
| 191 int number_of_frames_with_pending_get_savable_resource_links_; |
| 192 |
181 // Get html data by serializing all frames of current page with lists | 193 // Get html data by serializing all frames of current page with lists |
182 // which contain all resource links that have local copy. | 194 // which contain all resource links that have local copy. |
183 void GetSerializedHtmlDataForCurrentPageWithLocalLinks(); | 195 void GetSerializedHtmlDataForCurrentPageWithLocalLinks(); |
184 | 196 |
185 // Look up SaveItem by save id from in progress map. | 197 // Look up SaveItem by save id from in progress map. |
186 SaveItem* LookupItemInProcessBySaveId(int32 save_id); | 198 SaveItem* LookupItemInProcessBySaveId(int32 save_id); |
187 | 199 |
188 // Remove SaveItem from in progress map and put it to saved map. | 200 // Remove SaveItem from in progress map and put it to saved map. |
189 void PutInProgressItemToSavedMap(SaveItem* save_item); | 201 void PutInProgressItemToSavedMap(SaveItem* save_item); |
190 | 202 |
191 // Retrieves the URL to be saved from the WebContents. | 203 // Retrieves the URL to be saved from the WebContents. |
192 GURL GetUrlToBeSaved(); | 204 GURL GetUrlToBeSaved(); |
193 | 205 |
194 void CreateDirectoryOnFileThread(const base::FilePath& website_save_dir, | 206 void CreateDirectoryOnFileThread(const base::FilePath& website_save_dir, |
195 const base::FilePath& download_save_dir, | 207 const base::FilePath& download_save_dir, |
196 bool skip_dir_check, | 208 bool skip_dir_check, |
197 const std::string& mime_type, | 209 const std::string& mime_type, |
198 const std::string& accept_langs); | 210 const std::string& accept_langs); |
199 void ContinueGetSaveInfo(const base::FilePath& suggested_path, | 211 void ContinueGetSaveInfo(const base::FilePath& suggested_path, |
200 bool can_save_as_complete); | 212 bool can_save_as_complete); |
201 void OnPathPicked( | 213 void OnPathPicked( |
202 const base::FilePath& final_name, | 214 const base::FilePath& final_name, |
203 SavePageType type, | 215 SavePageType type, |
204 const SavePackageDownloadCreatedCallback& cb); | 216 const SavePackageDownloadCreatedCallback& cb); |
205 void OnReceivedSavableResourceLinksForCurrentPage( | |
206 const std::vector<GURL>& resources_list, | |
207 const std::vector<Referrer>& referrers_list, | |
208 const std::vector<GURL>& frames_list); | |
209 | 217 |
210 void OnReceivedSerializedHtmlData(const GURL& frame_url, | 218 void OnReceivedSerializedHtmlData(const GURL& frame_url, |
211 const std::string& data, | 219 const std::string& data, |
212 int32 status); | 220 int32 status); |
213 | 221 |
214 typedef base::hash_map<std::string, SaveItem*> SaveUrlItemMap; | 222 typedef base::hash_map<std::string, SaveItem*> SaveUrlItemMap; |
215 // in_progress_items_ is map of all saving job in in-progress state. | 223 // in_progress_items_ is map of all saving job in in-progress state. |
216 SaveUrlItemMap in_progress_items_; | 224 SaveUrlItemMap in_progress_items_; |
217 // saved_failed_items_ is map of all saving job which are failed. | 225 // saved_failed_items_ is map of all saving job which are failed. |
218 SaveUrlItemMap saved_failed_items_; | 226 SaveUrlItemMap saved_failed_items_; |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 friend class SavePackageTest; | 339 friend class SavePackageTest; |
332 FRIEND_TEST_ALL_PREFIXES(SavePackageTest, TestSuggestedSaveNames); | 340 FRIEND_TEST_ALL_PREFIXES(SavePackageTest, TestSuggestedSaveNames); |
333 FRIEND_TEST_ALL_PREFIXES(SavePackageTest, TestLongSafePureFilename); | 341 FRIEND_TEST_ALL_PREFIXES(SavePackageTest, TestLongSafePureFilename); |
334 | 342 |
335 DISALLOW_COPY_AND_ASSIGN(SavePackage); | 343 DISALLOW_COPY_AND_ASSIGN(SavePackage); |
336 }; | 344 }; |
337 | 345 |
338 } // namespace content | 346 } // namespace content |
339 | 347 |
340 #endif // CONTENT_BROWSER_DOWNLOAD_SAVE_PACKAGE_H_ | 348 #endif // CONTENT_BROWSER_DOWNLOAD_SAVE_PACKAGE_H_ |
OLD | NEW |