| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 9e01406593394ecf970e84632b087772fde715ad..bb9929d1abfdb1ff32032c1c9a7bd8b2e7fe6754 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -4761,7 +4761,8 @@ void RenderFrameImpl::OnGetSavableResourceLinks() {
|
| }
|
|
|
| void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks(
|
| - const std::map<GURL, base::FilePath>& url_to_local_path) {
|
| + const std::map<GURL, base::FilePath>& url_to_local_path,
|
| + const std::map<int, base::FilePath>& frame_routing_id_to_local_path) {
|
| // Convert input to the canonical way of passing a map into a Blink API.
|
| std::vector<std::pair<WebURL, WebString>> weburl_to_local_path;
|
| for (const auto& it : url_to_local_path) {
|
| @@ -4770,11 +4771,22 @@ void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks(
|
| weburl_to_local_path.push_back(std::make_pair(
|
| WebURL(url), ConvertRelativePathToHtmlAttribute(local_path)));
|
| }
|
| + std::vector<std::pair<WebFrame*, WebString>> webframe_to_local_path;
|
| + for (const auto& it : frame_routing_id_to_local_path) {
|
| + int routing_id = it.first;
|
| + const base::FilePath& local_path = it.second;
|
| +
|
| + WebFrame* web_frame = GetWebFrameFromRoutingIdForFrameOrProxy(routing_id);
|
| + if (web_frame) {
|
| + webframe_to_local_path.push_back(std::make_pair(
|
| + web_frame, ConvertRelativePathToHtmlAttribute(local_path)));
|
| + }
|
| + }
|
|
|
| // Serialize the frame (without recursing into subframes).
|
| WebPageSerializer::serialize(GetWebFrame(),
|
| this, // WebPageSerializerClient.
|
| - weburl_to_local_path);
|
| + weburl_to_local_path, webframe_to_local_path);
|
| }
|
|
|
| void RenderFrameImpl::OnSerializeAsMHTML(
|
|
|