OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/public/test/browser_test_utils.h" | 5 #include "content/public/test/browser_test_utils.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/process/kill.h" | 10 #include "base/process/kill.h" |
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
952 } | 952 } |
953 | 953 |
954 bool WebContentsAddedObserver::RenderViewCreatedCalled() { | 954 bool WebContentsAddedObserver::RenderViewCreatedCalled() { |
955 if (child_observer_) { | 955 if (child_observer_) { |
956 return child_observer_->render_view_created_called_ && | 956 return child_observer_->render_view_created_called_ && |
957 child_observer_->main_frame_created_called_; | 957 child_observer_->main_frame_created_called_; |
958 } | 958 } |
959 return false; | 959 return false; |
960 } | 960 } |
961 | 961 |
| 962 RenderViewHostDeletedObserver::RenderViewHostDeletedObserver( |
| 963 RenderViewHost* rvh) |
| 964 : WebContentsObserver(WebContents::FromRenderViewHost(rvh)), |
| 965 process_id_(rvh->GetProcess()->GetID()), |
| 966 routing_id_(rvh->GetRoutingID()), |
| 967 deleted_(false) { |
| 968 } |
| 969 |
| 970 RenderViewHostDeletedObserver::~RenderViewHostDeletedObserver() { |
| 971 } |
| 972 |
| 973 void RenderViewHostDeletedObserver::RenderViewDeleted( |
| 974 RenderViewHost* render_view_host) { |
| 975 if (render_view_host->GetProcess()->GetID() == process_id_ && |
| 976 render_view_host->GetRoutingID() == routing_id_) { |
| 977 deleted_ = true; |
| 978 |
| 979 if (runner_.get()) { |
| 980 runner_->Quit(); |
| 981 runner_.reset(nullptr); |
| 982 } |
| 983 } |
| 984 } |
| 985 |
| 986 bool RenderViewHostDeletedObserver::deleted() { |
| 987 return deleted_; |
| 988 } |
| 989 |
| 990 void RenderViewHostDeletedObserver::WaitUntilDeleted() { |
| 991 if (deleted_) |
| 992 return; |
| 993 |
| 994 runner_.reset(new base::RunLoop()); |
| 995 runner_->Run(); |
| 996 } |
| 997 |
| 998 RenderFrameHostDeletedObserver::RenderFrameHostDeletedObserver( |
| 999 RenderFrameHost* rfh) |
| 1000 : WebContentsObserver(WebContents::FromRenderFrameHost(rfh)), |
| 1001 process_id_(rfh->GetProcess()->GetID()), |
| 1002 routing_id_(rfh->GetRoutingID()), |
| 1003 deleted_(false) { |
| 1004 } |
| 1005 |
| 1006 RenderFrameHostDeletedObserver::~RenderFrameHostDeletedObserver() { |
| 1007 } |
| 1008 |
| 1009 void RenderFrameHostDeletedObserver::RenderFrameDeleted( |
| 1010 RenderFrameHost* render_frame_host) { |
| 1011 if (render_frame_host->GetProcess()->GetID() == process_id_ && |
| 1012 render_frame_host->GetRoutingID() == routing_id_) { |
| 1013 deleted_ = true; |
| 1014 |
| 1015 if (runner_.get()) |
| 1016 runner_->Quit(); |
| 1017 } |
| 1018 } |
| 1019 |
| 1020 bool RenderFrameHostDeletedObserver::deleted() { |
| 1021 return deleted_; |
| 1022 } |
| 1023 |
| 1024 void RenderFrameHostDeletedObserver::WaitUntilDeleted() { |
| 1025 if (deleted_) |
| 1026 return; |
| 1027 |
| 1028 runner_.reset(new base::RunLoop()); |
| 1029 runner_->Run(); |
| 1030 runner_.reset(nullptr); |
| 1031 } |
| 1032 |
962 } // namespace content | 1033 } // namespace content |
OLD | NEW |