| 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 1181 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1192 | 1192 | 
| 1193 void SavePackage::GetSavableResourceLinksForFrame(RenderFrameHost* target) { | 1193 void SavePackage::GetSavableResourceLinksForFrame(RenderFrameHost* target) { | 
| 1194   number_of_frames_pending_response_++; | 1194   number_of_frames_pending_response_++; | 
| 1195   target->Send(new FrameMsg_GetSavableResourceLinks(target->GetRoutingID())); | 1195   target->Send(new FrameMsg_GetSavableResourceLinks(target->GetRoutingID())); | 
| 1196 } | 1196 } | 
| 1197 | 1197 | 
| 1198 void SavePackage::OnSavableResourceLinksResponse( | 1198 void SavePackage::OnSavableResourceLinksResponse( | 
| 1199     RenderFrameHostImpl* sender, | 1199     RenderFrameHostImpl* sender, | 
| 1200     const std::vector<GURL>& resources_list, | 1200     const std::vector<GURL>& resources_list, | 
| 1201     const std::vector<Referrer>& referrers_list, | 1201     const std::vector<Referrer>& referrers_list, | 
| 1202     const std::vector<GURL>& subframe_original_urls, | 1202     const std::vector<SavableSubframe>& subframes) { | 
| 1203     const std::vector<int>& subframe_routing_ids) { |  | 
| 1204   if (wait_state_ != RESOURCES_LIST) | 1203   if (wait_state_ != RESOURCES_LIST) | 
| 1205     return; | 1204     return; | 
| 1206 | 1205 | 
| 1207   if ((resources_list.size() != referrers_list.size()) || | 1206   if (resources_list.size() != referrers_list.size()) { | 
| 1208       (subframe_original_urls.size() != subframe_routing_ids.size())) { |  | 
| 1209     // Only reachable if the renderer has a bug or has been compromised. | 1207     // Only reachable if the renderer has a bug or has been compromised. | 
| 1210     NOTREACHED(); | 1208     NOTREACHED(); | 
| 1211     return; | 1209     return; | 
| 1212   } | 1210   } | 
| 1213 | 1211 | 
| 1214   int container_frame_tree_node_id = | 1212   int container_frame_tree_node_id = | 
| 1215       sender->frame_tree_node()->frame_tree_node_id(); | 1213       sender->frame_tree_node()->frame_tree_node_id(); | 
| 1216   for (size_t i = 0; i < resources_list.size(); ++i) { | 1214   for (size_t i = 0; i < resources_list.size(); ++i) { | 
| 1217     EnqueueSavableResource(container_frame_tree_node_id, resources_list[i], | 1215     EnqueueSavableResource(container_frame_tree_node_id, resources_list[i], | 
| 1218                            referrers_list[i]); | 1216                            referrers_list[i]); | 
| 1219   } | 1217   } | 
| 1220   for (size_t i = 0; i < subframe_routing_ids.size(); ++i) { | 1218   for (const SavableSubframe& subframe : subframes) { | 
| 1221     FrameTreeNode* subframe_tree_node = | 1219     FrameTreeNode* subframe_tree_node = | 
| 1222         sender->frame_tree_node()->frame_tree()->FindByRoutingID( | 1220         sender->frame_tree_node()->frame_tree()->FindByRoutingID( | 
| 1223             sender->GetProcess()->GetID(), subframe_routing_ids[i]); | 1221             sender->GetProcess()->GetID(), subframe.routing_id); | 
| 1224 | 1222 | 
| 1225     if (!subframe_tree_node || | 1223     if (!subframe_tree_node || | 
| 1226         subframe_tree_node->parent() != sender->frame_tree_node()) { | 1224         subframe_tree_node->parent() != sender->frame_tree_node()) { | 
| 1227       // Only reachable if the renderer has a bug or has been compromised. | 1225       // Only reachable if the renderer has a bug or has been compromised. | 
| 1228       NOTREACHED(); | 1226       NOTREACHED(); | 
| 1229       continue; | 1227       continue; | 
| 1230     } | 1228     } | 
| 1231 | 1229 | 
| 1232     EnqueueFrame(container_frame_tree_node_id, | 1230     EnqueueFrame(container_frame_tree_node_id, | 
| 1233                  subframe_tree_node->frame_tree_node_id(), | 1231                  subframe_tree_node->frame_tree_node_id(), | 
| 1234                  subframe_original_urls[i]); | 1232                  subframe.original_url); | 
| 1235   } | 1233   } | 
| 1236 | 1234 | 
| 1237   CompleteSavableResourceLinksResponse(); | 1235   CompleteSavableResourceLinksResponse(); | 
| 1238 } | 1236 } | 
| 1239 | 1237 | 
| 1240 SaveItem* SavePackage::FindOrCreatePendingSaveItem( | 1238 SaveItem* SavePackage::FindOrCreatePendingSaveItem( | 
| 1241     int container_frame_tree_node_id, | 1239     int container_frame_tree_node_id, | 
| 1242     const GURL& url, | 1240     const GURL& url, | 
| 1243     const Referrer& referrer, | 1241     const Referrer& referrer, | 
| 1244     SaveFileCreateInfo::SaveFileSource save_source) { | 1242     SaveFileCreateInfo::SaveFileSource save_source) { | 
| (...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1563 | 1561 | 
| 1564 void SavePackage::FinalizeDownloadEntry() { | 1562 void SavePackage::FinalizeDownloadEntry() { | 
| 1565   DCHECK(download_); | 1563   DCHECK(download_); | 
| 1566   DCHECK(download_manager_); | 1564   DCHECK(download_manager_); | 
| 1567 | 1565 | 
| 1568   download_manager_->OnSavePackageSuccessfullyFinished(download_); | 1566   download_manager_->OnSavePackageSuccessfullyFinished(download_); | 
| 1569   StopObservation(); | 1567   StopObservation(); | 
| 1570 } | 1568 } | 
| 1571 | 1569 | 
| 1572 }  // namespace content | 1570 }  // namespace content | 
| OLD | NEW | 
|---|