Index: content/renderer/render_view_browsertest.cc |
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc |
index 1f8ce675007b8dc18ad0516b7b1f7b87c0b7a77e..f798e9247c8471e6de21460624c038c9b3bed20a 100644 |
--- a/content/renderer/render_view_browsertest.cc |
+++ b/content/renderer/render_view_browsertest.cc |
@@ -25,6 +25,7 @@ |
#include "content/public/renderer/document_state.h" |
#include "content/public/renderer/navigation_state.h" |
#include "content/public/test/browser_test_utils.h" |
+#include "content/public/test/frame_load_waiter.h" |
#include "content/public/test/render_view_test.h" |
#include "content/public/test/test_utils.h" |
#include "content/renderer/accessibility/renderer_accessibility.h" |
@@ -1820,23 +1821,28 @@ TEST_F(RenderViewImplTest, TestBackForward) { |
blink::WebHistoryItem forward_item = |
view()->history_controller()->GetCurrentItemForExport(); |
GoBack(view()->history_controller()->GetPreviousItemForExport()); |
+ FrameLoadWaiter(view()).Wait(); |
sky
2014/04/30 13:30:59
Why does this code need FrameLoadWaiter? Should Fr
dcheng
2014/04/30 17:56:06
Done. Thanks for noticing this.
|
EXPECT_TRUE(ExecuteJavaScriptAndReturnIntValue(check_page_b, &was_page_b)); |
EXPECT_EQ(1, was_page_b); |
GoForward(forward_item); |
+ FrameLoadWaiter(view()).Wait(); |
EXPECT_TRUE(ExecuteJavaScriptAndReturnIntValue(check_page_c, &was_page_c)); |
EXPECT_EQ(1, was_page_c); |
GoBack(view()->history_controller()->GetPreviousItemForExport()); |
+ FrameLoadWaiter(view()).Wait(); |
EXPECT_TRUE(ExecuteJavaScriptAndReturnIntValue(check_page_b, &was_page_b)); |
EXPECT_EQ(1, was_page_b); |
forward_item = view()->history_controller()->GetCurrentItemForExport(); |
GoBack(page_a_item); |
+ FrameLoadWaiter(view()).Wait(); |
EXPECT_TRUE(ExecuteJavaScriptAndReturnIntValue(check_page_a, &was_page_a)); |
EXPECT_EQ(1, was_page_a); |
GoForward(forward_item); |
+ FrameLoadWaiter(view()).Wait(); |
EXPECT_TRUE(ExecuteJavaScriptAndReturnIntValue(check_page_b, &was_page_b)); |
EXPECT_EQ(1, was_page_b); |
} |
@@ -2011,7 +2017,7 @@ TEST_F(RenderViewImplTest, NavigateFrame) { |
nav_params.page_id = -1; |
nav_params.frame_to_navigate = "frame"; |
frame()->OnNavigate(nav_params); |
- ProcessPendingMessages(); |
+ FrameLoadWaiter(view()).Wait(); |
// Copy the document content to std::wstring and compare with the |
// expected result. |
@@ -2161,7 +2167,8 @@ TEST_F(SuppressErrorPageTest, MAYBE_DoesNotSuppress) { |
// An error occurred. |
view()->main_render_frame()->didFailProvisionalLoad(web_frame, error); |
- ProcessPendingMessages(); |
+ // The error page itself is loaded asynchronously. |
+ FrameLoadWaiter(view()).Wait(); |
const int kMaxOutputCharacters = 22; |
EXPECT_EQ("A suffusion of yellow.", |
base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters))); |
@@ -2246,7 +2253,7 @@ TEST_F(RenderViewImplTest, SendProgressCompletionUpdates) { |
EXPECT_EQ(0.1, progress_value.a); |
render_thread_->sink().ClearMessages(); |
- ProcessPendingMessages(); |
+ FrameLoadWaiter(view()).Wait(); |
// The data url has loaded, so we should see a progress change to 1.0 (done) |
// and a stop notification. |