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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 #endif | 120 #endif |
121 | 121 |
122 #if defined(OS_ANDROID) | 122 #if defined(OS_ANDROID) |
123 #include <cpu-features.h> | 123 #include <cpu-features.h> |
124 | 124 |
125 #include "content/common/gpu/client/context_provider_command_buffer.h" | 125 #include "content/common/gpu/client/context_provider_command_buffer.h" |
126 #include "content/renderer/android/synchronous_compositor_factory.h" | 126 #include "content/renderer/android/synchronous_compositor_factory.h" |
127 #include "content/renderer/media/android/renderer_media_player_manager.h" | 127 #include "content/renderer/media/android/renderer_media_player_manager.h" |
128 #include "content/renderer/media/android/stream_texture_factory_impl.h" | 128 #include "content/renderer/media/android/stream_texture_factory_impl.h" |
129 #include "content/renderer/media/android/webmediaplayer_android.h" | 129 #include "content/renderer/media/android/webmediaplayer_android.h" |
| 130 #endif |
| 131 |
| 132 #if defined(ENABLE_BROWSER_CDMS) |
130 #include "content/renderer/media/crypto/renderer_cdm_manager.h" | 133 #include "content/renderer/media/crypto/renderer_cdm_manager.h" |
131 #endif | 134 #endif |
132 | 135 |
133 using blink::WebContextMenuData; | 136 using blink::WebContextMenuData; |
134 using blink::WebData; | 137 using blink::WebData; |
135 using blink::WebDataSource; | 138 using blink::WebDataSource; |
136 using blink::WebDocument; | 139 using blink::WebDocument; |
137 using blink::WebElement; | 140 using blink::WebElement; |
138 using blink::WebFrame; | 141 using blink::WebFrame; |
139 using blink::WebHistoryItem; | 142 using blink::WebHistoryItem; |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 render_frame_proxy_(NULL), | 412 render_frame_proxy_(NULL), |
410 is_detaching_(false), | 413 is_detaching_(false), |
411 cookie_jar_(this), | 414 cookie_jar_(this), |
412 selection_text_offset_(0), | 415 selection_text_offset_(0), |
413 selection_range_(gfx::Range::InvalidRange()), | 416 selection_range_(gfx::Range::InvalidRange()), |
414 handling_select_range_(false), | 417 handling_select_range_(false), |
415 notification_provider_(NULL), | 418 notification_provider_(NULL), |
416 web_user_media_client_(NULL), | 419 web_user_media_client_(NULL), |
417 #if defined(OS_ANDROID) | 420 #if defined(OS_ANDROID) |
418 media_player_manager_(NULL), | 421 media_player_manager_(NULL), |
| 422 #endif |
| 423 #if defined(ENABLE_BROWSER_CDMS) |
419 cdm_manager_(NULL), | 424 cdm_manager_(NULL), |
420 #endif | 425 #endif |
421 geolocation_dispatcher_(NULL), | 426 geolocation_dispatcher_(NULL), |
422 weak_factory_(this) { | 427 weak_factory_(this) { |
423 RenderThread::Get()->AddRoute(routing_id_, this); | 428 RenderThread::Get()->AddRoute(routing_id_, this); |
424 | 429 |
425 std::pair<RoutingIDFrameMap::iterator, bool> result = | 430 std::pair<RoutingIDFrameMap::iterator, bool> result = |
426 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 431 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
427 CHECK(result.second) << "Inserting a duplicate item."; | 432 CHECK(result.second) << "Inserting a duplicate item."; |
428 | 433 |
429 render_view_->RegisterRenderFrame(this); | 434 render_view_->RegisterRenderFrame(this); |
430 | 435 |
431 #if defined(OS_ANDROID) | 436 #if defined(OS_ANDROID) |
432 new JavaBridgeDispatcher(this); | 437 new JavaBridgeDispatcher(this); |
433 #endif | 438 #endif |
434 | 439 |
435 #if defined(ENABLE_NOTIFICATIONS) | 440 #if defined(ENABLE_NOTIFICATIONS) |
436 notification_provider_ = new NotificationProvider(this); | 441 notification_provider_ = new NotificationProvider(this); |
437 #endif | 442 #endif |
438 } | 443 } |
439 | 444 |
440 RenderFrameImpl::~RenderFrameImpl() { | 445 RenderFrameImpl::~RenderFrameImpl() { |
441 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); | 446 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); |
442 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); | 447 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); |
443 | 448 |
444 #if defined(VIDEO_HOLE) | 449 #if defined(OS_ANDROID) && defined(VIDEO_HOLE) |
445 if (media_player_manager_) | 450 if (media_player_manager_) |
446 render_view_->UnregisterVideoHoleFrame(this); | 451 render_view_->UnregisterVideoHoleFrame(this); |
447 #endif // defined(VIDEO_HOLE) | 452 #endif |
448 | 453 |
449 render_view_->UnregisterRenderFrame(this); | 454 render_view_->UnregisterRenderFrame(this); |
450 g_routing_id_frame_map.Get().erase(routing_id_); | 455 g_routing_id_frame_map.Get().erase(routing_id_); |
451 RenderThread::Get()->RemoveRoute(routing_id_); | 456 RenderThread::Get()->RemoveRoute(routing_id_); |
452 } | 457 } |
453 | 458 |
454 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { | 459 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { |
455 DCHECK(!frame_); | 460 DCHECK(!frame_); |
456 | 461 |
457 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert( | 462 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert( |
(...skipping 957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1415 | 1420 |
1416 blink::WebContentDecryptionModule* | 1421 blink::WebContentDecryptionModule* |
1417 RenderFrameImpl::createContentDecryptionModule( | 1422 RenderFrameImpl::createContentDecryptionModule( |
1418 blink::WebLocalFrame* frame, | 1423 blink::WebLocalFrame* frame, |
1419 const blink::WebSecurityOrigin& security_origin, | 1424 const blink::WebSecurityOrigin& security_origin, |
1420 const blink::WebString& key_system) { | 1425 const blink::WebString& key_system) { |
1421 DCHECK(!frame_ || frame_ == frame); | 1426 DCHECK(!frame_ || frame_ == frame); |
1422 return WebContentDecryptionModuleImpl::Create( | 1427 return WebContentDecryptionModuleImpl::Create( |
1423 #if defined(ENABLE_PEPPER_CDMS) | 1428 #if defined(ENABLE_PEPPER_CDMS) |
1424 frame, | 1429 frame, |
1425 #elif defined(OS_ANDROID) | 1430 #elif defined(ENABLE_BROWSER_CDMS) |
1426 GetCdmManager(), | 1431 GetCdmManager(), |
1427 #endif | 1432 #endif |
1428 security_origin, | 1433 security_origin, |
1429 key_system); | 1434 key_system); |
1430 } | 1435 } |
1431 | 1436 |
1432 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( | 1437 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( |
1433 blink::WebLocalFrame* frame, | 1438 blink::WebLocalFrame* frame, |
1434 blink::WebApplicationCacheHostClient* client) { | 1439 blink::WebApplicationCacheHostClient* client) { |
1435 if (!frame || !frame->view()) | 1440 if (!frame || !frame->view()) |
(...skipping 2127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3563 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { | 3568 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { |
3564 if (!media_player_manager_) { | 3569 if (!media_player_manager_) { |
3565 media_player_manager_ = new RendererMediaPlayerManager(this); | 3570 media_player_manager_ = new RendererMediaPlayerManager(this); |
3566 #if defined(VIDEO_HOLE) | 3571 #if defined(VIDEO_HOLE) |
3567 render_view_->RegisterVideoHoleFrame(this); | 3572 render_view_->RegisterVideoHoleFrame(this); |
3568 #endif // defined(VIDEO_HOLE) | 3573 #endif // defined(VIDEO_HOLE) |
3569 } | 3574 } |
3570 return media_player_manager_; | 3575 return media_player_manager_; |
3571 } | 3576 } |
3572 | 3577 |
| 3578 #endif // defined(OS_ANDROID) |
| 3579 |
| 3580 #if defined(ENABLE_BROWSER_CDMS) |
3573 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3581 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
3574 if (!cdm_manager_) | 3582 if (!cdm_manager_) |
3575 cdm_manager_ = new RendererCdmManager(this); | 3583 cdm_manager_ = new RendererCdmManager(this); |
3576 return cdm_manager_; | 3584 return cdm_manager_; |
3577 } | 3585 } |
3578 | 3586 #endif // defined(ENABLE_BROWSER_CDMS) |
3579 #endif // defined(OS_ANDROID) | |
3580 | 3587 |
3581 } // namespace content | 3588 } // namespace content |
OLD | NEW |