| 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 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 handling_select_range_(false), | 399 handling_select_range_(false), |
| 400 notification_provider_(NULL), | 400 notification_provider_(NULL), |
| 401 web_user_media_client_(NULL), | 401 web_user_media_client_(NULL), |
| 402 midi_dispatcher_(NULL), | 402 midi_dispatcher_(NULL), |
| 403 #if defined(OS_ANDROID) | 403 #if defined(OS_ANDROID) |
| 404 media_player_manager_(NULL), | 404 media_player_manager_(NULL), |
| 405 #endif | 405 #endif |
| 406 #if defined(ENABLE_BROWSER_CDMS) | 406 #if defined(ENABLE_BROWSER_CDMS) |
| 407 cdm_manager_(NULL), | 407 cdm_manager_(NULL), |
| 408 #endif | 408 #endif |
| 409 #if defined(VIDEO_HOLE) |
| 410 contains_media_player_(false), |
| 411 #endif |
| 409 geolocation_dispatcher_(NULL), | 412 geolocation_dispatcher_(NULL), |
| 410 push_messaging_dispatcher_(NULL), | 413 push_messaging_dispatcher_(NULL), |
| 411 screen_orientation_dispatcher_(NULL), | 414 screen_orientation_dispatcher_(NULL), |
| 412 weak_factory_(this) { | 415 weak_factory_(this) { |
| 413 std::pair<RoutingIDFrameMap::iterator, bool> result = | 416 std::pair<RoutingIDFrameMap::iterator, bool> result = |
| 414 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 417 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
| 415 CHECK(result.second) << "Inserting a duplicate item."; | 418 CHECK(result.second) << "Inserting a duplicate item."; |
| 416 | 419 |
| 417 RenderThread::Get()->AddRoute(routing_id_, this); | 420 RenderThread::Get()->AddRoute(routing_id_, this); |
| 418 | 421 |
| 419 render_view_->RegisterRenderFrame(this); | 422 render_view_->RegisterRenderFrame(this); |
| 420 | 423 |
| 421 #if defined(OS_ANDROID) | 424 #if defined(OS_ANDROID) |
| 422 new JavaBridgeDispatcher(this); | 425 new JavaBridgeDispatcher(this); |
| 423 #endif | 426 #endif |
| 424 | 427 |
| 425 #if defined(ENABLE_NOTIFICATIONS) | 428 #if defined(ENABLE_NOTIFICATIONS) |
| 426 notification_provider_ = new NotificationProvider(this); | 429 notification_provider_ = new NotificationProvider(this); |
| 427 #endif | 430 #endif |
| 428 } | 431 } |
| 429 | 432 |
| 430 RenderFrameImpl::~RenderFrameImpl() { | 433 RenderFrameImpl::~RenderFrameImpl() { |
| 431 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); | 434 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); |
| 432 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); | 435 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); |
| 433 | 436 |
| 434 #if defined(OS_ANDROID) && defined(VIDEO_HOLE) | 437 #if defined(VIDEO_HOLE) |
| 435 if (media_player_manager_) | 438 if (contains_media_player_) |
| 436 render_view_->UnregisterVideoHoleFrame(this); | 439 render_view_->UnregisterVideoHoleFrame(this); |
| 437 #endif | 440 #endif |
| 438 | 441 |
| 439 render_view_->UnregisterRenderFrame(this); | 442 render_view_->UnregisterRenderFrame(this); |
| 440 g_routing_id_frame_map.Get().erase(routing_id_); | 443 g_routing_id_frame_map.Get().erase(routing_id_); |
| 441 RenderThread::Get()->RemoveRoute(routing_id_); | 444 RenderThread::Get()->RemoveRoute(routing_id_); |
| 442 } | 445 } |
| 443 | 446 |
| 444 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { | 447 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { |
| 445 DCHECK(!frame_); | 448 DCHECK(!frame_); |
| (...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1365 return CreatePlugin(frame, info, params_to_use); | 1368 return CreatePlugin(frame, info, params_to_use); |
| 1366 #else | 1369 #else |
| 1367 return NULL; | 1370 return NULL; |
| 1368 #endif // defined(ENABLE_PLUGINS) | 1371 #endif // defined(ENABLE_PLUGINS) |
| 1369 } | 1372 } |
| 1370 | 1373 |
| 1371 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( | 1374 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| 1372 blink::WebLocalFrame* frame, | 1375 blink::WebLocalFrame* frame, |
| 1373 const blink::WebURL& url, | 1376 const blink::WebURL& url, |
| 1374 blink::WebMediaPlayerClient* client) { | 1377 blink::WebMediaPlayerClient* client) { |
| 1378 #if defined(VIDEO_HOLE) |
| 1379 if (!contains_media_player_) { |
| 1380 render_view_->RegisterVideoHoleFrame(this); |
| 1381 contains_media_player_ = true; |
| 1382 } |
| 1383 #endif // defined(VIDEO_HOLE) |
| 1384 |
| 1375 blink::WebMediaStream web_stream( | 1385 blink::WebMediaStream web_stream( |
| 1376 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); | 1386 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); |
| 1377 if (!web_stream.isNull()) | 1387 if (!web_stream.isNull()) |
| 1378 return CreateWebMediaPlayerForMediaStream(url, client); | 1388 return CreateWebMediaPlayerForMediaStream(url, client); |
| 1379 | 1389 |
| 1380 #if defined(OS_ANDROID) | 1390 #if defined(OS_ANDROID) |
| 1381 return CreateAndroidWebMediaPlayer(url, client); | 1391 return CreateAndroidWebMediaPlayer(url, client); |
| 1382 #else | 1392 #else |
| 1383 WebMediaPlayerParams params( | 1393 WebMediaPlayerParams params( |
| 1384 base::Bind(&ContentRendererClient::DeferMediaLoad, | 1394 base::Bind(&ContentRendererClient::DeferMediaLoad, |
| (...skipping 2166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3551 client, | 3561 client, |
| 3552 weak_factory_.GetWeakPtr(), | 3562 weak_factory_.GetWeakPtr(), |
| 3553 GetMediaPlayerManager(), | 3563 GetMediaPlayerManager(), |
| 3554 GetCdmManager(), | 3564 GetCdmManager(), |
| 3555 stream_texture_factory, | 3565 stream_texture_factory, |
| 3556 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), | 3566 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), |
| 3557 new RenderMediaLog()); | 3567 new RenderMediaLog()); |
| 3558 } | 3568 } |
| 3559 | 3569 |
| 3560 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { | 3570 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { |
| 3561 if (!media_player_manager_) { | 3571 if (!media_player_manager_) |
| 3562 media_player_manager_ = new RendererMediaPlayerManager(this); | 3572 media_player_manager_ = new RendererMediaPlayerManager(this); |
| 3563 #if defined(VIDEO_HOLE) | |
| 3564 render_view_->RegisterVideoHoleFrame(this); | |
| 3565 #endif // defined(VIDEO_HOLE) | |
| 3566 } | |
| 3567 return media_player_manager_; | 3573 return media_player_manager_; |
| 3568 } | 3574 } |
| 3569 | 3575 |
| 3570 #endif // defined(OS_ANDROID) | 3576 #endif // defined(OS_ANDROID) |
| 3571 | 3577 |
| 3572 #if defined(ENABLE_BROWSER_CDMS) | 3578 #if defined(ENABLE_BROWSER_CDMS) |
| 3573 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3579 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
| 3574 if (!cdm_manager_) | 3580 if (!cdm_manager_) |
| 3575 cdm_manager_ = new RendererCdmManager(this); | 3581 cdm_manager_ = new RendererCdmManager(this); |
| 3576 return cdm_manager_; | 3582 return cdm_manager_; |
| 3577 } | 3583 } |
| 3578 #endif // defined(ENABLE_BROWSER_CDMS) | 3584 #endif // defined(ENABLE_BROWSER_CDMS) |
| 3579 | 3585 |
| 3580 } // namespace content | 3586 } // namespace content |
| OLD | NEW |