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

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: Add basic test on browser side. 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
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 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 notification_provider_(NULL), 404 notification_provider_(NULL),
405 media_stream_client_(NULL), 405 media_stream_client_(NULL),
406 web_user_media_client_(NULL), 406 web_user_media_client_(NULL),
407 weak_factory_(this) { 407 weak_factory_(this) {
408 RenderThread::Get()->AddRoute(routing_id_, this); 408 RenderThread::Get()->AddRoute(routing_id_, this);
409 409
410 std::pair<RoutingIDFrameMap::iterator, bool> result = 410 std::pair<RoutingIDFrameMap::iterator, bool> result =
411 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); 411 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this));
412 CHECK(result.second) << "Inserting a duplicate item."; 412 CHECK(result.second) << "Inserting a duplicate item.";
413 413
414 render_view_->RegisterRenderFrame(this);
415
414 #if defined(OS_ANDROID) 416 #if defined(OS_ANDROID)
415 new JavaBridgeDispatcher(this); 417 new JavaBridgeDispatcher(this);
416 #endif 418 #endif
417 419
418 #if defined(ENABLE_NOTIFICATIONS) 420 #if defined(ENABLE_NOTIFICATIONS)
419 notification_provider_ = new NotificationProvider(this); 421 notification_provider_ = new NotificationProvider(this);
420 #endif 422 #endif
421 } 423 }
422 424
423 RenderFrameImpl::~RenderFrameImpl() { 425 RenderFrameImpl::~RenderFrameImpl() {
424 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); 426 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone());
425 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); 427 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct());
428 render_view_->UnregisterRenderFrame(this);
426 g_routing_id_frame_map.Get().erase(routing_id_); 429 g_routing_id_frame_map.Get().erase(routing_id_);
427 RenderThread::Get()->RemoveRoute(routing_id_); 430 RenderThread::Get()->RemoveRoute(routing_id_);
428 } 431 }
429 432
430 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) { 433 void RenderFrameImpl::SetWebFrame(blink::WebLocalFrame* web_frame) {
431 DCHECK(!frame_); 434 DCHECK(!frame_);
432 435
433 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert( 436 std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert(
434 std::make_pair(web_frame, this)); 437 std::make_pair(web_frame, this));
435 CHECK(result.second) << "Inserting a duplicate item."; 438 CHECK(result.second) << "Inserting a duplicate item.";
(...skipping 2439 matching lines...) Expand 10 before | Expand all | Expand 10 after
2875 2878
2876 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { 2879 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) {
2877 observer->RenderFrameGone(); 2880 observer->RenderFrameGone();
2878 observers_.RemoveObserver(observer); 2881 observers_.RemoveObserver(observer);
2879 } 2882 }
2880 2883
2881 void RenderFrameImpl::OnStop() { 2884 void RenderFrameImpl::OnStop() {
2882 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop()); 2885 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop());
2883 } 2886 }
2884 2887
2888 void RenderFrameImpl::WasHidden() {
2889 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WasHidden());
2890 }
2891
2892 void RenderFrameImpl::WasShown() {
2893 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WasShown());
2894 }
2895
2885 // Tell the embedding application that the URL of the active page has changed. 2896 // Tell the embedding application that the URL of the active page has changed.
2886 void RenderFrameImpl::UpdateURL(blink::WebFrame* frame) { 2897 void RenderFrameImpl::UpdateURL(blink::WebFrame* frame) {
2887 DCHECK(!frame_ || frame_ == frame); 2898 DCHECK(!frame_ || frame_ == frame);
2888 WebDataSource* ds = frame->dataSource(); 2899 WebDataSource* ds = frame->dataSource();
2889 DCHECK(ds); 2900 DCHECK(ds);
2890 2901
2891 const WebURLRequest& request = ds->request(); 2902 const WebURLRequest& request = ds->request();
2892 const WebURLResponse& response = ds->response(); 2903 const WebURLResponse& response = ds->response();
2893 2904
2894 DocumentState* document_state = DocumentState::FromDataSource(ds); 2905 DocumentState* document_state = DocumentState::FromDataSource(ds);
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
3486 weak_factory_.GetWeakPtr(), 3497 weak_factory_.GetWeakPtr(),
3487 render_view_->media_player_manager_, 3498 render_view_->media_player_manager_,
3488 stream_texture_factory, 3499 stream_texture_factory,
3489 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), 3500 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(),
3490 new RenderMediaLog()); 3501 new RenderMediaLog());
3491 } 3502 }
3492 3503
3493 #endif 3504 #endif
3494 3505
3495 } // namespace content 3506 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698