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

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

Issue 298283003: Add WasShown/WasHidden to RenderFrameObserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on ToT. Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_widget.h » ('j') | 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 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 #if defined(OS_ANDROID) 409 #if defined(OS_ANDROID)
410 media_player_manager_(NULL), 410 media_player_manager_(NULL),
411 #endif 411 #endif
412 weak_factory_(this) { 412 weak_factory_(this) {
413 RenderThread::Get()->AddRoute(routing_id_, this); 413 RenderThread::Get()->AddRoute(routing_id_, this);
414 414
415 std::pair<RoutingIDFrameMap::iterator, bool> result = 415 std::pair<RoutingIDFrameMap::iterator, bool> result =
416 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); 416 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this));
417 CHECK(result.second) << "Inserting a duplicate item."; 417 CHECK(result.second) << "Inserting a duplicate item.";
418 418
419 render_view_->RegisterRenderFrame(this);
420
419 #if defined(OS_ANDROID) 421 #if defined(OS_ANDROID)
420 new JavaBridgeDispatcher(this); 422 new JavaBridgeDispatcher(this);
421 #endif 423 #endif
422 424
423 #if defined(ENABLE_NOTIFICATIONS) 425 #if defined(ENABLE_NOTIFICATIONS)
424 notification_provider_ = new NotificationProvider(this); 426 notification_provider_ = new NotificationProvider(this);
425 #endif 427 #endif
426 } 428 }
427 429
428 RenderFrameImpl::~RenderFrameImpl() { 430 RenderFrameImpl::~RenderFrameImpl() {
429 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); 431 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone());
430 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); 432 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct());
433
431 #if defined(VIDEO_HOLE) 434 #if defined(VIDEO_HOLE)
432 if (media_player_manager_) 435 if (media_player_manager_)
433 render_view_->UnregisterVideoHoleFrame(this); 436 render_view_->UnregisterVideoHoleFrame(this);
434 #endif // defined(VIDEO_HOLE) 437 #endif // defined(VIDEO_HOLE)
438
439 render_view_->UnregisterRenderFrame(this);
435 g_routing_id_frame_map.Get().erase(routing_id_); 440 g_routing_id_frame_map.Get().erase(routing_id_);
436 RenderThread::Get()->RemoveRoute(routing_id_); 441 RenderThread::Get()->RemoveRoute(routing_id_);
437 } 442 }
438 443
439 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { 444 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) {
440 DCHECK(!frame_); 445 DCHECK(!frame_);
441 446
442 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert( 447 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert(
443 std::make_pair(web_frame, this)); 448 std::make_pair(web_frame, this));
444 CHECK(result.second) << "Inserting a duplicate item."; 449 CHECK(result.second) << "Inserting a duplicate item.";
(...skipping 2435 matching lines...) Expand 10 before | Expand all | Expand 10 after
2880 2885
2881 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { 2886 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) {
2882 observer->RenderFrameGone(); 2887 observer->RenderFrameGone();
2883 observers_.RemoveObserver(observer); 2888 observers_.RemoveObserver(observer);
2884 } 2889 }
2885 2890
2886 void RenderFrameImpl::OnStop() { 2891 void RenderFrameImpl::OnStop() {
2887 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop()); 2892 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop());
2888 } 2893 }
2889 2894
2895 void RenderFrameImpl::WasHidden() {
2896 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WasHidden());
2897 }
2898
2899 void RenderFrameImpl::WasShown() {
2900 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WasShown());
2901 }
2902
2890 // Tell the embedding application that the URL of the active page has changed. 2903 // Tell the embedding application that the URL of the active page has changed.
2891 void RenderFrameImpl::UpdateURL(blink::WebFrame* frame) { 2904 void RenderFrameImpl::UpdateURL(blink::WebFrame* frame) {
2892 DCHECK(!frame_ || frame_ == frame); 2905 DCHECK(!frame_ || frame_ == frame);
2893 WebDataSource* ds = frame->dataSource(); 2906 WebDataSource* ds = frame->dataSource();
2894 DCHECK(ds); 2907 DCHECK(ds);
2895 2908
2896 const WebURLRequest& request = ds->request(); 2909 const WebURLRequest& request = ds->request();
2897 const WebURLResponse& response = ds->response(); 2910 const WebURLResponse& response = ds->response();
2898 2911
2899 DocumentState* document_state = DocumentState::FromDataSource(ds); 2912 DocumentState* document_state = DocumentState::FromDataSource(ds);
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
3507 #if defined(VIDEO_HOLE) 3520 #if defined(VIDEO_HOLE)
3508 render_view_->RegisterVideoHoleFrame(this); 3521 render_view_->RegisterVideoHoleFrame(this);
3509 #endif // defined(VIDEO_HOLE) 3522 #endif // defined(VIDEO_HOLE)
3510 } 3523 }
3511 return media_player_manager_; 3524 return media_player_manager_;
3512 } 3525 }
3513 3526
3514 #endif // defined(OS_ANDROID) 3527 #endif // defined(OS_ANDROID)
3515 3528
3516 } // namespace content 3529 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698