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 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 NOTREACHED(); | 677 NOTREACHED(); |
678 return WebFrameLoadType::Standard; | 678 return WebFrameLoadType::Standard; |
679 } | 679 } |
680 NOTREACHED(); | 680 NOTREACHED(); |
681 return WebFrameLoadType::Standard; | 681 return WebFrameLoadType::Standard; |
682 } | 682 } |
683 | 683 |
684 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = | 684 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = |
685 nullptr; | 685 nullptr; |
686 | 686 |
687 void OnGotInstanceID(shell::mojom::ConnectResult result, | |
688 mojo::String user_id, | |
689 uint32_t instance_id) {} | |
690 | |
691 WebString ConvertRelativePathToHtmlAttribute(const base::FilePath& path) { | 687 WebString ConvertRelativePathToHtmlAttribute(const base::FilePath& path) { |
692 DCHECK(!path.IsAbsolute()); | 688 DCHECK(!path.IsAbsolute()); |
693 return WebString::fromUTF8( | 689 return WebString::fromUTF8( |
694 std::string("./") + | 690 std::string("./") + |
695 path.NormalizePathSeparatorsTo(FILE_PATH_LITERAL('/')).AsUTF8Unsafe()); | 691 path.NormalizePathSeparatorsTo(FILE_PATH_LITERAL('/')).AsUTF8Unsafe()); |
696 } | 692 } |
697 | 693 |
698 // Implementation of WebFrameSerializer::LinkRewritingDelegate that responds | 694 // Implementation of WebFrameSerializer::LinkRewritingDelegate that responds |
699 // based on the payload of FrameMsg_GetSerializedHtmlWithLocalLinks. | 695 // based on the payload of FrameMsg_GetSerializedHtmlWithLocalLinks. |
700 class LinkRewritingDelegate : public WebFrameSerializer::LinkRewritingDelegate { | 696 class LinkRewritingDelegate : public WebFrameSerializer::LinkRewritingDelegate { |
(...skipping 5426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6127 media_permission_dispatcher_.reset(new MediaPermissionDispatcher(base::Bind( | 6123 media_permission_dispatcher_.reset(new MediaPermissionDispatcher(base::Bind( |
6128 &RenderFrameImpl::GetInterface<blink::mojom::PermissionService>, | 6124 &RenderFrameImpl::GetInterface<blink::mojom::PermissionService>, |
6129 base::Unretained(this)))); | 6125 base::Unretained(this)))); |
6130 } | 6126 } |
6131 return media_permission_dispatcher_.get(); | 6127 return media_permission_dispatcher_.get(); |
6132 } | 6128 } |
6133 | 6129 |
6134 #if defined(ENABLE_MOJO_MEDIA) | 6130 #if defined(ENABLE_MOJO_MEDIA) |
6135 shell::mojom::InterfaceProvider* RenderFrameImpl::GetMediaInterfaceProvider() { | 6131 shell::mojom::InterfaceProvider* RenderFrameImpl::GetMediaInterfaceProvider() { |
6136 if (!media_interface_provider_) { | 6132 if (!media_interface_provider_) { |
6137 media_interface_provider_.reset(new MediaInterfaceProvider(base::Bind( | 6133 media_interface_provider_.reset( |
6138 &RenderFrameImpl::ConnectToApplication, base::Unretained(this)))); | 6134 new MediaInterfaceProvider(GetRemoteInterfaces())); |
6139 } | 6135 } |
6140 | 6136 |
6141 return media_interface_provider_.get(); | 6137 return media_interface_provider_.get(); |
6142 } | 6138 } |
6143 #endif // defined(ENABLE_MOJO_MEDIA) | 6139 #endif // defined(ENABLE_MOJO_MEDIA) |
6144 | 6140 |
6145 bool RenderFrameImpl::AreSecureCodecsSupported() { | 6141 bool RenderFrameImpl::AreSecureCodecsSupported() { |
6146 #if defined(OS_ANDROID) | 6142 #if defined(OS_ANDROID) |
6147 // Hardware-secure codecs are only supported if secure surfaces are enabled. | 6143 // Hardware-secure codecs are only supported if secure surfaces are enabled. |
6148 return render_view_->renderer_preferences_ | 6144 return render_view_->renderer_preferences_ |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6192 GetInterfaceRegistry()->AddInterface(base::Bind( | 6188 GetInterfaceRegistry()->AddInterface(base::Bind( |
6193 &ImageDownloaderImpl::CreateMojoService, base::Unretained(this))); | 6189 &ImageDownloaderImpl::CreateMojoService, base::Unretained(this))); |
6194 } | 6190 } |
6195 } | 6191 } |
6196 | 6192 |
6197 template <typename Interface> | 6193 template <typename Interface> |
6198 void RenderFrameImpl::GetInterface(mojo::InterfaceRequest<Interface> request) { | 6194 void RenderFrameImpl::GetInterface(mojo::InterfaceRequest<Interface> request) { |
6199 GetRemoteInterfaces()->GetInterface(std::move(request)); | 6195 GetRemoteInterfaces()->GetInterface(std::move(request)); |
6200 } | 6196 } |
6201 | 6197 |
6202 shell::mojom::InterfaceProviderPtr RenderFrameImpl::ConnectToApplication( | |
6203 const GURL& url) { | |
6204 if (!connector_) | |
6205 GetRemoteInterfaces()->GetInterface(&connector_); | |
6206 shell::mojom::InterfaceProviderPtr interface_provider; | |
6207 shell::mojom::IdentityPtr target(shell::mojom::Identity::New()); | |
6208 target->name = url.spec(); | |
6209 target->user_id = shell::mojom::kInheritUserID; | |
6210 target->instance = ""; | |
6211 connector_->Connect(std::move(target), GetProxy(&interface_provider), nullptr, | |
6212 nullptr, base::Bind(&OnGotInstanceID)); | |
6213 return interface_provider; | |
6214 } | |
6215 | |
6216 media::RendererWebMediaPlayerDelegate* | 6198 media::RendererWebMediaPlayerDelegate* |
6217 RenderFrameImpl::GetWebMediaPlayerDelegate() { | 6199 RenderFrameImpl::GetWebMediaPlayerDelegate() { |
6218 if (!media_player_delegate_) | 6200 if (!media_player_delegate_) |
6219 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); | 6201 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); |
6220 return media_player_delegate_; | 6202 return media_player_delegate_; |
6221 } | 6203 } |
6222 | 6204 |
6223 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( | 6205 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( |
6224 const blink::WebString& sink_id, | 6206 const blink::WebString& sink_id, |
6225 const blink::WebSecurityOrigin& security_origin, | 6207 const blink::WebSecurityOrigin& security_origin, |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6366 // event target. Potentially a Pepper plugin will receive the event. | 6348 // event target. Potentially a Pepper plugin will receive the event. |
6367 // In order to tell whether a plugin gets the last mouse event and which it | 6349 // In order to tell whether a plugin gets the last mouse event and which it |
6368 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6350 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
6369 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6351 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
6370 // |pepper_last_mouse_event_target_|. | 6352 // |pepper_last_mouse_event_target_|. |
6371 pepper_last_mouse_event_target_ = nullptr; | 6353 pepper_last_mouse_event_target_ = nullptr; |
6372 #endif | 6354 #endif |
6373 } | 6355 } |
6374 | 6356 |
6375 } // namespace content | 6357 } // namespace content |
OLD | NEW |