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

Side by Side Diff: content/public/test/test_frame_navigation_observer.cc

Issue 2601843002: Convert more test helpers to base::RunLoop, fix page title checks. (Closed)
Patch Set: Remove unneeded call. Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/test_frame_navigation_observer.h" 5 #include "content/public/test/test_frame_navigation_observer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 14 matching lines...) Expand all
25 25
26 } // namespace 26 } // namespace
27 27
28 TestFrameNavigationObserver::TestFrameNavigationObserver( 28 TestFrameNavigationObserver::TestFrameNavigationObserver(
29 const ToRenderFrameHost& adapter) 29 const ToRenderFrameHost& adapter)
30 : WebContentsObserver( 30 : WebContentsObserver(
31 ToRenderFrameHostImpl(adapter)->delegate()->GetAsWebContents()), 31 ToRenderFrameHostImpl(adapter)->delegate()->GetAsWebContents()),
32 frame_tree_node_id_(ToRenderFrameHostImpl(adapter)->GetFrameTreeNodeId()), 32 frame_tree_node_id_(ToRenderFrameHostImpl(adapter)->GetFrameTreeNodeId()),
33 navigation_started_(false), 33 navigation_started_(false),
34 has_committed_(false), 34 has_committed_(false),
35 wait_for_commit_(false), 35 wait_for_commit_(false) {
36 message_loop_runner_(
37 new MessageLoopRunner(MessageLoopRunner::QuitMode::IMMEDIATE)) {
38 DCHECK_CURRENTLY_ON(BrowserThread::UI); 36 DCHECK_CURRENTLY_ON(BrowserThread::UI);
39 } 37 }
40 38
41 TestFrameNavigationObserver::~TestFrameNavigationObserver() {} 39 TestFrameNavigationObserver::~TestFrameNavigationObserver() {}
42 40
43 void TestFrameNavigationObserver::Wait() { 41 void TestFrameNavigationObserver::Wait() {
44 DCHECK_CURRENTLY_ON(BrowserThread::UI); 42 DCHECK_CURRENTLY_ON(BrowserThread::UI);
45 wait_for_commit_ = false; 43 wait_for_commit_ = false;
46 message_loop_runner_->Run(); 44 run_loop_.Run();
47 } 45 }
48 46
49 void TestFrameNavigationObserver::WaitForCommit() { 47 void TestFrameNavigationObserver::WaitForCommit() {
50 DCHECK_CURRENTLY_ON(BrowserThread::UI); 48 DCHECK_CURRENTLY_ON(BrowserThread::UI);
51 49
52 if (has_committed_) 50 if (has_committed_)
53 return; 51 return;
54 52
55 wait_for_commit_ = true; 53 wait_for_commit_ = true;
56 message_loop_runner_->Run(); 54 run_loop_.Run();
57 } 55 }
58 56
59 void TestFrameNavigationObserver::DidStartProvisionalLoadForFrame( 57 void TestFrameNavigationObserver::DidStartProvisionalLoadForFrame(
60 RenderFrameHost* render_frame_host, 58 RenderFrameHost* render_frame_host,
61 const GURL& validated_url, 59 const GURL& validated_url,
62 bool is_error_page) { 60 bool is_error_page) {
63 RenderFrameHostImpl* rfh = 61 RenderFrameHostImpl* rfh =
64 static_cast<RenderFrameHostImpl*>(render_frame_host); 62 static_cast<RenderFrameHostImpl*>(render_frame_host);
65 if (rfh->frame_tree_node()->frame_tree_node_id() == frame_tree_node_id_) { 63 if (rfh->frame_tree_node()->frame_tree_node_id() == frame_tree_node_id_) {
66 navigation_started_ = true; 64 navigation_started_ = true;
67 has_committed_ = false; 65 has_committed_ = false;
68 } 66 }
69 } 67 }
70 68
71 void TestFrameNavigationObserver::DidCommitProvisionalLoadForFrame( 69 void TestFrameNavigationObserver::DidCommitProvisionalLoadForFrame(
72 RenderFrameHost* render_frame_host, 70 RenderFrameHost* render_frame_host,
73 const GURL& url, 71 const GURL& url,
74 ui::PageTransition transition_type) { 72 ui::PageTransition transition_type) {
75 if (!navigation_started_) 73 if (!navigation_started_)
76 return; 74 return;
77 75
78 RenderFrameHostImpl* rfh = 76 RenderFrameHostImpl* rfh =
79 static_cast<RenderFrameHostImpl*>(render_frame_host); 77 static_cast<RenderFrameHostImpl*>(render_frame_host);
80 if (rfh->frame_tree_node()->frame_tree_node_id() != frame_tree_node_id_) 78 if (rfh->frame_tree_node()->frame_tree_node_id() != frame_tree_node_id_)
81 return; 79 return;
82 80
83 has_committed_ = true; 81 has_committed_ = true;
84 if (wait_for_commit_) 82 if (wait_for_commit_)
85 message_loop_runner_->Quit(); 83 run_loop_.Quit();
86 } 84 }
87 85
88 void TestFrameNavigationObserver::DidStopLoading() { 86 void TestFrameNavigationObserver::DidStopLoading() {
89 if (!navigation_started_) 87 if (!navigation_started_)
90 return; 88 return;
91 89
92 navigation_started_ = false; 90 navigation_started_ = false;
93 message_loop_runner_->Quit(); 91 run_loop_.Quit();
94 } 92 }
95 93
96 } // namespace content 94 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698