Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(220)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 375713002: Ties RenderFrameImpl VIDEO_HOLE observer to lifetime of RenderWidget. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 push_messaging_dispatcher_(NULL), 410 push_messaging_dispatcher_(NULL),
411 screen_orientation_dispatcher_(NULL), 411 screen_orientation_dispatcher_(NULL),
412 weak_factory_(this) { 412 weak_factory_(this) {
413 std::pair<RoutingIDFrameMap::iterator, bool> result = 413 std::pair<RoutingIDFrameMap::iterator, bool> result =
414 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));
415 CHECK(result.second) << "Inserting a duplicate item."; 415 CHECK(result.second) << "Inserting a duplicate item.";
416 416
417 RenderThread::Get()->AddRoute(routing_id_, this); 417 RenderThread::Get()->AddRoute(routing_id_, this);
418 418
419 render_view_->RegisterRenderFrame(this); 419 render_view_->RegisterRenderFrame(this);
420 #if defined(VIDEO_HOLE)
421 render_view_->RegisterVideoHoleFrame(this);
422 #endif // defined(VIDEO_HOLE)
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 render_view_->UnregisterVideoHoleFrame(this);
436 render_view_->UnregisterVideoHoleFrame(this);
437 #endif 439 #endif
438 440
439 render_view_->UnregisterRenderFrame(this); 441 render_view_->UnregisterRenderFrame(this);
440 g_routing_id_frame_map.Get().erase(routing_id_); 442 g_routing_id_frame_map.Get().erase(routing_id_);
441 RenderThread::Get()->RemoveRoute(routing_id_); 443 RenderThread::Get()->RemoveRoute(routing_id_);
442 } 444 }
443 445
444 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { 446 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) {
445 DCHECK(!frame_); 447 DCHECK(!frame_);
446 448
(...skipping 3106 matching lines...) Expand 10 before | Expand all | Expand 10 after
3553 GetMediaPlayerManager(), 3555 GetMediaPlayerManager(),
3554 GetCdmManager(), 3556 GetCdmManager(),
3555 stream_texture_factory, 3557 stream_texture_factory,
3556 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), 3558 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(),
3557 new RenderMediaLog()); 3559 new RenderMediaLog());
3558 } 3560 }
3559 3561
3560 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { 3562 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() {
3561 if (!media_player_manager_) { 3563 if (!media_player_manager_) {
3562 media_player_manager_ = new RendererMediaPlayerManager(this); 3564 media_player_manager_ = new RendererMediaPlayerManager(this);
3563 #if defined(VIDEO_HOLE)
3564 render_view_->RegisterVideoHoleFrame(this);
3565 #endif // defined(VIDEO_HOLE)
3566 } 3565 }
xhwang 2014/07/08 00:02:43 nit: no need for {} anymore.
gunsch 2014/07/08 00:06:23 Done.
3567 return media_player_manager_; 3566 return media_player_manager_;
3568 } 3567 }
3569 3568
3570 #endif // defined(OS_ANDROID) 3569 #endif // defined(OS_ANDROID)
3571 3570
3572 #if defined(ENABLE_BROWSER_CDMS) 3571 #if defined(ENABLE_BROWSER_CDMS)
3573 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 3572 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
3574 if (!cdm_manager_) 3573 if (!cdm_manager_)
3575 cdm_manager_ = new RendererCdmManager(this); 3574 cdm_manager_ = new RendererCdmManager(this);
3576 return cdm_manager_; 3575 return cdm_manager_;
3577 } 3576 }
3578 #endif // defined(ENABLE_BROWSER_CDMS) 3577 #endif // defined(ENABLE_BROWSER_CDMS)
3579 3578
3580 } // namespace content 3579 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698