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

Unified Diff: content/test/test_frame_navigation_observer.cc

Issue 1816733002: Change TestFrameNavigationObserver to wait for load stop instead of commit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unneeded observer and Wait call. Created 4 years, 9 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
« no previous file with comments | « content/test/test_frame_navigation_observer.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/test/test_frame_navigation_observer.cc
diff --git a/content/test/test_frame_navigation_observer.cc b/content/test/test_frame_navigation_observer.cc
index 39cfb85e97d70b6481d04199e11bc87626315d8f..002a987d46f3988e1320b82e5bfdbb5970e30d0e 100644
--- a/content/test/test_frame_navigation_observer.cc
+++ b/content/test/test_frame_navigation_observer.cc
@@ -18,25 +18,13 @@
namespace content {
TestFrameNavigationObserver::TestFrameNavigationObserver(
- FrameTreeNode* node,
- int number_of_navigations)
- : WebContentsObserver(
- node->current_frame_host()->delegate()->GetAsWebContents()),
- frame_tree_node_id_(node->frame_tree_node_id()),
- navigation_started_(false),
- navigations_completed_(0),
- number_of_navigations_(number_of_navigations),
- message_loop_runner_(new MessageLoopRunner) {
-}
-
-TestFrameNavigationObserver::TestFrameNavigationObserver(
FrameTreeNode* node)
: WebContentsObserver(
node->current_frame_host()->delegate()->GetAsWebContents()),
frame_tree_node_id_(node->frame_tree_node_id()),
navigation_started_(false),
- navigations_completed_(0),
- number_of_navigations_(1),
+ has_committed_(false),
+ wait_for_commit_(false),
message_loop_runner_(new MessageLoopRunner) {
}
@@ -44,6 +32,15 @@ TestFrameNavigationObserver::~TestFrameNavigationObserver() {
}
void TestFrameNavigationObserver::Wait() {
+ wait_for_commit_ = false;
+ message_loop_runner_->Run();
+}
+
+void TestFrameNavigationObserver::WaitForCommit() {
+ if (has_committed_)
+ return;
+
+ wait_for_commit_ = true;
message_loop_runner_->Run();
}
@@ -54,8 +51,10 @@ void TestFrameNavigationObserver::DidStartProvisionalLoadForFrame(
bool is_iframe_srcdoc) {
RenderFrameHostImpl* rfh =
static_cast<RenderFrameHostImpl*>(render_frame_host);
- if (rfh->frame_tree_node()->frame_tree_node_id() == frame_tree_node_id_)
+ if (rfh->frame_tree_node()->frame_tree_node_id() == frame_tree_node_id_) {
navigation_started_ = true;
+ has_committed_ = false;
+ }
}
void TestFrameNavigationObserver::DidCommitProvisionalLoadForFrame(
@@ -65,11 +64,22 @@ void TestFrameNavigationObserver::DidCommitProvisionalLoadForFrame(
if (!navigation_started_)
return;
- ++navigations_completed_;
- if (navigations_completed_ == number_of_navigations_) {
- navigation_started_ = false;
+ RenderFrameHostImpl* rfh =
+ static_cast<RenderFrameHostImpl*>(render_frame_host);
+ if (rfh->frame_tree_node()->frame_tree_node_id() != frame_tree_node_id_)
+ return;
+
+ has_committed_ = true;
+ if (wait_for_commit_)
message_loop_runner_->Quit();
- }
+}
+
+void TestFrameNavigationObserver::DidStopLoading() {
+ if (!navigation_started_)
+ return;
+
+ navigation_started_ = false;
+ message_loop_runner_->Quit();
}
} // namespace content
« no previous file with comments | « content/test/test_frame_navigation_observer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698