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