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 #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 |
11 #include <memory> | 11 #include <memory> |
12 #include <string> | 12 #include <string> |
13 #include <vector> | 13 #include <vector> |
14 | 14 |
15 #include "base/files/file_path.h" | 15 #include "base/files/file_path.h" |
16 #include "base/gtest_prod_util.h" | 16 #include "base/gtest_prod_util.h" |
17 #include "base/id_map.h" | 17 #include "base/id_map.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "base/memory/linked_ptr.h" | 19 #include "base/memory/linked_ptr.h" |
20 #include "base/memory/ref_counted.h" | 20 #include "base/memory/ref_counted.h" |
21 #include "base/memory/weak_ptr.h" | 21 #include "base/memory/weak_ptr.h" |
22 #include "base/observer_list.h" | 22 #include "base/observer_list.h" |
23 #include "base/process/process_handle.h" | 23 #include "base/process/process_handle.h" |
24 #include "build/build_config.h" | 24 #include "build/build_config.h" |
25 #include "content/common/accessibility_mode_enums.h" | 25 #include "content/common/accessibility_mode_enums.h" |
26 #include "content/common/frame.mojom.h" | 26 #include "content/common/frame.mojom.h" |
27 #include "content/common/frame_message_enums.h" | 27 #include "content/common/frame_message_enums.h" |
28 #include "content/common/mojo/service_registry_impl.h" | |
29 #include "content/public/common/console_message_level.h" | 28 #include "content/public/common/console_message_level.h" |
30 #include "content/public/common/javascript_message_type.h" | 29 #include "content/public/common/javascript_message_type.h" |
31 #include "content/public/common/referrer.h" | 30 #include "content/public/common/referrer.h" |
32 #include "content/public/common/stop_find_action.h" | 31 #include "content/public/common/stop_find_action.h" |
33 #include "content/public/renderer/render_frame.h" | 32 #include "content/public/renderer/render_frame.h" |
34 #include "content/renderer/frame_blame_context.h" | 33 #include "content/renderer/frame_blame_context.h" |
35 #include "content/renderer/mojo/blink_service_registry_impl.h" | 34 #include "content/renderer/mojo/blink_service_registry_impl.h" |
36 #include "content/renderer/renderer_webcookiejar_impl.h" | 35 #include "content/renderer/renderer_webcookiejar_impl.h" |
37 #include "ipc/ipc_message.h" | 36 #include "ipc/ipc_message.h" |
38 #include "ipc/ipc_platform_file.h" | 37 #include "ipc/ipc_platform_file.h" |
39 #include "media/blink/webmediaplayer_delegate.h" | 38 #include "media/blink/webmediaplayer_delegate.h" |
40 #include "media/blink/webmediaplayer_params.h" | 39 #include "media/blink/webmediaplayer_params.h" |
| 40 #include "mojo/public/cpp/bindings/binding.h" |
41 #include "services/shell/public/interfaces/connector.mojom.h" | 41 #include "services/shell/public/interfaces/connector.mojom.h" |
42 #include "services/shell/public/interfaces/interface_provider.mojom.h" | 42 #include "services/shell/public/interfaces/interface_provider.mojom.h" |
43 #include "third_party/WebKit/public/platform/WebEffectiveConnectionType.h" | 43 #include "third_party/WebKit/public/platform/WebEffectiveConnectionType.h" |
44 #include "third_party/WebKit/public/platform/WebFocusType.h" | 44 #include "third_party/WebKit/public/platform/WebFocusType.h" |
45 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" | 45 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" |
46 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" | 46 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
47 #include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerClie
nt.h" | 47 #include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerClie
nt.h" |
48 #include "third_party/WebKit/public/web/WebAXObject.h" | 48 #include "third_party/WebKit/public/web/WebAXObject.h" |
49 #include "third_party/WebKit/public/web/WebDataSource.h" | 49 #include "third_party/WebKit/public/web/WebDataSource.h" |
50 #include "third_party/WebKit/public/web/WebFrameClient.h" | 50 #include "third_party/WebKit/public/web/WebFrameClient.h" |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 class CdmFactory; | 103 class CdmFactory; |
104 class DecoderFactory; | 104 class DecoderFactory; |
105 class MediaPermission; | 105 class MediaPermission; |
106 class MediaServiceProvider; | 106 class MediaServiceProvider; |
107 class RendererWebMediaPlayerDelegate; | 107 class RendererWebMediaPlayerDelegate; |
108 class SurfaceManager; | 108 class SurfaceManager; |
109 class UrlIndex; | 109 class UrlIndex; |
110 class WebEncryptedMediaClientImpl; | 110 class WebEncryptedMediaClientImpl; |
111 } | 111 } |
112 | 112 |
113 namespace mojo { | 113 namespace shell { |
114 class ServiceProvider; | 114 class InterfaceRegistry; |
| 115 class InterfaceProvider; |
115 } | 116 } |
116 | 117 |
117 namespace url { | 118 namespace url { |
118 class Origin; | 119 class Origin; |
119 } | 120 } |
120 | 121 |
121 namespace content { | 122 namespace content { |
122 | 123 |
123 class ChildFrameCompositingHelper; | 124 class ChildFrameCompositingHelper; |
124 class CompositorDependencies; | 125 class CompositorDependencies; |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 blink::WebPlugin* CreatePlugin( | 395 blink::WebPlugin* CreatePlugin( |
395 blink::WebFrame* frame, | 396 blink::WebFrame* frame, |
396 const WebPluginInfo& info, | 397 const WebPluginInfo& info, |
397 const blink::WebPluginParams& params, | 398 const blink::WebPluginParams& params, |
398 std::unique_ptr<PluginInstanceThrottler> throttler) override; | 399 std::unique_ptr<PluginInstanceThrottler> throttler) override; |
399 void LoadURLExternally(const blink::WebURLRequest& request, | 400 void LoadURLExternally(const blink::WebURLRequest& request, |
400 blink::WebNavigationPolicy policy) override; | 401 blink::WebNavigationPolicy policy) override; |
401 void ExecuteJavaScript(const base::string16& javascript) override; | 402 void ExecuteJavaScript(const base::string16& javascript) override; |
402 bool IsMainFrame() override; | 403 bool IsMainFrame() override; |
403 bool IsHidden() override; | 404 bool IsHidden() override; |
404 ServiceRegistry* GetServiceRegistry() override; | 405 shell::InterfaceRegistry* GetInterfaceRegistry() override; |
| 406 shell::InterfaceProvider* GetRemoteInterfaces() override; |
405 #if defined(ENABLE_PLUGINS) | 407 #if defined(ENABLE_PLUGINS) |
406 void RegisterPeripheralPlugin( | 408 void RegisterPeripheralPlugin( |
407 const url::Origin& content_origin, | 409 const url::Origin& content_origin, |
408 const base::Closure& unthrottle_callback) override; | 410 const base::Closure& unthrottle_callback) override; |
409 RenderFrame::PeripheralContentStatus GetPeripheralContentStatus( | 411 RenderFrame::PeripheralContentStatus GetPeripheralContentStatus( |
410 const url::Origin& main_frame_origin, | 412 const url::Origin& main_frame_origin, |
411 const url::Origin& content_origin, | 413 const url::Origin& content_origin, |
412 const gfx::Size& unobscured_size) const override; | 414 const gfx::Size& unobscured_size) const override; |
413 void WhitelistContentOrigin(const url::Origin& content_origin) override; | 415 void WhitelistContentOrigin(const url::Origin& content_origin) override; |
414 #endif | 416 #endif |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1011 | 1013 |
1012 bool AreSecureCodecsSupported(); | 1014 bool AreSecureCodecsSupported(); |
1013 | 1015 |
1014 #if defined(ENABLE_MOJO_MEDIA) | 1016 #if defined(ENABLE_MOJO_MEDIA) |
1015 shell::mojom::InterfaceProvider* GetMediaInterfaceProvider(); | 1017 shell::mojom::InterfaceProvider* GetMediaInterfaceProvider(); |
1016 #endif | 1018 #endif |
1017 | 1019 |
1018 media::CdmFactory* GetCdmFactory(); | 1020 media::CdmFactory* GetCdmFactory(); |
1019 media::DecoderFactory* GetDecoderFactory(); | 1021 media::DecoderFactory* GetDecoderFactory(); |
1020 | 1022 |
1021 void RegisterMojoServices(); | 1023 void RegisterMojoInterfaces(); |
1022 | 1024 |
1023 // Connect to an interface provided by the service registry. | 1025 // Connect to an interface provided by the service registry. |
1024 template <typename Interface> | 1026 template <typename Interface> |
1025 void GetInterface(mojo::InterfaceRequest<Interface> request); | 1027 void GetInterface(mojo::InterfaceRequest<Interface> request); |
1026 | 1028 |
1027 // Connects to a Mojo application and returns a proxy to its exposed | 1029 // Connects to a Mojo application and returns a proxy to its exposed |
1028 // ServiceProvider. | 1030 // ServiceProvider. |
1029 shell::mojom::InterfaceProviderPtr ConnectToApplication(const GURL& url); | 1031 shell::mojom::InterfaceProviderPtr ConnectToApplication(const GURL& url); |
1030 | 1032 |
1031 // Returns the media delegate for WebMediaPlayer usage. If | 1033 // Returns the media delegate for WebMediaPlayer usage. If |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1203 // local roots. | 1205 // local roots. |
1204 DevToolsAgent* devtools_agent_; | 1206 DevToolsAgent* devtools_agent_; |
1205 | 1207 |
1206 // The push messaging dispatcher attached to this frame, lazily initialized. | 1208 // The push messaging dispatcher attached to this frame, lazily initialized. |
1207 PushMessagingDispatcher* push_messaging_dispatcher_; | 1209 PushMessagingDispatcher* push_messaging_dispatcher_; |
1208 | 1210 |
1209 // The presentation dispatcher implementation attached to this frame, lazily | 1211 // The presentation dispatcher implementation attached to this frame, lazily |
1210 // initialized. | 1212 // initialized. |
1211 PresentationDispatcher* presentation_dispatcher_; | 1213 PresentationDispatcher* presentation_dispatcher_; |
1212 | 1214 |
1213 ServiceRegistryImpl service_registry_; | 1215 std::unique_ptr<shell::InterfaceRegistry> interface_registry_; |
1214 BlinkServiceRegistryImpl blink_service_registry_; | 1216 std::unique_ptr<shell::InterfaceProvider> remote_interfaces_; |
| 1217 std::unique_ptr<BlinkServiceRegistryImpl> blink_service_registry_; |
| 1218 shell::mojom::InterfaceProviderRequest |
| 1219 pending_remote_interface_provider_request_; |
1215 | 1220 |
1216 // The shell proxy used to connect to Mojo applications. | 1221 // The shell proxy used to connect to Mojo applications. |
1217 shell::mojom::ConnectorPtr connector_; | 1222 shell::mojom::ConnectorPtr connector_; |
1218 | 1223 |
1219 // The screen orientation dispatcher attached to the frame, lazily | 1224 // The screen orientation dispatcher attached to the frame, lazily |
1220 // initialized. | 1225 // initialized. |
1221 ScreenOrientationDispatcher* screen_orientation_dispatcher_; | 1226 ScreenOrientationDispatcher* screen_orientation_dispatcher_; |
1222 | 1227 |
1223 // The Manifest Manager handles the manifest requests from the browser | 1228 // The Manifest Manager handles the manifest requests from the browser |
1224 // process. | 1229 // process. |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1288 mojom::FrameHostPtr frame_host_; | 1293 mojom::FrameHostPtr frame_host_; |
1289 | 1294 |
1290 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; | 1295 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
1291 | 1296 |
1292 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 1297 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
1293 }; | 1298 }; |
1294 | 1299 |
1295 } // namespace content | 1300 } // namespace content |
1296 | 1301 |
1297 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 1302 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
OLD | NEW |