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 |
411 std::pair<RoutingIDFrameMap::iterator, bool> result = | 413 std::pair<RoutingIDFrameMap::iterator, bool> result = |
412 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 414 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
413 CHECK(result.second) << "Inserting a duplicate item."; | 415 CHECK(result.second) << "Inserting a duplicate item."; |
414 | 416 |
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 | |
912 void RenderFrameImpl::OnBeforeUnload() { | 907 void RenderFrameImpl::OnBeforeUnload() { |
913 // TODO(creis): Right now, this is only called on the main frame. Make the | 908 // TODO(creis): Right now, this is only called on the main frame. Make the |
914 // browser process send dispatchBeforeUnloadEvent to every frame that needs | 909 // browser process send dispatchBeforeUnloadEvent to every frame that needs |
915 // it. | 910 // it. |
916 CHECK(!frame_->parent()); | 911 CHECK(!frame_->parent()); |
917 | 912 |
918 base::TimeTicks before_unload_start_time = base::TimeTicks::Now(); | 913 base::TimeTicks before_unload_start_time = base::TimeTicks::Now(); |
919 bool proceed = frame_->dispatchBeforeUnloadEvent(); | 914 bool proceed = frame_->dispatchBeforeUnloadEvent(); |
920 base::TimeTicks before_unload_end_time = base::TimeTicks::Now(); | 915 base::TimeTicks before_unload_end_time = base::TimeTicks::Now(); |
921 Send(new FrameHostMsg_BeforeUnload_ACK(routing_id_, proceed, | 916 Send(new FrameHostMsg_BeforeUnload_ACK(routing_id_, proceed, |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1314 const blink::WebURLRequest& request, | 1309 const blink::WebURLRequest& request, |
1315 blink::WebNavigationPolicy policy) { | 1310 blink::WebNavigationPolicy policy) { |
1316 DCHECK(!frame_ || frame_ == frame); | 1311 DCHECK(!frame_ || frame_ == frame); |
1317 loadURLExternally(frame, request, policy, WebString()); | 1312 loadURLExternally(frame, request, policy, WebString()); |
1318 } | 1313 } |
1319 | 1314 |
1320 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { | 1315 void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { |
1321 OnJavaScriptExecuteRequest(javascript, 0, false); | 1316 OnJavaScriptExecuteRequest(javascript, 0, false); |
1322 } | 1317 } |
1323 | 1318 |
1324 ServiceRegistry* RenderFrameImpl::GetServiceRegistry() { | |
1325 return &service_registry_; | |
1326 } | |
1327 | |
1328 // blink::WebFrameClient implementation ---------------------------------------- | 1319 // blink::WebFrameClient implementation ---------------------------------------- |
1329 | 1320 |
1330 blink::WebPlugin* RenderFrameImpl::createPlugin( | 1321 blink::WebPlugin* RenderFrameImpl::createPlugin( |
1331 blink::WebLocalFrame* frame, | 1322 blink::WebLocalFrame* frame, |
1332 const blink::WebPluginParams& params) { | 1323 const blink::WebPluginParams& params) { |
1333 DCHECK_EQ(frame_, frame); | 1324 DCHECK_EQ(frame_, frame); |
1334 blink::WebPlugin* plugin = NULL; | 1325 blink::WebPlugin* plugin = NULL; |
1335 if (GetContentClient()->renderer()->OverrideCreatePlugin( | 1326 if (GetContentClient()->renderer()->OverrideCreatePlugin( |
1336 this, frame, params, &plugin)) { | 1327 this, frame, params, &plugin)) { |
1337 return plugin; | 1328 return plugin; |
(...skipping 2226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3564 | 3555 |
3565 #if defined(ENABLE_BROWSER_CDMS) | 3556 #if defined(ENABLE_BROWSER_CDMS) |
3566 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3557 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
3567 if (!cdm_manager_) | 3558 if (!cdm_manager_) |
3568 cdm_manager_ = new RendererCdmManager(this); | 3559 cdm_manager_ = new RendererCdmManager(this); |
3569 return cdm_manager_; | 3560 return cdm_manager_; |
3570 } | 3561 } |
3571 #endif // defined(ENABLE_BROWSER_CDMS) | 3562 #endif // defined(ENABLE_BROWSER_CDMS) |
3572 | 3563 |
3573 } // namespace content | 3564 } // namespace content |
OLD | NEW |