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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 1373573002: ABANDONED: OOPIFs: Moving stitching of local paths from renderer to browser process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@page-serialization-recursive-begone
Patch Set: Rebasing... 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 // Returns the routing ID of the RenderFrameImpl or RenderFrameProxy 526 // Returns the routing ID of the RenderFrameImpl or RenderFrameProxy
527 // associated with |web_frame|. 527 // associated with |web_frame|.
528 int GetRoutingIdForFrameOrProxy(WebFrame* web_frame) { 528 int GetRoutingIdForFrameOrProxy(WebFrame* web_frame) {
529 if (!web_frame) 529 if (!web_frame)
530 return MSG_ROUTING_NONE; 530 return MSG_ROUTING_NONE;
531 if (web_frame->isWebRemoteFrame()) 531 if (web_frame->isWebRemoteFrame())
532 return RenderFrameProxy::FromWebFrame(web_frame)->routing_id(); 532 return RenderFrameProxy::FromWebFrame(web_frame)->routing_id();
533 return RenderFrameImpl::FromWebFrame(web_frame)->GetRoutingID(); 533 return RenderFrameImpl::FromWebFrame(web_frame)->GetRoutingID();
534 } 534 }
535 535
536 int GetRoutingIdForFrameOrProxy(const WebFrame* web_frame) {
537 // Const-cast is ok, because we only use |web_frame| to get the frame's
538 // routing id (and this doesn't modify the |web_frame|).
539 return GetRoutingIdForFrameOrProxy(const_cast<WebFrame*>(web_frame));
540 }
541
536 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = 542 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl =
537 nullptr; 543 nullptr;
538 544
539 void OnGotContentHandlerID(uint32_t content_handler_id) {} 545 void OnGotContentHandlerID(uint32_t content_handler_id) {}
540 546
541 } // namespace 547 } // namespace
542 548
543 // static 549 // static
544 RenderFrameImpl* RenderFrameImpl::Create(RenderViewImpl* render_view, 550 RenderFrameImpl* RenderFrameImpl::Create(RenderViewImpl* render_view,
545 int32 routing_id) { 551 int32 routing_id) {
(...skipping 3347 matching lines...) Expand 10 before | Expand all | Expand 10 after
3893 3899
3894 void RenderFrameImpl::DidPause(WebMediaPlayer* player) { 3900 void RenderFrameImpl::DidPause(WebMediaPlayer* player) {
3895 Send(new FrameHostMsg_MediaPausedNotification( 3901 Send(new FrameHostMsg_MediaPausedNotification(
3896 routing_id_, reinterpret_cast<int64>(player))); 3902 routing_id_, reinterpret_cast<int64>(player)));
3897 } 3903 }
3898 3904
3899 void RenderFrameImpl::PlayerGone(WebMediaPlayer* player) { 3905 void RenderFrameImpl::PlayerGone(WebMediaPlayer* player) {
3900 DidPause(player); 3906 DidPause(player);
3901 } 3907 }
3902 3908
3903 void RenderFrameImpl::didSerializeDataForFrame( 3909 void RenderFrameImpl::writeHtmlFragment(const WebCString& data) {
3904 const WebURL& frame_url, 3910 Send(new FrameHostMsg_SerializedHtmlFragment(routing_id_, data));
3905 const WebCString& data, 3911 }
3906 WebPageSerializerClient::PageSerializationStatus status) { 3912
3907 Send(new FrameHostMsg_SerializedHtmlWithLocalLinksResponse( 3913 void RenderFrameImpl::writeLocalPathForSubframe(const WebFrame& subframe) {
3908 routing_id_, frame_url, data.data(), static_cast<int32>(status))); 3914 Send(new FrameHostMsg_SerializedLocalPathForChildFrame(
3915 routing_id_, GetRoutingIdForFrameOrProxy(&subframe)));
3916 }
3917
3918 void RenderFrameImpl::writeLocalPathForSavableResource(
3919 const WebURL& savable_resource_url) {
3920 Send(new FrameHostMsg_SerializedLocalPathForSavableResource(
3921 routing_id_, savable_resource_url));
3922 }
3923
3924 void RenderFrameImpl::endOfFrame() {
3925 Send(new FrameHostMsg_SerializedEndOfFrame(routing_id_));
3909 } 3926 }
3910 3927
3911 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) { 3928 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) {
3912 observers_.AddObserver(observer); 3929 observers_.AddObserver(observer);
3913 } 3930 }
3914 3931
3915 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { 3932 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) {
3916 observer->RenderFrameGone(); 3933 observer->RenderFrameGone();
3917 observers_.RemoveObserver(observer); 3934 observers_.RemoveObserver(observer);
3918 } 3935 }
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
4473 CHECK_EQ(referrer_urls_list.size(), referrer_policies_list.size()); 4490 CHECK_EQ(referrer_urls_list.size(), referrer_policies_list.size());
4474 for (unsigned i = 0; i < referrer_urls_list.size(); ++i) { 4491 for (unsigned i = 0; i < referrer_urls_list.size(); ++i) {
4475 referrers_list.push_back( 4492 referrers_list.push_back(
4476 Referrer(referrer_urls_list[i], referrer_policies_list[i])); 4493 Referrer(referrer_urls_list[i], referrer_policies_list[i]));
4477 } 4494 }
4478 4495
4479 Send(new FrameHostMsg_SavableResourceLinksResponse( 4496 Send(new FrameHostMsg_SavableResourceLinksResponse(
4480 routing_id_, frame_->document().url(), resources_list, referrers_list)); 4497 routing_id_, frame_->document().url(), resources_list, referrers_list));
4481 } 4498 }
4482 4499
4483 void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks( 4500 void RenderFrameImpl::OnGetSerializedHtmlWithLocalLinks() {
4484 std::vector<GURL> original_urls,
4485 std::vector<base::FilePath> equivalent_local_paths,
4486 base::FilePath local_directory_path) {
4487 // Only DCHECK, since the message comes from the trusted browser process.
4488 DCHECK(original_urls.size() == equivalent_local_paths.size());
4489
4490 // Convert std::vector of GURLs to WebVector<WebURL>
4491 WebVector<WebURL> weburl_links(original_urls);
4492
4493 // Convert std::vector of base::FilePath to WebVector<WebString>
4494 WebVector<WebString> webstring_paths(equivalent_local_paths.size());
4495 for (size_t i = 0; i < equivalent_local_paths.size(); i++)
4496 webstring_paths[i] = equivalent_local_paths[i].AsUTF16Unsafe();
4497
4498 // Serialize the frame (without recursing into subframes).
4499 WebPageSerializer::serialize(GetWebFrame(), 4501 WebPageSerializer::serialize(GetWebFrame(),
4500 this, // WebPageSerializerClient. 4502 this); // WebPageSerializerClient.
4501 weburl_links, webstring_paths,
4502 local_directory_path.AsUTF16Unsafe());
4503 } 4503 }
4504 4504
4505 void RenderFrameImpl::OpenURL(const GURL& url, 4505 void RenderFrameImpl::OpenURL(const GURL& url,
4506 const Referrer& referrer, 4506 const Referrer& referrer,
4507 WebNavigationPolicy policy, 4507 WebNavigationPolicy policy,
4508 bool should_replace_current_entry) { 4508 bool should_replace_current_entry) {
4509 FrameHostMsg_OpenURL_Params params; 4509 FrameHostMsg_OpenURL_Params params;
4510 params.url = url; 4510 params.url = url;
4511 params.referrer = referrer; 4511 params.referrer = referrer;
4512 params.disposition = RenderViewImpl::NavigationPolicyToDisposition(policy); 4512 params.disposition = RenderViewImpl::NavigationPolicyToDisposition(policy);
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
5208 mojo::ServiceProviderPtr service_provider; 5208 mojo::ServiceProviderPtr service_provider;
5209 mojo::URLRequestPtr request(mojo::URLRequest::New()); 5209 mojo::URLRequestPtr request(mojo::URLRequest::New());
5210 request->url = mojo::String::From(url); 5210 request->url = mojo::String::From(url);
5211 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), 5211 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider),
5212 nullptr, nullptr, 5212 nullptr, nullptr,
5213 base::Bind(&OnGotContentHandlerID)); 5213 base::Bind(&OnGotContentHandlerID));
5214 return service_provider.Pass(); 5214 return service_provider.Pass();
5215 } 5215 }
5216 5216
5217 } // namespace content 5217 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | third_party/WebKit/Source/web/WebPageSerializer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698