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

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

Issue 2389473002: Media Remoting: Add RemotingController. (Closed)
Patch Set: Use BUILDFLAG. Created 4 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 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 class Point; 98 class Point;
99 class Range; 99 class Range;
100 class Rect; 100 class Rect;
101 } 101 }
102 102
103 namespace media { 103 namespace media {
104 class CdmFactory; 104 class CdmFactory;
105 class DecoderFactory; 105 class DecoderFactory;
106 class MediaPermission; 106 class MediaPermission;
107 class MediaServiceProvider; 107 class MediaServiceProvider;
108 class RemotingController;
108 class RendererWebMediaPlayerDelegate; 109 class RendererWebMediaPlayerDelegate;
109 class SurfaceManager; 110 class SurfaceManager;
110 class UrlIndex; 111 class UrlIndex;
111 class WebEncryptedMediaClientImpl; 112 class WebEncryptedMediaClientImpl;
112 } 113 }
113 114
114 namespace shell { 115 namespace shell {
115 class InterfaceRegistry; 116 class InterfaceRegistry;
116 class InterfaceProvider; 117 class InterfaceProvider;
117 } 118 }
(...skipping 895 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 1014
1014 RendererMediaSessionManager* GetMediaSessionManager(); 1015 RendererMediaSessionManager* GetMediaSessionManager();
1015 #endif 1016 #endif
1016 1017
1017 bool AreSecureCodecsSupported(); 1018 bool AreSecureCodecsSupported();
1018 1019
1019 #if defined(ENABLE_MOJO_MEDIA) 1020 #if defined(ENABLE_MOJO_MEDIA)
1020 shell::mojom::InterfaceProvider* GetMediaInterfaceProvider(); 1021 shell::mojom::InterfaceProvider* GetMediaInterfaceProvider();
1021 #endif 1022 #endif
1022 1023
1024 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
1023 media::mojom::RemoterFactory* GetRemoterFactory(); 1025 media::mojom::RemoterFactory* GetRemoterFactory();
1026 #endif
1027
1024 media::CdmFactory* GetCdmFactory(); 1028 media::CdmFactory* GetCdmFactory();
1025 media::DecoderFactory* GetDecoderFactory(); 1029 media::DecoderFactory* GetDecoderFactory();
1026 1030
1027 void RegisterMojoInterfaces(); 1031 void RegisterMojoInterfaces();
1028 1032
1029 // Connect to an interface provided by the service registry. 1033 // Connect to an interface provided by the service registry.
1030 template <typename Interface> 1034 template <typename Interface>
1031 void GetInterface(mojo::InterfaceRequest<Interface> request); 1035 void GetInterface(mojo::InterfaceRequest<Interface> request);
1032 1036
1033 // Returns the media delegate for WebMediaPlayer usage. If 1037 // Returns the media delegate for WebMediaPlayer usage. If
1034 // |media_player_delegate_| is NULL, one is created. 1038 // |media_player_delegate_| is NULL, one is created.
1035 media::RendererWebMediaPlayerDelegate* GetWebMediaPlayerDelegate(); 1039 media::RendererWebMediaPlayerDelegate* GetWebMediaPlayerDelegate();
1036 1040
1037 // Called to get the WebPlugin to handle find requests in the document. 1041 // Called to get the WebPlugin to handle find requests in the document.
1038 // Returns nullptr if there is no such WebPlugin. 1042 // Returns nullptr if there is no such WebPlugin.
1039 blink::WebPlugin* GetWebPluginForFind(); 1043 blink::WebPlugin* GetWebPluginForFind();
1040 1044
1041 // Sends a reply to the current find operation handling if it was a 1045 // Sends a reply to the current find operation handling if it was a
1042 // synchronous find request. 1046 // synchronous find request.
1043 void SendFindReply(int request_id, 1047 void SendFindReply(int request_id,
1044 int match_count, 1048 int match_count,
1045 int ordinal, 1049 int ordinal,
1046 const blink::WebRect& selection_rect, 1050 const blink::WebRect& selection_rect,
1047 bool final_status_update); 1051 bool final_status_update);
1048 1052
1049 void InitializeBlameContext(RenderFrameImpl* parent_frame); 1053 void InitializeBlameContext(RenderFrameImpl* parent_frame);
1050 1054
1055 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
1056 // Creates the RemotingController to control whether to switch to/from media
1057 // remoting from/to local playback.
1058 std::unique_ptr<media::RemotingController> CreateRemotingController();
1059 #endif
1060
1051 // Stores the WebLocalFrame we are associated with. This is null from the 1061 // Stores the WebLocalFrame we are associated with. This is null from the
1052 // constructor until BindToWebFrame is called, and it is null after 1062 // constructor until BindToWebFrame is called, and it is null after
1053 // frameDetached is called until destruction (which is asynchronous in the 1063 // frameDetached is called until destruction (which is asynchronous in the
1054 // case of the main frame, but not subframes). 1064 // case of the main frame, but not subframes).
1055 blink::WebLocalFrame* frame_; 1065 blink::WebLocalFrame* frame_;
1056 1066
1057 // Boolean value indicating whether this RenderFrameImpl object is for the 1067 // Boolean value indicating whether this RenderFrameImpl object is for the
1058 // main frame or not. It remains accurate during destruction, even when 1068 // main frame or not. It remains accurate during destruction, even when
1059 // |frame_| has been invalidated. 1069 // |frame_| has been invalidated.
1060 bool is_main_frame_; 1070 bool is_main_frame_;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1179 // Manages all media players and sessions in this render frame for 1189 // Manages all media players and sessions in this render frame for
1180 // communicating with the real media player and sessions in the 1190 // communicating with the real media player and sessions in the
1181 // browser process. It's okay to use raw pointers since they're both 1191 // browser process. It's okay to use raw pointers since they're both
1182 // RenderFrameObservers. 1192 // RenderFrameObservers.
1183 RendererMediaPlayerManager* media_player_manager_; 1193 RendererMediaPlayerManager* media_player_manager_;
1184 RendererMediaSessionManager* media_session_manager_; 1194 RendererMediaSessionManager* media_session_manager_;
1185 #endif 1195 #endif
1186 1196
1187 media::SurfaceManager* media_surface_manager_; 1197 media::SurfaceManager* media_surface_manager_;
1188 1198
1199 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
1189 // Lazy-bound pointer to the RemoterFactory service in the browser 1200 // Lazy-bound pointer to the RemoterFactory service in the browser
1190 // process. Always use the GetRemoterFactory() accessor instead of this. 1201 // process. Always use the GetRemoterFactory() accessor instead of this.
1191 media::mojom::RemoterFactoryPtr remoter_factory_; 1202 media::mojom::RemoterFactoryPtr remoter_factory_;
1203 #endif
1192 1204
1193 // The CDM and decoder factory attached to this frame, lazily initialized. 1205 // The CDM and decoder factory attached to this frame, lazily initialized.
1194 std::unique_ptr<media::CdmFactory> cdm_factory_; 1206 std::unique_ptr<media::CdmFactory> cdm_factory_;
1195 std::unique_ptr<media::DecoderFactory> decoder_factory_; 1207 std::unique_ptr<media::DecoderFactory> decoder_factory_;
1196 1208
1197 // Media resource cache, lazily initialized. 1209 // Media resource cache, lazily initialized.
1198 linked_ptr<media::UrlIndex> url_index_; 1210 linked_ptr<media::UrlIndex> url_index_;
1199 1211
1200 // The devtools agent for this frame; only created for main frame and 1212 // The devtools agent for this frame; only created for main frame and
1201 // local roots. 1213 // local roots.
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
1294 remote_associated_interfaces_; 1306 remote_associated_interfaces_;
1295 1307
1296 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1308 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1297 1309
1298 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1310 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1299 }; 1311 };
1300 1312
1301 } // namespace content 1313 } // namespace content
1302 1314
1303 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1315 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698