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 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 midi_dispatcher_(NULL), | 401 midi_dispatcher_(NULL), |
402 #if defined(OS_ANDROID) | 402 #if defined(OS_ANDROID) |
403 media_player_manager_(NULL), | 403 media_player_manager_(NULL), |
404 #endif | 404 #endif |
405 #if defined(ENABLE_BROWSER_CDMS) | 405 #if defined(ENABLE_BROWSER_CDMS) |
406 cdm_manager_(NULL), | 406 cdm_manager_(NULL), |
407 #endif | 407 #endif |
408 geolocation_dispatcher_(NULL), | 408 geolocation_dispatcher_(NULL), |
409 screen_orientation_dispatcher_(NULL), | 409 screen_orientation_dispatcher_(NULL), |
410 weak_factory_(this) { | 410 weak_factory_(this) { |
411 RenderThread::Get()->AddRoute(routing_id_, this); | |
412 | |
413 std::pair<RoutingIDFrameMap::iterator, bool> result = | 411 std::pair<RoutingIDFrameMap::iterator, bool> result = |
414 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 412 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
415 CHECK(result.second) << "Inserting a duplicate item."; | 413 CHECK(result.second) << "Inserting a duplicate item."; |
416 | 414 |
| 415 RenderThread::Get()->AddRoute(routing_id_, this); |
| 416 |
417 render_view_->RegisterRenderFrame(this); | 417 render_view_->RegisterRenderFrame(this); |
418 | 418 |
419 #if defined(OS_ANDROID) | 419 #if defined(OS_ANDROID) |
420 new JavaBridgeDispatcher(this); | 420 new JavaBridgeDispatcher(this); |
421 #endif | 421 #endif |
422 | 422 |
423 #if defined(ENABLE_NOTIFICATIONS) | 423 #if defined(ENABLE_NOTIFICATIONS) |
424 notification_provider_ = new NotificationProvider(this); | 424 notification_provider_ = new NotificationProvider(this); |
425 #endif | 425 #endif |
426 } | 426 } |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
897 (navigation_start - base::TimeTicks()).InSecondsF(); | 897 (navigation_start - base::TimeTicks()).InSecondsF(); |
898 frame->provisionalDataSource()->setNavigationStartTime( | 898 frame->provisionalDataSource()->setNavigationStartTime( |
899 navigation_start_seconds); | 899 navigation_start_seconds); |
900 } | 900 } |
901 } | 901 } |
902 | 902 |
903 // In case LoadRequest failed before DidCreateDataSource was called. | 903 // In case LoadRequest failed before DidCreateDataSource was called. |
904 render_view_->pending_navigation_params_.reset(); | 904 render_view_->pending_navigation_params_.reset(); |
905 } | 905 } |
906 | 906 |
| 907 void RenderFrameImpl::BindServiceRegistry( |
| 908 mojo::ScopedMessagePipeHandle service_provider_handle) { |
| 909 service_registry_.BindRemoteServiceProvider(service_provider_handle.Pass()); |
| 910 } |
| 911 |
907 void RenderFrameImpl::OnBeforeUnload() { | 912 void RenderFrameImpl::OnBeforeUnload() { |
908 // TODO(creis): Right now, this is only called on the main frame. Make the | 913 // TODO(creis): Right now, this is only called on the main frame. Make the |
909 // browser process send dispatchBeforeUnloadEvent to every frame that needs | 914 // browser process send dispatchBeforeUnloadEvent to every frame that needs |
910 // it. | 915 // it. |
911 CHECK(!frame_->parent()); | 916 CHECK(!frame_->parent()); |
912 | 917 |
913 base::TimeTicks before_unload_start_time = base::TimeTicks::Now(); | 918 base::TimeTicks before_unload_start_time = base::TimeTicks::Now(); |
914 bool proceed = frame_->dispatchBeforeUnloadEvent(); | 919 bool proceed = frame_->dispatchBeforeUnloadEvent(); |
915 base::TimeTicks before_unload_end_time = base::TimeTicks::Now(); | 920 base::TimeTicks before_unload_end_time = base::TimeTicks::Now(); |
916 Send(new FrameHostMsg_BeforeUnload_ACK(routing_id_, proceed, | 921 Send(new FrameHostMsg_BeforeUnload_ACK(routing_id_, proceed, |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1309 const blink::WebURLRequest& request, | 1314 const blink::WebURLRequest& request, |
1310 blink::WebNavigationPolicy policy) { | 1315 blink::WebNavigationPolicy policy) { |
1311 DCHECK(!frame_ || frame_ == frame); | 1316 DCHECK(!frame_ || frame_ == frame); |
1312 loadURLExternally(frame, request, policy, WebString()); | 1317 loadURLExternally(frame, request, policy, WebString()); |
1313 } | 1318 } |
1314 | 1319 |
1315 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { | 1320 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { |
1316 OnJavaScriptExecuteRequest(javascript, 0, false); | 1321 OnJavaScriptExecuteRequest(javascript, 0, false); |
1317 } | 1322 } |
1318 | 1323 |
| 1324 ServiceRegistry* RenderFrameImpl::GetServiceRegistry() { |
| 1325 return &service_registry_; |
| 1326 } |
| 1327 |
1319 // blink::WebFrameClient implementation ---------------------------------------- | 1328 // blink::WebFrameClient implementation ---------------------------------------- |
1320 | 1329 |
1321 blink::WebPlugin* RenderFrameImpl::createPlugin( | 1330 blink::WebPlugin* RenderFrameImpl::createPlugin( |
1322 blink::WebLocalFrame* frame, | 1331 blink::WebLocalFrame* frame, |
1323 const blink::WebPluginParams& params) { | 1332 const blink::WebPluginParams& params) { |
1324 DCHECK_EQ(frame_, frame); | 1333 DCHECK_EQ(frame_, frame); |
1325 blink::WebPlugin* plugin = NULL; | 1334 blink::WebPlugin* plugin = NULL; |
1326 if (GetContentClient()->renderer()->OverrideCreatePlugin( | 1335 if (GetContentClient()->renderer()->OverrideCreatePlugin( |
1327 this, frame, params, &plugin)) { | 1336 this, frame, params, &plugin)) { |
1328 return plugin; | 1337 return plugin; |
(...skipping 2226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3555 | 3564 |
3556 #if defined(ENABLE_BROWSER_CDMS) | 3565 #if defined(ENABLE_BROWSER_CDMS) |
3557 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3566 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
3558 if (!cdm_manager_) | 3567 if (!cdm_manager_) |
3559 cdm_manager_ = new RendererCdmManager(this); | 3568 cdm_manager_ = new RendererCdmManager(this); |
3560 return cdm_manager_; | 3569 return cdm_manager_; |
3561 } | 3570 } |
3562 #endif // defined(ENABLE_BROWSER_CDMS) | 3571 #endif // defined(ENABLE_BROWSER_CDMS) |
3563 | 3572 |
3564 } // namespace content | 3573 } // namespace content |
OLD | NEW |