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

Unified Diff: content/renderer/render_view_browsertest.cc

Issue 180113003: Prepare for per frame did{Start,Stop}Loading calls (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix progress calculation, add test Created 6 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
Index: content/renderer/render_view_browsertest.cc
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
index 818629c57aa8aa4118d6fd10a2548ff40efc1525..23001047879972eff84d4dbb4b0cba096795f6a1 100644
--- a/content/renderer/render_view_browsertest.cc
+++ b/content/renderer/render_view_browsertest.cc
@@ -2221,6 +2221,40 @@ TEST_F(RenderViewImplTest, SendFaviconURLUpdateEvent) {
ViewHostMsg_UpdateFaviconURL::ID));
}
+// Test progress tracker messages.
+TEST_F(RenderViewImplTest, SendProgressCompletionUpdates) {
+ std::string data_url_string = "data:text/html,<body>placeholder</body>";
+ GURL url(data_url_string);
+ GetMainFrame()->loadRequest(blink::WebURLRequest(url));
+
+ EXPECT_TRUE(render_thread_->sink().GetFirstMessageMatching(
+ FrameHostMsg_DidStartLoading::ID));
+
+ // The load started, we should receive a start notification and a progress
+ // update withe minimum progress.
Charlie Reis 2014/03/11 21:51:12 nit: with the
+ const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
+ ViewHostMsg_DidChangeLoadProgress::ID);
+ EXPECT_TRUE(message);
+ Tuple1<double> progress_value;
+ ViewHostMsg_DidChangeLoadProgress::Read(message, &progress_value);
+ EXPECT_EQ(0.1, progress_value.a);
+ render_thread_->sink().ClearMessages();
+
+ ProcessPendingMessages();
+
+ // The data url has loaded, so we should see a progress change to 1.0 (done)
+ // and a stop notification.
+ message = render_thread_->sink().GetFirstMessageMatching(
+ ViewHostMsg_DidChangeLoadProgress::ID);
+ EXPECT_TRUE(message);
+ ViewHostMsg_DidChangeLoadProgress::Read(message, &progress_value);
+ EXPECT_EQ(1.0, progress_value.a);
+
+ EXPECT_TRUE(render_thread_->sink().GetFirstMessageMatching(
+ FrameHostMsg_DidStopLoading::ID));
+ render_thread_->sink().ClearMessages();
+}
+
TEST_F(RenderViewImplTest, FocusElementCallsFocusedNodeChanged) {
LoadHTML("<input id='test1' value='hello1'></input>"
"<input id='test2' value='hello2'></input>");

Powered by Google App Engine
This is Rietveld 408576698