Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1422473004: Vector-of-structs (instead of struct-of-vectors) in "savable resources" IPC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@page-serialization-original-url-yay
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index b3b402a51a7ed2c39303b6d76491e7770f66e200..de55d05d388d405081fa17a8e8b83c4936001a5c 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -41,6 +41,7 @@
#include "content/common/frame_replication_state.h"
#include "content/common/input_messages.h"
#include "content/common/navigation_params.h"
+#include "content/common/savable_subframe.h"
#include "content/common/service_worker/service_worker_types.h"
#include "content/common/site_isolation_policy.h"
#include "content/common/swapped_out_messages.h"
@@ -108,6 +109,7 @@
#include "content/renderer/shared_worker_repository.h"
#include "content/renderer/skia_benchmarking_extension.h"
#include "content/renderer/stats_collection_controller.h"
+#include "content/renderer/web_frame_utils.h"
#include "content/renderer/web_ui_extension.h"
#include "content/renderer/websharedworker_proxy.h"
#include "gin/modules/module_registry.h"
@@ -526,16 +528,6 @@ bool IsReload(FrameMsg_Navigate_Type::Value navigation_type) {
navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL;
}
-// Returns the routing ID of the RenderFrameImpl or RenderFrameProxy
-// associated with |web_frame|.
-int GetRoutingIdForFrameOrProxy(WebFrame* web_frame) {
- if (!web_frame)
- return MSG_ROUTING_NONE;
- if (web_frame->isWebRemoteFrame())
- return RenderFrameProxy::FromWebFrame(web_frame)->routing_id();
- return RenderFrameImpl::FromWebFrame(web_frame)->GetRoutingID();
-}
-
RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl =
nullptr;
@@ -4512,11 +4504,9 @@ void RenderFrameImpl::OnGetSavableResourceLinks() {
std::vector<GURL> resources_list;
std::vector<GURL> referrer_urls_list;
std::vector<blink::WebReferrerPolicy> referrer_policies_list;
- std::vector<GURL> subframe_original_urls;
- std::vector<blink::WebFrame*> subframes;
+ std::vector<SavableSubframe> subframes;
SavableResourcesResult result(&resources_list, &referrer_urls_list,
- &referrer_policies_list,
- &subframe_original_urls, &subframes);
+ &referrer_policies_list, &subframes);
if (!GetSavableResourceLinksForFrame(
frame_, &result, const_cast<const char**>(GetSavableSchemes()))) {
@@ -4531,16 +4521,9 @@ void RenderFrameImpl::OnGetSavableResourceLinks() {
Referrer(referrer_urls_list[i], referrer_policies_list[i]));
}
- std::vector<int> subframe_routing_ids;
- for (WebFrame* subframe : subframes) {
- subframe_routing_ids.push_back(GetRoutingIdForFrameOrProxy(subframe));
- }
-
DCHECK_EQ(resources_list.size(), referrers_list.size());
- DCHECK_EQ(subframe_original_urls.size(), subframe_routing_ids.size());
Send(new FrameHostMsg_SavableResourceLinksResponse(
- routing_id_, resources_list, referrers_list, subframe_original_urls,
- subframe_routing_ids));
+ routing_id_, resources_list, referrers_list, subframes));
}
void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks(

Powered by Google App Engine
This is Rietveld 408576698