OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/strings/string_util.h" | 5 #include "base/strings/string_util.h" |
6 #include "base/strings/stringprintf.h" | 6 #include "base/strings/stringprintf.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "content/public/browser/navigation_controller.h" | 8 #include "content/public/browser/navigation_controller.h" |
9 #include "content/public/browser/notification_service.h" | 9 #include "content/public/browser/notification_service.h" |
10 #include "content/public/browser/notification_types.h" | 10 #include "content/public/browser/notification_types.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 | 45 |
46 class SessionHistoryTest : public ContentBrowserTest { | 46 class SessionHistoryTest : public ContentBrowserTest { |
47 protected: | 47 protected: |
48 SessionHistoryTest() {} | 48 SessionHistoryTest() {} |
49 | 49 |
50 virtual void SetUpOnMainThread() OVERRIDE { | 50 virtual void SetUpOnMainThread() OVERRIDE { |
51 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 51 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
52 embedded_test_server()->RegisterRequestHandler( | 52 embedded_test_server()->RegisterRequestHandler( |
53 base::Bind(&HandleEchoTitleRequest, "/echotitle")); | 53 base::Bind(&HandleEchoTitleRequest, "/echotitle")); |
54 | 54 |
55 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 55 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
56 } | 56 } |
57 | 57 |
58 // Simulate clicking a link. Only works on the frames.html testserver page. | 58 // Simulate clicking a link. Only works on the frames.html testserver page. |
59 void ClickLink(std::string node_id) { | 59 void ClickLink(std::string node_id) { |
60 GURL url("javascript:clickLink('" + node_id + "')"); | 60 GURL url("javascript:clickLink('" + node_id + "')"); |
61 NavigateToURL(shell(), url); | 61 NavigateToURL(shell(), url); |
62 } | 62 } |
63 | 63 |
64 // Simulate filling in form data. Only works on the frames.html page with | 64 // Simulate filling in form data. Only works on the frames.html page with |
65 // subframe = form.html, and on form.html itself. | 65 // subframe = form.html, and on form.html itself. |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 | 157 |
158 // history is [blank, bot1, *bot3] | 158 // history is [blank, bot1, *bot3] |
159 | 159 |
160 ASSERT_FALSE(CanGoForward()); | 160 ASSERT_FALSE(CanGoForward()); |
161 EXPECT_EQ("bot3", GetTabTitle()); | 161 EXPECT_EQ("bot3", GetTabTitle()); |
162 | 162 |
163 GoBack(); | 163 GoBack(); |
164 EXPECT_EQ("bot1", GetTabTitle()); | 164 EXPECT_EQ("bot1", GetTabTitle()); |
165 | 165 |
166 GoBack(); | 166 GoBack(); |
167 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 167 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
168 | 168 |
169 ASSERT_FALSE(CanGoBack()); | 169 ASSERT_FALSE(CanGoBack()); |
170 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 170 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
171 | 171 |
172 GoForward(); | 172 GoForward(); |
173 EXPECT_EQ("bot1", GetTabTitle()); | 173 EXPECT_EQ("bot1", GetTabTitle()); |
174 | 174 |
175 GoForward(); | 175 GoForward(); |
176 EXPECT_EQ("bot3", GetTabTitle()); | 176 EXPECT_EQ("bot3", GetTabTitle()); |
177 } | 177 } |
178 | 178 |
179 // Test that back/forward works when navigating in subframes. | 179 // Test that back/forward works when navigating in subframes. |
180 // If this flakes, use http://crbug.com/48833 | 180 // If this flakes, use http://crbug.com/48833 |
(...skipping 15 matching lines...) Expand all Loading... |
196 | 196 |
197 GoBack(); | 197 GoBack(); |
198 EXPECT_EQ("bot2", GetTabTitle()); | 198 EXPECT_EQ("bot2", GetTabTitle()); |
199 EXPECT_EQ(frames, GetTabURL()); | 199 EXPECT_EQ(frames, GetTabURL()); |
200 | 200 |
201 GoBack(); | 201 GoBack(); |
202 EXPECT_EQ("bot1", GetTabTitle()); | 202 EXPECT_EQ("bot1", GetTabTitle()); |
203 EXPECT_EQ(frames, GetTabURL()); | 203 EXPECT_EQ(frames, GetTabURL()); |
204 | 204 |
205 GoBack(); | 205 GoBack(); |
206 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 206 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
207 EXPECT_EQ(GURL(kAboutBlankURL), GetTabURL()); | 207 EXPECT_EQ(GURL(url::kAboutBlankURL), GetTabURL()); |
208 | 208 |
209 GoForward(); | 209 GoForward(); |
210 EXPECT_EQ("bot1", GetTabTitle()); | 210 EXPECT_EQ("bot1", GetTabTitle()); |
211 EXPECT_EQ(frames, GetTabURL()); | 211 EXPECT_EQ(frames, GetTabURL()); |
212 | 212 |
213 GoForward(); | 213 GoForward(); |
214 EXPECT_EQ("bot2", GetTabTitle()); | 214 EXPECT_EQ("bot2", GetTabTitle()); |
215 EXPECT_EQ(frames, GetTabURL()); | 215 EXPECT_EQ(frames, GetTabURL()); |
216 | 216 |
217 ClickLink("abot1"); | 217 ClickLink("abot1"); |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 | 393 |
394 JavascriptGo("-1"); | 394 JavascriptGo("-1"); |
395 EXPECT_EQ("bot1", GetTabTitle()); | 395 EXPECT_EQ("bot1", GetTabTitle()); |
396 | 396 |
397 JavascriptGo("2"); | 397 JavascriptGo("2"); |
398 EXPECT_EQ("bot3", GetTabTitle()); | 398 EXPECT_EQ("bot3", GetTabTitle()); |
399 | 399 |
400 // history is [blank, bot1, bot2, *bot3] | 400 // history is [blank, bot1, bot2, *bot3] |
401 | 401 |
402 JavascriptGo("-3"); | 402 JavascriptGo("-3"); |
403 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 403 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
404 | 404 |
405 ASSERT_FALSE(CanGoBack()); | 405 ASSERT_FALSE(CanGoBack()); |
406 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 406 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
407 | 407 |
408 JavascriptGo("1"); | 408 JavascriptGo("1"); |
409 EXPECT_EQ("bot1", GetTabTitle()); | 409 EXPECT_EQ("bot1", GetTabTitle()); |
410 | 410 |
411 ASSERT_NO_FATAL_FAILURE(NavigateAndCheckTitle("bot3.html", "bot3")); | 411 ASSERT_NO_FATAL_FAILURE(NavigateAndCheckTitle("bot3.html", "bot3")); |
412 | 412 |
413 // history is [blank, bot1, *bot3] | 413 // history is [blank, bot1, *bot3] |
414 | 414 |
415 ASSERT_FALSE(CanGoForward()); | 415 ASSERT_FALSE(CanGoForward()); |
416 EXPECT_EQ("bot3", GetTabTitle()); | 416 EXPECT_EQ("bot3", GetTabTitle()); |
417 | 417 |
418 JavascriptGo("-1"); | 418 JavascriptGo("-1"); |
419 EXPECT_EQ("bot1", GetTabTitle()); | 419 EXPECT_EQ("bot1", GetTabTitle()); |
420 | 420 |
421 JavascriptGo("-1"); | 421 JavascriptGo("-1"); |
422 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 422 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
423 | 423 |
424 ASSERT_FALSE(CanGoBack()); | 424 ASSERT_FALSE(CanGoBack()); |
425 EXPECT_EQ(std::string(kAboutBlankURL), GetTabTitle()); | 425 EXPECT_EQ(std::string(url::kAboutBlankURL), GetTabTitle()); |
426 | 426 |
427 JavascriptGo("1"); | 427 JavascriptGo("1"); |
428 EXPECT_EQ("bot1", GetTabTitle()); | 428 EXPECT_EQ("bot1", GetTabTitle()); |
429 | 429 |
430 JavascriptGo("1"); | 430 JavascriptGo("1"); |
431 EXPECT_EQ("bot3", GetTabTitle()); | 431 EXPECT_EQ("bot3", GetTabTitle()); |
432 | 432 |
433 // TODO(creis): Test that JavaScript history navigations work across tab | 433 // TODO(creis): Test that JavaScript history navigations work across tab |
434 // types. For example, load about:network in a tab, then a real page, then | 434 // types. For example, load about:network in a tab, then a real page, then |
435 // try to go back and forward with JavaScript. Bug 1136715. | 435 // try to go back and forward with JavaScript. Bug 1136715. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 NavigateToURL(shell(), GetURL("title2.html")); | 490 NavigateToURL(shell(), GetURL("title2.html")); |
491 | 491 |
492 ASSERT_TRUE(ExecuteScriptAndExtractInt( | 492 ASSERT_TRUE(ExecuteScriptAndExtractInt( |
493 shell()->web_contents(), | 493 shell()->web_contents(), |
494 "domAutomationController.send(history.length)", | 494 "domAutomationController.send(history.length)", |
495 &length)); | 495 &length)); |
496 EXPECT_EQ(2, length); | 496 EXPECT_EQ(2, length); |
497 } | 497 } |
498 | 498 |
499 } // namespace content | 499 } // namespace content |
OLD | NEW |