Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 11aee9851407c8114a8d29859590bd77e3434991..9a0a4efc8ecbb8251b4b6877a3fde7cc553090eb 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -102,6 +102,7 @@ |
| #include "content/renderer/render_widget_fullscreen_pepper.h" |
| #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
| #include "content/renderer/renderer_webcolorchooser_impl.h" |
| +#include "content/renderer/savable_resources.h" |
| #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
| #include "content/renderer/shared_worker_repository.h" |
| #include "content/renderer/skia_benchmarking_extension.h" |
| @@ -1121,6 +1122,8 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
| OnTextTrackSettingsChanged) |
| IPC_MESSAGE_HANDLER(FrameMsg_PostMessageEvent, OnPostMessageEvent) |
| IPC_MESSAGE_HANDLER(FrameMsg_FailedNavigation, OnFailedNavigation) |
| + IPC_MESSAGE_HANDLER(FrameMsg_GetSavableResourceLinks, |
| + OnGetSavableResourceLinks) |
| #if defined(OS_ANDROID) |
| IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItems, OnSelectPopupMenuItems) |
| #elif defined(OS_MACOSX) |
| @@ -4422,6 +4425,31 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( |
| return info.defaultPolicy; |
| } |
| +void RenderFrameImpl::OnGetSavableResourceLinks() { |
| + std::vector<GURL> resources_list; |
| + std::vector<GURL> referrer_urls_list; |
| + std::vector<blink::WebReferrerPolicy> referrer_policies_list; |
| + SavableResourcesResult result(&resources_list, &referrer_urls_list, |
| + &referrer_policies_list); |
| + |
| + WebFrame* frame = GetWebFrame(); |
|
nasko
2015/09/02 23:45:55
nit: Why not just use frame_?
Łukasz Anforowicz
2015/09/03 16:59:57
Done.
|
| + if (!GetSavableResourceLinksForFrame( |
| + frame, &result, const_cast<const char**>(GetSavableSchemes()))) { |
| + Send(new FrameHostMsg_NonSavableResponse(routing_id_)); |
| + return; |
| + } |
| + |
| + std::vector<Referrer> referrers_list; |
| + CHECK_EQ(referrer_urls_list.size(), referrer_policies_list.size()); |
| + for (unsigned i = 0; i < referrer_urls_list.size(); ++i) { |
| + referrers_list.push_back( |
| + Referrer(referrer_urls_list[i], referrer_policies_list[i])); |
| + } |
| + |
| + Send(new FrameHostMsg_SavableResourceLinksResponse( |
| + routing_id_, resources_list, referrers_list)); |
| +} |
| + |
| void RenderFrameImpl::OpenURL(WebFrame* frame, |
| const GURL& url, |
| const Referrer& referrer, |