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 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |