| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |