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_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... |
36 #include "content/common/features.h" | 36 #include "content/common/features.h" |
37 #include "content/common/frame.mojom.h" | 37 #include "content/common/frame.mojom.h" |
38 #include "content/common/frame_message_enums.h" | 38 #include "content/common/frame_message_enums.h" |
39 #include "content/common/frame_replication_state.h" | 39 #include "content/common/frame_replication_state.h" |
40 #include "content/common/image_downloader/image_downloader.mojom.h" | 40 #include "content/common/image_downloader/image_downloader.mojom.h" |
41 #include "content/common/navigation_params.h" | 41 #include "content/common/navigation_params.h" |
42 #include "content/public/browser/render_frame_host.h" | 42 #include "content/public/browser/render_frame_host.h" |
43 #include "content/public/common/javascript_dialog_type.h" | 43 #include "content/public/common/javascript_dialog_type.h" |
44 #include "content/public/common/previews_state.h" | 44 #include "content/public/common/previews_state.h" |
45 #include "media/mojo/interfaces/interface_factory.mojom.h" | 45 #include "media/mojo/interfaces/interface_factory.mojom.h" |
| 46 #include "mojo/public/cpp/bindings/binding_set.h" |
46 #include "mojo/public/cpp/system/data_pipe.h" | 47 #include "mojo/public/cpp/system/data_pipe.h" |
47 #include "net/http/http_response_headers.h" | 48 #include "net/http/http_response_headers.h" |
48 #include "services/service_manager/public/cpp/interface_factory.h" | 49 #include "services/service_manager/public/cpp/interface_factory.h" |
49 #include "services/service_manager/public/cpp/interface_registry.h" | 50 #include "services/service_manager/public/cpp/interface_registry.h" |
50 #include "third_party/WebKit/public/platform/WebFocusType.h" | 51 #include "third_party/WebKit/public/platform/WebFocusType.h" |
51 #include "third_party/WebKit/public/platform/WebInsecureRequestPolicy.h" | 52 #include "third_party/WebKit/public/platform/WebInsecureRequestPolicy.h" |
52 #include "third_party/WebKit/public/web/WebTextDirection.h" | 53 #include "third_party/WebKit/public/web/WebTextDirection.h" |
53 #include "third_party/WebKit/public/web/WebTreeScopeType.h" | 54 #include "third_party/WebKit/public/web/WebTreeScopeType.h" |
54 #include "ui/accessibility/ax_node_data.h" | 55 #include "ui/accessibility/ax_node_data.h" |
55 #include "ui/base/mojo/window_open_disposition.mojom.h" | 56 #include "ui/base/mojo/window_open_disposition.mojom.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 | 111 |
111 class CONTENT_EXPORT RenderFrameHostImpl | 112 class CONTENT_EXPORT RenderFrameHostImpl |
112 : public RenderFrameHost, | 113 : public RenderFrameHost, |
113 public base::SupportsUserData, | 114 public base::SupportsUserData, |
114 NON_EXPORTED_BASE(public mojom::FrameHost), | 115 NON_EXPORTED_BASE(public mojom::FrameHost), |
115 NON_EXPORTED_BASE(public mojom::FrameHostInterfaceBroker), | 116 NON_EXPORTED_BASE(public mojom::FrameHostInterfaceBroker), |
116 public BrowserAccessibilityDelegate, | 117 public BrowserAccessibilityDelegate, |
117 public SiteInstanceImpl::Observer, | 118 public SiteInstanceImpl::Observer, |
118 public NON_EXPORTED_BASE( | 119 public NON_EXPORTED_BASE( |
119 service_manager::InterfaceFactory<media::mojom::InterfaceFactory>), | 120 service_manager::InterfaceFactory<media::mojom::InterfaceFactory>), |
| 121 public NON_EXPORTED_BASE(service_manager::mojom::InterfaceProvider), |
120 public CSPContext { | 122 public CSPContext { |
121 public: | 123 public: |
122 using AXTreeSnapshotCallback = | 124 using AXTreeSnapshotCallback = |
123 base::Callback<void( | 125 base::Callback<void( |
124 const ui::AXTreeUpdate&)>; | 126 const ui::AXTreeUpdate&)>; |
125 using SmartClipCallback = base::Callback<void(const base::string16& text, | 127 using SmartClipCallback = base::Callback<void(const base::string16& text, |
126 const base::string16& html)>; | 128 const base::string16& html)>; |
127 | 129 |
128 // An accessibility reset is only allowed to prevent very rare corner cases | 130 // An accessibility reset is only allowed to prevent very rare corner cases |
129 // or race conditions where the browser and renderer get out of sync. If | 131 // or race conditions where the browser and renderer get out of sync. If |
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 void DeleteWebBluetoothService( | 889 void DeleteWebBluetoothService( |
888 WebBluetoothServiceImpl* web_bluetooth_service); | 890 WebBluetoothServiceImpl* web_bluetooth_service); |
889 | 891 |
890 // service_manager::InterfaceFactory<media::mojom::InterfaceFactory> | 892 // service_manager::InterfaceFactory<media::mojom::InterfaceFactory> |
891 void Create(const service_manager::Identity& remote_identity, | 893 void Create(const service_manager::Identity& remote_identity, |
892 media::mojom::InterfaceFactoryRequest request) override; | 894 media::mojom::InterfaceFactoryRequest request) override; |
893 | 895 |
894 // Callback for connection error on the media::mojom::InterfaceFactory client. | 896 // Callback for connection error on the media::mojom::InterfaceFactory client. |
895 void OnMediaInterfaceFactoryConnectionError(); | 897 void OnMediaInterfaceFactoryConnectionError(); |
896 | 898 |
| 899 // service_manager::mojom::InterfaceProvider: |
| 900 void GetInterface(const std::string& interface_name, |
| 901 mojo::ScopedMessagePipeHandle interface_pipe) override; |
| 902 |
897 // Allows tests to disable the swapout event timer to simulate bugs that | 903 // Allows tests to disable the swapout event timer to simulate bugs that |
898 // happen before it fires (to avoid flakiness). | 904 // happen before it fires (to avoid flakiness). |
899 void DisableSwapOutTimerForTesting(); | 905 void DisableSwapOutTimerForTesting(); |
900 | 906 |
901 void OnRendererConnect(const service_manager::ServiceInfo& local_info, | 907 void OnRendererConnect(const service_manager::ServiceInfo& local_info, |
902 const service_manager::ServiceInfo& remote_info); | 908 const service_manager::ServiceInfo& remote_info); |
903 | 909 |
904 void SendJavaScriptDialogReply(IPC::Message* reply_msg, | 910 void SendJavaScriptDialogReply(IPC::Message* reply_msg, |
905 bool success, | 911 bool success, |
906 const base::string16& user_input); | 912 const base::string16& user_input); |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1177 // this RenderFrameHost. This provides access to interfaces implemented in | 1183 // this RenderFrameHost. This provides access to interfaces implemented in |
1178 // Java in the browser process to C++ code in the browser process. | 1184 // Java in the browser process to C++ code in the browser process. |
1179 std::unique_ptr<service_manager::InterfaceProvider> java_interfaces_; | 1185 std::unique_ptr<service_manager::InterfaceProvider> java_interfaces_; |
1180 | 1186 |
1181 // An InterfaceRegistry that forwards interface requests from Java to the | 1187 // An InterfaceRegistry that forwards interface requests from Java to the |
1182 // RenderFrame. This provides access to interfaces implemented in the renderer | 1188 // RenderFrame. This provides access to interfaces implemented in the renderer |
1183 // to Java code in the browser process. | 1189 // to Java code in the browser process. |
1184 std::unique_ptr<service_manager::InterfaceRegistry> java_interface_registry_; | 1190 std::unique_ptr<service_manager::InterfaceRegistry> java_interface_registry_; |
1185 #endif | 1191 #endif |
1186 | 1192 |
| 1193 mojo::BindingSet<service_manager::mojom::InterfaceProvider> |
| 1194 interface_provider_bindings_; |
| 1195 |
1187 // NOTE: This must be the last member. | 1196 // NOTE: This must be the last member. |
1188 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; | 1197 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; |
1189 | 1198 |
1190 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); | 1199 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); |
1191 }; | 1200 }; |
1192 | 1201 |
1193 } // namespace content | 1202 } // namespace content |
1194 | 1203 |
1195 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 1204 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
OLD | NEW |