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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 #include "content/common/view_messages.h" | 66 #include "content/common/view_messages.h" |
67 #include "content/public/common/bindings_policy.h" | 67 #include "content/public/common/bindings_policy.h" |
68 #include "content/public/common/browser_side_navigation_policy.h" | 68 #include "content/public/common/browser_side_navigation_policy.h" |
69 #include "content/public/common/content_constants.h" | 69 #include "content/public/common/content_constants.h" |
70 #include "content/public/common/content_features.h" | 70 #include "content/public/common/content_features.h" |
71 #include "content/public/common/content_switches.h" | 71 #include "content/public/common/content_switches.h" |
72 #include "content/public/common/context_menu_params.h" | 72 #include "content/public/common/context_menu_params.h" |
73 #include "content/public/common/file_chooser_file_info.h" | 73 #include "content/public/common/file_chooser_file_info.h" |
74 #include "content/public/common/file_chooser_params.h" | 74 #include "content/public/common/file_chooser_params.h" |
75 #include "content/public/common/isolated_world_ids.h" | 75 #include "content/public/common/isolated_world_ids.h" |
| 76 #include "content/public/common/mojo_shell_connection.h" |
76 #include "content/public/common/page_state.h" | 77 #include "content/public/common/page_state.h" |
77 #include "content/public/common/resource_response.h" | 78 #include "content/public/common/resource_response.h" |
78 #include "content/public/common/url_constants.h" | 79 #include "content/public/common/url_constants.h" |
79 #include "content/public/common/url_utils.h" | 80 #include "content/public/common/url_utils.h" |
80 #include "content/public/renderer/browser_plugin_delegate.h" | 81 #include "content/public/renderer/browser_plugin_delegate.h" |
81 #include "content/public/renderer/content_renderer_client.h" | 82 #include "content/public/renderer/content_renderer_client.h" |
82 #include "content/public/renderer/context_menu_client.h" | 83 #include "content/public/renderer/context_menu_client.h" |
83 #include "content/public/renderer/document_state.h" | 84 #include "content/public/renderer/document_state.h" |
84 #include "content/public/renderer/navigation_state.h" | 85 #include "content/public/renderer/navigation_state.h" |
85 #include "content/public/renderer/render_frame_observer.h" | 86 #include "content/public/renderer/render_frame_observer.h" |
(...skipping 19 matching lines...) Expand all Loading... |
105 #include "content/renderer/media/audio_device_factory.h" | 106 #include "content/renderer/media/audio_device_factory.h" |
106 #include "content/renderer/media/media_permission_dispatcher.h" | 107 #include "content/renderer/media/media_permission_dispatcher.h" |
107 #include "content/renderer/media/media_stream_dispatcher.h" | 108 #include "content/renderer/media/media_stream_dispatcher.h" |
108 #include "content/renderer/media/media_stream_renderer_factory_impl.h" | 109 #include "content/renderer/media/media_stream_renderer_factory_impl.h" |
109 #include "content/renderer/media/midi_dispatcher.h" | 110 #include "content/renderer/media/midi_dispatcher.h" |
110 #include "content/renderer/media/render_media_log.h" | 111 #include "content/renderer/media/render_media_log.h" |
111 #include "content/renderer/media/renderer_webmediaplayer_delegate.h" | 112 #include "content/renderer/media/renderer_webmediaplayer_delegate.h" |
112 #include "content/renderer/media/user_media_client_impl.h" | 113 #include "content/renderer/media/user_media_client_impl.h" |
113 #include "content/renderer/media/web_media_element_source_utils.h" | 114 #include "content/renderer/media/web_media_element_source_utils.h" |
114 #include "content/renderer/media/webmediaplayer_ms.h" | 115 #include "content/renderer/media/webmediaplayer_ms.h" |
115 #include "content/renderer/mojo/service_registry_js_wrapper.h" | 116 #include "content/renderer/mojo/interface_provider_js_wrapper.h" |
116 #include "content/renderer/mojo_bindings_controller.h" | 117 #include "content/renderer/mojo_bindings_controller.h" |
117 #include "content/renderer/navigation_state_impl.h" | 118 #include "content/renderer/navigation_state_impl.h" |
118 #include "content/renderer/notification_permission_dispatcher.h" | 119 #include "content/renderer/notification_permission_dispatcher.h" |
119 #include "content/renderer/pepper/plugin_instance_throttler_impl.h" | 120 #include "content/renderer/pepper/plugin_instance_throttler_impl.h" |
120 #include "content/renderer/presentation/presentation_dispatcher.h" | 121 #include "content/renderer/presentation/presentation_dispatcher.h" |
121 #include "content/renderer/push_messaging/push_messaging_dispatcher.h" | 122 #include "content/renderer/push_messaging/push_messaging_dispatcher.h" |
122 #include "content/renderer/render_frame_proxy.h" | 123 #include "content/renderer/render_frame_proxy.h" |
123 #include "content/renderer/render_process.h" | 124 #include "content/renderer/render_process.h" |
124 #include "content/renderer/render_thread_impl.h" | 125 #include "content/renderer/render_thread_impl.h" |
125 #include "content/renderer/render_view_impl.h" | 126 #include "content/renderer/render_view_impl.h" |
(...skipping 20 matching lines...) Expand all Loading... |
146 #include "media/blink/url_index.h" | 147 #include "media/blink/url_index.h" |
147 #include "media/blink/webencryptedmediaclient_impl.h" | 148 #include "media/blink/webencryptedmediaclient_impl.h" |
148 #include "media/blink/webmediaplayer_impl.h" | 149 #include "media/blink/webmediaplayer_impl.h" |
149 #include "media/renderers/gpu_video_accelerator_factories.h" | 150 #include "media/renderers/gpu_video_accelerator_factories.h" |
150 #include "mojo/edk/js/core.h" | 151 #include "mojo/edk/js/core.h" |
151 #include "mojo/edk/js/support.h" | 152 #include "mojo/edk/js/support.h" |
152 #include "net/base/data_url.h" | 153 #include "net/base/data_url.h" |
153 #include "net/base/net_errors.h" | 154 #include "net/base/net_errors.h" |
154 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 155 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
155 #include "net/http/http_util.h" | 156 #include "net/http/http_util.h" |
| 157 #include "services/shell/public/cpp/interface_provider.h" |
| 158 #include "services/shell/public/cpp/interface_registry.h" |
156 #include "storage/common/data_element.h" | 159 #include "storage/common/data_element.h" |
157 #include "third_party/WebKit/public/platform/FilePathConversion.h" | 160 #include "third_party/WebKit/public/platform/FilePathConversion.h" |
158 #include "third_party/WebKit/public/platform/URLConversion.h" | 161 #include "third_party/WebKit/public/platform/URLConversion.h" |
159 #include "third_party/WebKit/public/platform/WebCachePolicy.h" | 162 #include "third_party/WebKit/public/platform/WebCachePolicy.h" |
160 #include "third_party/WebKit/public/platform/WebData.h" | 163 #include "third_party/WebKit/public/platform/WebData.h" |
161 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" | 164 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
162 #include "third_party/WebKit/public/platform/WebMediaPlayerSource.h" | 165 #include "third_party/WebKit/public/platform/WebMediaPlayerSource.h" |
163 #include "third_party/WebKit/public/platform/WebPoint.h" | 166 #include "third_party/WebKit/public/platform/WebPoint.h" |
164 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" | 167 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" |
165 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" | 168 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" |
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1084 media_surface_manager_(nullptr), | 1087 media_surface_manager_(nullptr), |
1085 #if defined(ENABLE_BROWSER_CDMS) | 1088 #if defined(ENABLE_BROWSER_CDMS) |
1086 cdm_manager_(NULL), | 1089 cdm_manager_(NULL), |
1087 #endif | 1090 #endif |
1088 #if defined(VIDEO_HOLE) | 1091 #if defined(VIDEO_HOLE) |
1089 contains_media_player_(false), | 1092 contains_media_player_(false), |
1090 #endif | 1093 #endif |
1091 devtools_agent_(nullptr), | 1094 devtools_agent_(nullptr), |
1092 push_messaging_dispatcher_(NULL), | 1095 push_messaging_dispatcher_(NULL), |
1093 presentation_dispatcher_(NULL), | 1096 presentation_dispatcher_(NULL), |
1094 blink_service_registry_(service_registry_.GetWeakPtr()), | |
1095 screen_orientation_dispatcher_(NULL), | 1097 screen_orientation_dispatcher_(NULL), |
1096 manifest_manager_(NULL), | 1098 manifest_manager_(NULL), |
1097 accessibility_mode_(AccessibilityModeOff), | 1099 accessibility_mode_(AccessibilityModeOff), |
1098 renderer_accessibility_(NULL), | 1100 renderer_accessibility_(NULL), |
1099 media_player_delegate_(NULL), | 1101 media_player_delegate_(NULL), |
1100 is_using_lofi_(false), | 1102 is_using_lofi_(false), |
1101 effective_connection_type_( | 1103 effective_connection_type_( |
1102 blink::WebEffectiveConnectionType::TypeUnknown), | 1104 blink::WebEffectiveConnectionType::TypeUnknown), |
1103 is_pasting_(false), | 1105 is_pasting_(false), |
1104 suppress_further_dialogs_(false), | 1106 suppress_further_dialogs_(false), |
1105 blame_context_(nullptr), | 1107 blame_context_(nullptr), |
1106 #if defined(ENABLE_PLUGINS) | 1108 #if defined(ENABLE_PLUGINS) |
1107 focused_pepper_plugin_(nullptr), | 1109 focused_pepper_plugin_(nullptr), |
1108 pepper_last_mouse_event_target_(nullptr), | 1110 pepper_last_mouse_event_target_(nullptr), |
1109 #endif | 1111 #endif |
1110 frame_binding_(this), | 1112 frame_binding_(this), |
1111 weak_factory_(this) { | 1113 weak_factory_(this) { |
| 1114 // We don't have a shell::Connection at this point, so use nullptr. |
| 1115 // TODO(beng): We should fix this, so we can apply policy about which |
| 1116 // interfaces get exposed. |
| 1117 interface_registry_.reset(new shell::InterfaceRegistry(nullptr)); |
| 1118 shell::mojom::InterfaceProviderPtr remote_interfaces; |
| 1119 pending_remote_interface_provider_request_ = GetProxy(&remote_interfaces); |
| 1120 remote_interfaces_.reset( |
| 1121 new shell::InterfaceProvider(std::move(remote_interfaces))); |
| 1122 blink_service_registry_.reset(new BlinkServiceRegistryImpl( |
| 1123 remote_interfaces_->GetWeakPtr())); |
| 1124 |
1112 std::pair<RoutingIDFrameMap::iterator, bool> result = | 1125 std::pair<RoutingIDFrameMap::iterator, bool> result = |
1113 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 1126 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
1114 CHECK(result.second) << "Inserting a duplicate item."; | 1127 CHECK(result.second) << "Inserting a duplicate item."; |
1115 | 1128 |
1116 RenderThread::Get()->AddRoute(routing_id_, this); | 1129 RenderThread::Get()->AddRoute(routing_id_, this); |
1117 | 1130 |
1118 render_view_->RegisterRenderFrame(this); | 1131 render_view_->RegisterRenderFrame(this); |
1119 | 1132 |
1120 // Everything below subclasses RenderFrameObserver and is automatically | 1133 // Everything below subclasses RenderFrameObserver and is automatically |
1121 // deleted when the RenderFrame gets deleted. | 1134 // deleted when the RenderFrame gets deleted. |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1206 new PepperBrowserConnection(this); | 1219 new PepperBrowserConnection(this); |
1207 #endif | 1220 #endif |
1208 new SharedWorkerRepository(this); | 1221 new SharedWorkerRepository(this); |
1209 | 1222 |
1210 if (IsLocalRoot()) { | 1223 if (IsLocalRoot()) { |
1211 // DevToolsAgent is a RenderFrameObserver, and will destruct itself | 1224 // DevToolsAgent is a RenderFrameObserver, and will destruct itself |
1212 // when |this| is deleted. | 1225 // when |this| is deleted. |
1213 devtools_agent_ = new DevToolsAgent(this); | 1226 devtools_agent_ = new DevToolsAgent(this); |
1214 } | 1227 } |
1215 | 1228 |
1216 RegisterMojoServices(); | 1229 RegisterMojoInterfaces(); |
1217 | 1230 |
1218 // We delay calling this until we have the WebFrame so that any observer or | 1231 // We delay calling this until we have the WebFrame so that any observer or |
1219 // embedder can call GetWebFrame on any RenderFrame. | 1232 // embedder can call GetWebFrame on any RenderFrame. |
1220 GetContentClient()->renderer()->RenderFrameCreated(this); | 1233 GetContentClient()->renderer()->RenderFrameCreated(this); |
1221 | 1234 |
1222 RenderThreadImpl* render_thread = RenderThreadImpl::current(); | 1235 RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
1223 // render_thread may be NULL in tests. | 1236 // render_thread may be NULL in tests. |
1224 InputHandlerManager* input_handler_manager = | 1237 InputHandlerManager* input_handler_manager = |
1225 render_thread ? render_thread->input_handler_manager() : nullptr; | 1238 render_thread ? render_thread->input_handler_manager() : nullptr; |
1226 if (input_handler_manager) { | 1239 if (input_handler_manager) { |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1595 TRACE_EVENT2("navigation", "RenderFrameImpl::OnNavigate", "id", routing_id_, | 1608 TRACE_EVENT2("navigation", "RenderFrameImpl::OnNavigate", "id", routing_id_, |
1596 "url", common_params.url.possibly_invalid_spec()); | 1609 "url", common_params.url.possibly_invalid_spec()); |
1597 NavigateInternal(common_params, start_params, request_params, | 1610 NavigateInternal(common_params, start_params, request_params, |
1598 std::unique_ptr<StreamOverrideParameters>()); | 1611 std::unique_ptr<StreamOverrideParameters>()); |
1599 } | 1612 } |
1600 | 1613 |
1601 void RenderFrameImpl::Bind(mojom::FrameRequest request, | 1614 void RenderFrameImpl::Bind(mojom::FrameRequest request, |
1602 mojom::FrameHostPtr host) { | 1615 mojom::FrameHostPtr host) { |
1603 frame_binding_.Bind(std::move(request)); | 1616 frame_binding_.Bind(std::move(request)); |
1604 frame_host_ = std::move(host); | 1617 frame_host_ = std::move(host); |
1605 frame_host_->GetInterfaceProvider(service_registry_.TakeRemoteRequest()); | 1618 frame_host_->GetInterfaceProvider( |
| 1619 std::move(pending_remote_interface_provider_request_)); |
1606 } | 1620 } |
1607 | 1621 |
1608 ManifestManager* RenderFrameImpl::manifest_manager() { | 1622 ManifestManager* RenderFrameImpl::manifest_manager() { |
1609 return manifest_manager_; | 1623 return manifest_manager_; |
1610 } | 1624 } |
1611 | 1625 |
1612 void RenderFrameImpl::SetPendingNavigationParams( | 1626 void RenderFrameImpl::SetPendingNavigationParams( |
1613 std::unique_ptr<NavigationParams> navigation_params) { | 1627 std::unique_ptr<NavigationParams> navigation_params) { |
1614 pending_navigation_params_ = std::move(navigation_params); | 1628 pending_navigation_params_ = std::move(navigation_params); |
1615 } | 1629 } |
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2405 | 2419 |
2406 void RenderFrameImpl::LoadURLExternally(const blink::WebURLRequest& request, | 2420 void RenderFrameImpl::LoadURLExternally(const blink::WebURLRequest& request, |
2407 blink::WebNavigationPolicy policy) { | 2421 blink::WebNavigationPolicy policy) { |
2408 loadURLExternally(request, policy, WebString(), false); | 2422 loadURLExternally(request, policy, WebString(), false); |
2409 } | 2423 } |
2410 | 2424 |
2411 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { | 2425 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { |
2412 OnJavaScriptExecuteRequest(javascript, 0, false); | 2426 OnJavaScriptExecuteRequest(javascript, 0, false); |
2413 } | 2427 } |
2414 | 2428 |
2415 ServiceRegistry* RenderFrameImpl::GetServiceRegistry() { | 2429 shell::InterfaceRegistry* RenderFrameImpl::GetInterfaceRegistry() { |
2416 return &service_registry_; | 2430 return interface_registry_.get(); |
| 2431 } |
| 2432 |
| 2433 shell::InterfaceProvider* RenderFrameImpl::GetRemoteInterfaces() { |
| 2434 return remote_interfaces_.get(); |
2417 } | 2435 } |
2418 | 2436 |
2419 #if defined(ENABLE_PLUGINS) | 2437 #if defined(ENABLE_PLUGINS) |
2420 void RenderFrameImpl::RegisterPeripheralPlugin( | 2438 void RenderFrameImpl::RegisterPeripheralPlugin( |
2421 const url::Origin& content_origin, | 2439 const url::Origin& content_origin, |
2422 const base::Closure& unthrottle_callback) { | 2440 const base::Closure& unthrottle_callback) { |
2423 return plugin_power_saver_helper_->RegisterPeripheralPlugin( | 2441 return plugin_power_saver_helper_->RegisterPeripheralPlugin( |
2424 content_origin, unthrottle_callback); | 2442 content_origin, unthrottle_callback); |
2425 } | 2443 } |
2426 | 2444 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2469 gin::ModuleRegistry* registry = gin::ModuleRegistry::From(context); | 2487 gin::ModuleRegistry* registry = gin::ModuleRegistry::From(context); |
2470 if (registry->available_modules().count(mojo::edk::js::Core::kModuleName)) | 2488 if (registry->available_modules().count(mojo::edk::js::Core::kModuleName)) |
2471 return; | 2489 return; |
2472 | 2490 |
2473 v8::HandleScope handle_scope(isolate); | 2491 v8::HandleScope handle_scope(isolate); |
2474 registry->AddBuiltinModule(isolate, mojo::edk::js::Core::kModuleName, | 2492 registry->AddBuiltinModule(isolate, mojo::edk::js::Core::kModuleName, |
2475 mojo::edk::js::Core::GetModule(isolate)); | 2493 mojo::edk::js::Core::GetModule(isolate)); |
2476 registry->AddBuiltinModule(isolate, mojo::edk::js::Support::kModuleName, | 2494 registry->AddBuiltinModule(isolate, mojo::edk::js::Support::kModuleName, |
2477 mojo::edk::js::Support::GetModule(isolate)); | 2495 mojo::edk::js::Support::GetModule(isolate)); |
2478 registry->AddBuiltinModule( | 2496 registry->AddBuiltinModule( |
2479 isolate, ServiceRegistryJsWrapper::kPerFrameModuleName, | 2497 isolate, InterfaceProviderJsWrapper::kPerFrameModuleName, |
2480 ServiceRegistryJsWrapper::Create(isolate, context, &service_registry_) | 2498 InterfaceProviderJsWrapper::Create( |
| 2499 isolate, context, remote_interfaces_.get()) |
2481 .ToV8()); | 2500 .ToV8()); |
2482 registry->AddBuiltinModule( | 2501 registry->AddBuiltinModule( |
2483 isolate, ServiceRegistryJsWrapper::kPerProcessModuleName, | 2502 isolate, InterfaceProviderJsWrapper::kPerProcessModuleName, |
2484 ServiceRegistryJsWrapper::Create( | 2503 InterfaceProviderJsWrapper::Create( |
2485 isolate, context, RenderThread::Get()->GetServiceRegistry()) | 2504 isolate, context, RenderThread::Get()->GetRemoteInterfaces()) |
2486 .ToV8()); | 2505 .ToV8()); |
2487 } | 2506 } |
2488 | 2507 |
2489 void RenderFrameImpl::AddMessageToConsole(ConsoleMessageLevel level, | 2508 void RenderFrameImpl::AddMessageToConsole(ConsoleMessageLevel level, |
2490 const std::string& message) { | 2509 const std::string& message) { |
2491 blink::WebConsoleMessage::Level target_level = | 2510 blink::WebConsoleMessage::Level target_level = |
2492 blink::WebConsoleMessage::LevelLog; | 2511 blink::WebConsoleMessage::LevelLog; |
2493 switch (level) { | 2512 switch (level) { |
2494 case CONSOLE_MESSAGE_LEVEL_DEBUG: | 2513 case CONSOLE_MESSAGE_LEVEL_DEBUG: |
2495 target_level = blink::WebConsoleMessage::LevelDebug; | 2514 target_level = blink::WebConsoleMessage::LevelDebug; |
(...skipping 18 matching lines...) Expand all Loading... |
2514 } | 2533 } |
2515 | 2534 |
2516 bool RenderFrameImpl::IsPasting() const { | 2535 bool RenderFrameImpl::IsPasting() const { |
2517 return is_pasting_; | 2536 return is_pasting_; |
2518 } | 2537 } |
2519 | 2538 |
2520 // mojom::Frame implementation ------------------------------------------------- | 2539 // mojom::Frame implementation ------------------------------------------------- |
2521 | 2540 |
2522 void RenderFrameImpl::GetInterfaceProvider( | 2541 void RenderFrameImpl::GetInterfaceProvider( |
2523 shell::mojom::InterfaceProviderRequest request) { | 2542 shell::mojom::InterfaceProviderRequest request) { |
2524 service_registry_.Bind(std::move(request)); | 2543 interface_registry_->Bind(std::move(request)); |
2525 } | 2544 } |
2526 | 2545 |
2527 // blink::WebFrameClient implementation ---------------------------------------- | 2546 // blink::WebFrameClient implementation ---------------------------------------- |
2528 | 2547 |
2529 blink::WebPlugin* RenderFrameImpl::createPlugin( | 2548 blink::WebPlugin* RenderFrameImpl::createPlugin( |
2530 blink::WebLocalFrame* frame, | 2549 blink::WebLocalFrame* frame, |
2531 const blink::WebPluginParams& params) { | 2550 const blink::WebPluginParams& params) { |
2532 DCHECK_EQ(frame_, frame); | 2551 DCHECK_EQ(frame_, frame); |
2533 blink::WebPlugin* plugin = NULL; | 2552 blink::WebPlugin* plugin = NULL; |
2534 if (GetContentClient()->renderer()->OverrideCreatePlugin( | 2553 if (GetContentClient()->renderer()->OverrideCreatePlugin( |
(...skipping 1882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4417 Send(new FrameHostMsg_ToggleFullscreen(routing_id_, true)); | 4436 Send(new FrameHostMsg_ToggleFullscreen(routing_id_, true)); |
4418 return true; | 4437 return true; |
4419 } | 4438 } |
4420 | 4439 |
4421 bool RenderFrameImpl::exitFullscreen() { | 4440 bool RenderFrameImpl::exitFullscreen() { |
4422 Send(new FrameHostMsg_ToggleFullscreen(routing_id_, false)); | 4441 Send(new FrameHostMsg_ToggleFullscreen(routing_id_, false)); |
4423 return true; | 4442 return true; |
4424 } | 4443 } |
4425 | 4444 |
4426 blink::WebPermissionClient* RenderFrameImpl::permissionClient() { | 4445 blink::WebPermissionClient* RenderFrameImpl::permissionClient() { |
4427 if (!permission_client_) | 4446 if (!permission_client_) { |
4428 permission_client_.reset(new PermissionDispatcher(GetServiceRegistry())); | 4447 permission_client_.reset( |
4429 | 4448 new PermissionDispatcher(GetRemoteInterfaces())); |
| 4449 } |
4430 return permission_client_.get(); | 4450 return permission_client_.get(); |
4431 } | 4451 } |
4432 | 4452 |
4433 blink::WebAppBannerClient* RenderFrameImpl::appBannerClient() { | 4453 blink::WebAppBannerClient* RenderFrameImpl::appBannerClient() { |
4434 if (!app_banner_client_) { | 4454 if (!app_banner_client_) { |
4435 app_banner_client_ = | 4455 app_banner_client_ = |
4436 GetContentClient()->renderer()->CreateAppBannerClient(this); | 4456 GetContentClient()->renderer()->CreateAppBannerClient(this); |
4437 } | 4457 } |
4438 | 4458 |
4439 return app_banner_client_.get(); | 4459 return app_banner_client_.get(); |
(...skipping 15 matching lines...) Expand all Loading... |
4455 const WebURL& url) { | 4475 const WebURL& url) { |
4456 bool user_gesture = WebUserGestureIndicator::isProcessingUserGesture(); | 4476 bool user_gesture = WebUserGestureIndicator::isProcessingUserGesture(); |
4457 Send(new FrameHostMsg_UnregisterProtocolHandler( | 4477 Send(new FrameHostMsg_UnregisterProtocolHandler( |
4458 routing_id_, | 4478 routing_id_, |
4459 base::UTF16ToUTF8(base::StringPiece16(scheme)), | 4479 base::UTF16ToUTF8(base::StringPiece16(scheme)), |
4460 url, | 4480 url, |
4461 user_gesture)); | 4481 user_gesture)); |
4462 } | 4482 } |
4463 | 4483 |
4464 blink::WebBluetooth* RenderFrameImpl::bluetooth() { | 4484 blink::WebBluetooth* RenderFrameImpl::bluetooth() { |
4465 if (!bluetooth_.get()) { | 4485 if (!bluetooth_.get()) |
4466 bluetooth_.reset(new WebBluetoothImpl(GetServiceRegistry())); | 4486 bluetooth_.reset(new WebBluetoothImpl(GetRemoteInterfaces())); |
4467 } | |
4468 return bluetooth_.get(); | 4487 return bluetooth_.get(); |
4469 } | 4488 } |
4470 | 4489 |
4471 void RenderFrameImpl::didSerializeDataForFrame( | 4490 void RenderFrameImpl::didSerializeDataForFrame( |
4472 const WebCString& data, | 4491 const WebCString& data, |
4473 WebFrameSerializerClient::FrameSerializationStatus status) { | 4492 WebFrameSerializerClient::FrameSerializationStatus status) { |
4474 bool end_of_data = status == WebFrameSerializerClient::CurrentFrameIsFinished; | 4493 bool end_of_data = status == WebFrameSerializerClient::CurrentFrameIsFinished; |
4475 Send(new FrameHostMsg_SerializedHtmlWithLocalLinksResponse( | 4494 Send(new FrameHostMsg_SerializedHtmlWithLocalLinksResponse( |
4476 routing_id_, data, end_of_data)); | 4495 routing_id_, data, end_of_data)); |
4477 } | 4496 } |
(...skipping 1649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6127 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { | 6146 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { |
6128 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 6147 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) |
6129 if (!decoder_factory_) { | 6148 if (!decoder_factory_) { |
6130 decoder_factory_.reset( | 6149 decoder_factory_.reset( |
6131 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); | 6150 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); |
6132 } | 6151 } |
6133 #endif | 6152 #endif |
6134 return decoder_factory_.get(); | 6153 return decoder_factory_.get(); |
6135 } | 6154 } |
6136 | 6155 |
6137 void RenderFrameImpl::RegisterMojoServices() { | 6156 void RenderFrameImpl::RegisterMojoInterfaces() { |
6138 // Only main frame have ImageDownloader service. | 6157 // Only main frame have ImageDownloader service. |
6139 if (!frame_->parent()) { | 6158 if (!frame_->parent()) { |
6140 GetServiceRegistry()->AddService(base::Bind( | 6159 GetInterfaceRegistry()->AddInterface(base::Bind( |
6141 &ImageDownloaderImpl::CreateMojoService, base::Unretained(this))); | 6160 &ImageDownloaderImpl::CreateMojoService, base::Unretained(this))); |
6142 } | 6161 } |
6143 } | 6162 } |
6144 | 6163 |
6145 template <typename Interface> | 6164 template <typename Interface> |
6146 void RenderFrameImpl::GetInterface(mojo::InterfaceRequest<Interface> request) { | 6165 void RenderFrameImpl::GetInterface(mojo::InterfaceRequest<Interface> request) { |
6147 GetServiceRegistry()->ConnectToRemoteService(std::move(request)); | 6166 GetRemoteInterfaces()->GetInterface(std::move(request)); |
6148 } | 6167 } |
6149 | 6168 |
6150 shell::mojom::InterfaceProviderPtr RenderFrameImpl::ConnectToApplication( | 6169 shell::mojom::InterfaceProviderPtr RenderFrameImpl::ConnectToApplication( |
6151 const GURL& url) { | 6170 const GURL& url) { |
6152 if (!connector_) | 6171 if (!connector_) |
6153 GetServiceRegistry()->ConnectToRemoteService(mojo::GetProxy(&connector_)); | 6172 GetRemoteInterfaces()->GetInterface(&connector_); |
6154 shell::mojom::InterfaceProviderPtr interface_provider; | 6173 shell::mojom::InterfaceProviderPtr interface_provider; |
6155 shell::mojom::IdentityPtr target(shell::mojom::Identity::New()); | 6174 shell::mojom::IdentityPtr target(shell::mojom::Identity::New()); |
6156 target->name = url.spec(); | 6175 target->name = url.spec(); |
6157 target->user_id = shell::mojom::kInheritUserID; | 6176 target->user_id = shell::mojom::kInheritUserID; |
6158 target->instance = ""; | 6177 target->instance = ""; |
6159 connector_->Connect(std::move(target), GetProxy(&interface_provider), nullptr, | 6178 connector_->Connect(std::move(target), GetProxy(&interface_provider), nullptr, |
6160 nullptr, base::Bind(&OnGotInstanceID)); | 6179 nullptr, base::Bind(&OnGotInstanceID)); |
6161 return interface_provider; | 6180 return interface_provider; |
6162 } | 6181 } |
6163 | 6182 |
6164 media::RendererWebMediaPlayerDelegate* | 6183 media::RendererWebMediaPlayerDelegate* |
6165 RenderFrameImpl::GetWebMediaPlayerDelegate() { | 6184 RenderFrameImpl::GetWebMediaPlayerDelegate() { |
6166 if (!media_player_delegate_) | 6185 if (!media_player_delegate_) |
6167 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); | 6186 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); |
6168 return media_player_delegate_; | 6187 return media_player_delegate_; |
6169 } | 6188 } |
6170 | 6189 |
6171 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( | 6190 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( |
6172 const blink::WebString& sink_id, | 6191 const blink::WebString& sink_id, |
6173 const blink::WebSecurityOrigin& security_origin, | 6192 const blink::WebSecurityOrigin& security_origin, |
6174 blink::WebSetSinkIdCallbacks* web_callbacks) { | 6193 blink::WebSetSinkIdCallbacks* web_callbacks) { |
6175 media::OutputDeviceStatusCB callback = | 6194 media::OutputDeviceStatusCB callback = |
6176 media::ConvertToOutputDeviceStatusCB(web_callbacks); | 6195 media::ConvertToOutputDeviceStatusCB(web_callbacks); |
6177 callback.Run(AudioDeviceFactory::GetOutputDeviceInfo( | 6196 callback.Run(AudioDeviceFactory::GetOutputDeviceInfo( |
6178 routing_id_, 0, sink_id.utf8(), security_origin) | 6197 routing_id_, 0, sink_id.utf8(), security_origin) |
6179 .device_status()); | 6198 .device_status()); |
6180 } | 6199 } |
6181 | 6200 |
6182 blink::ServiceRegistry* RenderFrameImpl::serviceRegistry() { | 6201 blink::ServiceRegistry* RenderFrameImpl::serviceRegistry() { |
6183 return &blink_service_registry_; | 6202 return blink_service_registry_.get(); |
6184 } | 6203 } |
6185 | 6204 |
6186 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() { | 6205 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() { |
6187 if (frame_->document().isPluginDocument()) | 6206 if (frame_->document().isPluginDocument()) |
6188 return frame_->document().to<WebPluginDocument>().plugin(); | 6207 return frame_->document().to<WebPluginDocument>().plugin(); |
6189 | 6208 |
6190 #if defined(ENABLE_PLUGINS) | 6209 #if defined(ENABLE_PLUGINS) |
6191 if (plugin_find_handler_) | 6210 if (plugin_find_handler_) |
6192 return plugin_find_handler_->container()->plugin(); | 6211 return plugin_find_handler_->container()->plugin(); |
6193 #endif | 6212 #endif |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6264 // event target. Potentially a Pepper plugin will receive the event. | 6283 // event target. Potentially a Pepper plugin will receive the event. |
6265 // In order to tell whether a plugin gets the last mouse event and which it | 6284 // In order to tell whether a plugin gets the last mouse event and which it |
6266 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6285 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
6267 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6286 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
6268 // |pepper_last_mouse_event_target_|. | 6287 // |pepper_last_mouse_event_target_|. |
6269 pepper_last_mouse_event_target_ = nullptr; | 6288 pepper_last_mouse_event_target_ = nullptr; |
6270 #endif | 6289 #endif |
6271 } | 6290 } |
6272 | 6291 |
6273 } // namespace content | 6292 } // namespace content |
OLD | NEW |