| 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 #include "content/browser/download/save_package.h" | 5 #include "content/browser/download/save_package.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" | 
| (...skipping 1194 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1205 | 1205 | 
| 1206 void SavePackage::GetSavableResourceLinksForFrame(RenderFrameHost* target) { | 1206 void SavePackage::GetSavableResourceLinksForFrame(RenderFrameHost* target) { | 
| 1207   number_of_frames_pending_response_++; | 1207   number_of_frames_pending_response_++; | 
| 1208   target->Send(new FrameMsg_GetSavableResourceLinks(target->GetRoutingID())); | 1208   target->Send(new FrameMsg_GetSavableResourceLinks(target->GetRoutingID())); | 
| 1209 } | 1209 } | 
| 1210 | 1210 | 
| 1211 void SavePackage::OnSavableResourceLinksResponse( | 1211 void SavePackage::OnSavableResourceLinksResponse( | 
| 1212     RenderFrameHostImpl* sender, | 1212     RenderFrameHostImpl* sender, | 
| 1213     const std::vector<GURL>& resources_list, | 1213     const std::vector<GURL>& resources_list, | 
| 1214     const Referrer& referrer, | 1214     const Referrer& referrer, | 
| 1215     const std::vector<GURL>& subframe_original_urls, | 1215     const std::vector<SavableSubframe>& subframes) { | 
| 1216     const std::vector<int>& subframe_routing_ids) { |  | 
| 1217   if (wait_state_ != RESOURCES_LIST) | 1216   if (wait_state_ != RESOURCES_LIST) | 
| 1218     return; | 1217     return; | 
| 1219 | 1218 | 
| 1220   if (subframe_original_urls.size() != subframe_routing_ids.size()) { |  | 
| 1221     // Only reachable if the renderer has a bug or has been compromised. |  | 
| 1222     NOTREACHED(); |  | 
| 1223     return; |  | 
| 1224   } |  | 
| 1225 |  | 
| 1226   // Add all sub-resources to wait list. | 1219   // Add all sub-resources to wait list. | 
| 1227   int container_frame_tree_node_id = | 1220   int container_frame_tree_node_id = | 
| 1228       sender->frame_tree_node()->frame_tree_node_id(); | 1221       sender->frame_tree_node()->frame_tree_node_id(); | 
| 1229   for (const GURL& u : resources_list) { | 1222   for (const GURL& u : resources_list) { | 
| 1230     EnqueueSavableResource(container_frame_tree_node_id, u, referrer); | 1223     EnqueueSavableResource(container_frame_tree_node_id, u, referrer); | 
| 1231   } | 1224   } | 
| 1232   for (size_t i = 0; i < subframe_routing_ids.size(); ++i) { | 1225   for (const SavableSubframe& subframe : subframes) { | 
| 1233     FrameTreeNode* subframe_tree_node = | 1226     FrameTreeNode* subframe_tree_node = | 
| 1234         sender->frame_tree_node()->frame_tree()->FindByRoutingID( | 1227         sender->frame_tree_node()->frame_tree()->FindByRoutingID( | 
| 1235             sender->GetProcess()->GetID(), subframe_routing_ids[i]); | 1228             sender->GetProcess()->GetID(), subframe.routing_id); | 
| 1236 | 1229 | 
| 1237     if (!subframe_tree_node || | 1230     if (!subframe_tree_node || | 
| 1238         subframe_tree_node->parent() != sender->frame_tree_node()) { | 1231         subframe_tree_node->parent() != sender->frame_tree_node()) { | 
| 1239       // Only reachable if the renderer has a bug or has been compromised. | 1232       // Only reachable if the renderer has a bug or has been compromised. | 
| 1240       NOTREACHED(); | 1233       NOTREACHED(); | 
| 1241       continue; | 1234       continue; | 
| 1242     } | 1235     } | 
| 1243 | 1236 | 
| 1244     EnqueueFrame(container_frame_tree_node_id, | 1237     EnqueueFrame(container_frame_tree_node_id, | 
| 1245                  subframe_tree_node->frame_tree_node_id(), | 1238                  subframe_tree_node->frame_tree_node_id(), | 
| 1246                  subframe_original_urls[i]); | 1239                  subframe.original_url); | 
| 1247   } | 1240   } | 
| 1248 | 1241 | 
| 1249   CompleteSavableResourceLinksResponse(); | 1242   CompleteSavableResourceLinksResponse(); | 
| 1250 } | 1243 } | 
| 1251 | 1244 | 
| 1252 SaveItem* SavePackage::FindOrCreatePendingSaveItem( | 1245 SaveItem* SavePackage::FindOrCreatePendingSaveItem( | 
| 1253     int container_frame_tree_node_id, | 1246     int container_frame_tree_node_id, | 
| 1254     const GURL& url, | 1247     const GURL& url, | 
| 1255     const Referrer& referrer, | 1248     const Referrer& referrer, | 
| 1256     SaveFileCreateInfo::SaveFileSource save_source) { | 1249     SaveFileCreateInfo::SaveFileSource save_source) { | 
| (...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1575 | 1568 | 
| 1576 void SavePackage::FinalizeDownloadEntry() { | 1569 void SavePackage::FinalizeDownloadEntry() { | 
| 1577   DCHECK(download_); | 1570   DCHECK(download_); | 
| 1578   DCHECK(download_manager_); | 1571   DCHECK(download_manager_); | 
| 1579 | 1572 | 
| 1580   download_manager_->OnSavePackageSuccessfullyFinished(download_); | 1573   download_manager_->OnSavePackageSuccessfullyFinished(download_); | 
| 1581   StopObservation(); | 1574   StopObservation(); | 
| 1582 } | 1575 } | 
| 1583 | 1576 | 
| 1584 }  // namespace content | 1577 }  // namespace content | 
| OLD | NEW | 
|---|