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

Unified Diff: content/public/test/browser_test_utils.cc

Issue 1155993003: Fix accessibility with out-of-process iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixing unittests Created 5 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 side-by-side diff with in-line comments
Download patch
Index: content/public/test/browser_test_utils.cc
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index 001ceeaab81a8e46bfd863aba448a2d735da27fb..55fa908ad9b0eba9b2d02ed0366cce04c0a301aa 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -1013,4 +1013,39 @@ void FrameWatcher::WaitFrames(int frames_to_wait) {
run_loop.Run();
}
+RenderFrameDeletedObserver::RenderFrameDeletedObserver(
+ RenderFrameHost* rfh)
+ : WebContentsObserver(WebContents::FromRenderFrameHost(rfh)),
+ process_id_(rfh->GetProcess()->GetID()),
+ routing_id_(rfh->GetRoutingID()),
+ deleted_(false) {
+}
+
+RenderFrameDeletedObserver::~RenderFrameDeletedObserver() {
+}
+
+void RenderFrameDeletedObserver::RenderFrameDeleted(
+ RenderFrameHost* render_frame_host) {
+ if (render_frame_host->GetProcess()->GetID() == process_id_ &&
+ render_frame_host->GetRoutingID() == routing_id_) {
+ deleted_ = true;
+
+ if (runner_.get())
+ runner_->Quit();
+ }
+}
+
+bool RenderFrameDeletedObserver::deleted() {
+ return deleted_;
+}
+
+void RenderFrameDeletedObserver::WaitUntilDeleted() {
+ if (deleted_)
+ return;
+
+ runner_.reset(new base::RunLoop());
+ runner_->Run();
+ runner_.reset(nullptr);
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698