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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 #endif | 118 #endif |
119 | 119 |
120 #if defined(OS_ANDROID) | 120 #if defined(OS_ANDROID) |
121 #include <cpu-features.h> | 121 #include <cpu-features.h> |
122 | 122 |
123 #include "content/common/gpu/client/context_provider_command_buffer.h" | 123 #include "content/common/gpu/client/context_provider_command_buffer.h" |
124 #include "content/renderer/android/synchronous_compositor_factory.h" | 124 #include "content/renderer/android/synchronous_compositor_factory.h" |
125 #include "content/renderer/media/android/renderer_media_player_manager.h" | 125 #include "content/renderer/media/android/renderer_media_player_manager.h" |
126 #include "content/renderer/media/android/stream_texture_factory_impl.h" | 126 #include "content/renderer/media/android/stream_texture_factory_impl.h" |
127 #include "content/renderer/media/android/webmediaplayer_android.h" | 127 #include "content/renderer/media/android/webmediaplayer_android.h" |
| 128 #include "content/renderer/media/crypto/renderer_cdm_manager.h" |
128 #endif | 129 #endif |
129 | 130 |
130 using blink::WebContextMenuData; | 131 using blink::WebContextMenuData; |
131 using blink::WebData; | 132 using blink::WebData; |
132 using blink::WebDataSource; | 133 using blink::WebDataSource; |
133 using blink::WebDocument; | 134 using blink::WebDocument; |
134 using blink::WebElement; | 135 using blink::WebElement; |
135 using blink::WebFrame; | 136 using blink::WebFrame; |
136 using blink::WebHistoryItem; | 137 using blink::WebHistoryItem; |
137 using blink::WebHTTPBody; | 138 using blink::WebHTTPBody; |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 render_frame_proxy_(NULL), | 402 render_frame_proxy_(NULL), |
402 is_detaching_(false), | 403 is_detaching_(false), |
403 cookie_jar_(this), | 404 cookie_jar_(this), |
404 selection_text_offset_(0), | 405 selection_text_offset_(0), |
405 selection_range_(gfx::Range::InvalidRange()), | 406 selection_range_(gfx::Range::InvalidRange()), |
406 handling_select_range_(false), | 407 handling_select_range_(false), |
407 notification_provider_(NULL), | 408 notification_provider_(NULL), |
408 web_user_media_client_(NULL), | 409 web_user_media_client_(NULL), |
409 #if defined(OS_ANDROID) | 410 #if defined(OS_ANDROID) |
410 media_player_manager_(NULL), | 411 media_player_manager_(NULL), |
| 412 cdm_manager_(NULL), |
411 #endif | 413 #endif |
412 weak_factory_(this) { | 414 weak_factory_(this) { |
413 RenderThread::Get()->AddRoute(routing_id_, this); | 415 RenderThread::Get()->AddRoute(routing_id_, this); |
414 | 416 |
415 std::pair<RoutingIDFrameMap::iterator, bool> result = | 417 std::pair<RoutingIDFrameMap::iterator, bool> result = |
416 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 418 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
417 CHECK(result.second) << "Inserting a duplicate item."; | 419 CHECK(result.second) << "Inserting a duplicate item."; |
418 | 420 |
419 #if defined(OS_ANDROID) | 421 #if defined(OS_ANDROID) |
420 new JavaBridgeDispatcher(this); | 422 new JavaBridgeDispatcher(this); |
(...skipping 3068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3489 | 3491 |
3490 stream_texture_factory = StreamTextureFactoryImpl::Create( | 3492 stream_texture_factory = StreamTextureFactoryImpl::Create( |
3491 context_provider, gpu_channel_host, routing_id_); | 3493 context_provider, gpu_channel_host, routing_id_); |
3492 } | 3494 } |
3493 | 3495 |
3494 return new WebMediaPlayerAndroid( | 3496 return new WebMediaPlayerAndroid( |
3495 frame_, | 3497 frame_, |
3496 client, | 3498 client, |
3497 weak_factory_.GetWeakPtr(), | 3499 weak_factory_.GetWeakPtr(), |
3498 GetMediaPlayerManager(), | 3500 GetMediaPlayerManager(), |
| 3501 GetCdmManager(), |
3499 stream_texture_factory, | 3502 stream_texture_factory, |
3500 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), | 3503 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), |
3501 new RenderMediaLog()); | 3504 new RenderMediaLog()); |
3502 } | 3505 } |
3503 | 3506 |
3504 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { | 3507 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { |
3505 if (!media_player_manager_) { | 3508 if (!media_player_manager_) { |
3506 media_player_manager_ = new RendererMediaPlayerManager(this); | 3509 media_player_manager_ = new RendererMediaPlayerManager(this); |
3507 #if defined(VIDEO_HOLE) | 3510 #if defined(VIDEO_HOLE) |
3508 render_view_->RegisterVideoHoleFrame(this); | 3511 render_view_->RegisterVideoHoleFrame(this); |
3509 #endif // defined(VIDEO_HOLE) | 3512 #endif // defined(VIDEO_HOLE) |
3510 } | 3513 } |
3511 return media_player_manager_; | 3514 return media_player_manager_; |
3512 } | 3515 } |
3513 | 3516 |
| 3517 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
| 3518 if (!cdm_manager_) |
| 3519 cdm_manager_ = new RendererCdmManager(this); |
| 3520 return cdm_manager_; |
| 3521 } |
| 3522 |
3514 #endif // defined(OS_ANDROID) | 3523 #endif // defined(OS_ANDROID) |
3515 | 3524 |
3516 } // namespace content | 3525 } // namespace content |
OLD | NEW |