| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index b2e454f4cdece95127e38118fd56c6f05e9fb887..062a5fe6cf1636f4ceb2bfdce3967751cc396ff8 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -624,19 +624,34 @@ void RenderFrameImpl::CreateFrame(
|
| }
|
|
|
| // static
|
| -RenderFrame* RenderFrame::FromWebFrame(blink::WebFrame* web_frame) {
|
| +const RenderFrame* RenderFrame::FromWebFrame(const blink::WebFrame* web_frame) {
|
| return RenderFrameImpl::FromWebFrame(web_frame);
|
| }
|
|
|
| // static
|
| -RenderFrameImpl* RenderFrameImpl::FromWebFrame(blink::WebFrame* web_frame) {
|
| - FrameMap::iterator iter = g_frame_map.Get().find(web_frame);
|
| +RenderFrame* RenderFrame::FromWebFrame(blink::WebFrame* web_frame) {
|
| + return const_cast<RenderFrame*>(RenderFrame::FromWebFrame(
|
| + static_cast<const blink::WebFrame*>(web_frame)));
|
| +}
|
| +
|
| +// static
|
| +const RenderFrameImpl* RenderFrameImpl::FromWebFrame(
|
| + const blink::WebFrame* web_frame) {
|
| + const auto& const_frame_map = const_cast<const FrameMap&>(g_frame_map.Get());
|
| + FrameMap::const_iterator iter =
|
| + const_frame_map.find(const_cast<blink::WebFrame*>(web_frame));
|
| if (iter != g_frame_map.Get().end())
|
| return iter->second;
|
| return NULL;
|
| }
|
|
|
| // static
|
| +RenderFrameImpl* RenderFrameImpl::FromWebFrame(blink::WebFrame* web_frame) {
|
| + return const_cast<RenderFrameImpl*>(RenderFrameImpl::FromWebFrame(
|
| + static_cast<const blink::WebFrame*>(web_frame)));
|
| +}
|
| +
|
| +// static
|
| void RenderFrameImpl::InstallCreateHook(
|
| CreateRenderFrameImplFunction create_render_frame_impl) {
|
| CHECK(!g_create_render_frame_impl);
|
| @@ -1866,7 +1881,7 @@ RenderView* RenderFrameImpl::GetRenderView() {
|
| return render_view_.get();
|
| }
|
|
|
| -int RenderFrameImpl::GetRoutingID() {
|
| +int RenderFrameImpl::GetRoutingID() const {
|
| return routing_id_;
|
| }
|
|
|
| @@ -3894,12 +3909,32 @@ void RenderFrameImpl::PlayerGone(WebMediaPlayer* player) {
|
| DidPause(player);
|
| }
|
|
|
| -void RenderFrameImpl::didSerializeDataForFrame(
|
| - const WebURL& frame_url,
|
| - const WebCString& data,
|
| - WebPageSerializerClient::PageSerializationStatus status) {
|
| - Send(new FrameHostMsg_SerializedHtmlWithLocalLinksResponse(
|
| - routing_id_, frame_url, data.data(), static_cast<int32>(status)));
|
| +void RenderFrameImpl::writeHtmlFragment(const WebCString& data) {
|
| + Send(new FrameHostMsg_SerializedHtmlFragment(routing_id_, data));
|
| +}
|
| +
|
| +void RenderFrameImpl::writeLocalPathForSubFrame(const WebFrame& subframe) {
|
| + int subframe_routing_id;
|
| + if (subframe.isWebRemoteFrame()) {
|
| + subframe_routing_id =
|
| + RenderFrameProxy::FromWebFrame(&subframe)->routing_id();
|
| + } else {
|
| + DCHECK(subframe.isWebLocalFrame());
|
| + subframe_routing_id = RenderFrame::FromWebFrame(&subframe)->GetRoutingID();
|
| + }
|
| +
|
| + Send(new FrameHostMsg_SerializedLocalPathForSubFrame(routing_id_,
|
| + subframe_routing_id));
|
| +}
|
| +
|
| +void RenderFrameImpl::writeLocalPathForSavableResource(
|
| + const WebURL& savable_resource_url) {
|
| + Send(new FrameHostMsg_SerializedLocalPathForSavableResource(
|
| + routing_id_, savable_resource_url));
|
| +}
|
| +
|
| +void RenderFrameImpl::endOfFrame() {
|
| + Send(new FrameHostMsg_SerializedEndOfFrame(routing_id_));
|
| }
|
|
|
| void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) {
|
| @@ -4453,26 +4488,9 @@ void RenderFrameImpl::OnGetSavableResourceLinks() {
|
| routing_id_, frame_->document().url(), resources_list, referrers_list));
|
| }
|
|
|
| -void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks(
|
| - std::vector<GURL> original_urls,
|
| - std::vector<base::FilePath> equivalent_local_paths,
|
| - base::FilePath local_directory_path) {
|
| - // Only DCHECK, since the message comes from the trusted browser process.
|
| - DCHECK(original_urls.size() == equivalent_local_paths.size());
|
| -
|
| - // Convert std::vector of GURLs to WebVector<WebURL>
|
| - WebVector<WebURL> weburl_links(original_urls);
|
| -
|
| - // Convert std::vector of base::FilePath to WebVector<WebString>
|
| - WebVector<WebString> webstring_paths(equivalent_local_paths.size());
|
| - for (size_t i = 0; i < equivalent_local_paths.size(); i++)
|
| - webstring_paths[i] = equivalent_local_paths[i].AsUTF16Unsafe();
|
| -
|
| - // Serialize the frame (without recursing into subframes).
|
| +void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks() {
|
| WebPageSerializer::serialize(GetWebFrame(),
|
| - this, // WebPageSerializerClient.
|
| - weburl_links, webstring_paths,
|
| - local_directory_path.AsUTF16Unsafe());
|
| + this); // WebPageSerializerClient.
|
| }
|
|
|
| void RenderFrameImpl::OpenURL(WebFrame* frame,
|
|
|