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

Side by Side Diff: content/browser/web_contents/navigation_controller_impl_unittest.cc

Issue 10871090: history.replaceState(..., location.href) clearing page-action icons. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « content/browser/web_contents/navigation_controller_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/file_util.h" 5 #include "base/file_util.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 1417 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 NavigationControllerImpl& controller = controller_impl(); 1428 NavigationControllerImpl& controller = controller_impl();
1429 TestNotificationTracker notifications; 1429 TestNotificationTracker notifications;
1430 RegisterForAllNavNotifications(&notifications, &controller); 1430 RegisterForAllNavNotifications(&notifications, &controller);
1431 1431
1432 // Main page. 1432 // Main page.
1433 const GURL url1("http://foo"); 1433 const GURL url1("http://foo");
1434 test_rvh()->SendNavigate(0, url1); 1434 test_rvh()->SendNavigate(0, url1);
1435 EXPECT_TRUE(notifications.Check1AndReset( 1435 EXPECT_TRUE(notifications.Check1AndReset(
1436 content::NOTIFICATION_NAV_ENTRY_COMMITTED)); 1436 content::NOTIFICATION_NAV_ENTRY_COMMITTED));
1437 1437
1438 // First navigation. 1438 // Distinguish reload vs. history.replaceState() of same url.
Charlie Reis 2012/08/28 21:48:21 This comment is confusing, since you don't test re
Tom Sepez 2012/08/28 21:57:59 Done.
1439 ViewHostMsg_FrameNavigate_Params self_params;
1440 self_params.page_id = 1;
1441 self_params.url = url1;
1442 self_params.transition = content::PAGE_TRANSITION_LINK;
1443 self_params.should_update_history = false;
1444 self_params.gesture = NavigationGestureUser;
1445 self_params.is_post = false;
1446 self_params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url1));
1447 self_params.was_within_same_page = true;
1448
1449 // This should generate a new entry.
Charlie Reis 2012/08/28 21:48:21 Again, this is tricky to follow because there's a
Tom Sepez 2012/08/28 21:57:59 This appears to be an artifact of the interaction
Charlie Reis 2012/08/28 22:17:23 Can we just call RendererDidNavigate() on the init
1450 content::LoadCommittedDetails details;
1451 EXPECT_TRUE(controller.RendererDidNavigate(self_params, &details));
1452 EXPECT_TRUE(notifications.Check1AndReset(
1453 content::NOTIFICATION_NAV_ENTRY_COMMITTED));
1454 EXPECT_TRUE(details.is_in_page);
1455 EXPECT_FALSE(details.did_replace_entry);
1456 EXPECT_EQ(2, controller.GetEntryCount());
1457
1458 // Fragment navigation.
1439 const GURL url2("http://foo#a"); 1459 const GURL url2("http://foo#a");
1440 ViewHostMsg_FrameNavigate_Params params; 1460 ViewHostMsg_FrameNavigate_Params params;
1441 params.page_id = 1; 1461 params.page_id = 1;
1442 params.url = url2; 1462 params.url = url2;
1443 params.transition = content::PAGE_TRANSITION_LINK; 1463 params.transition = content::PAGE_TRANSITION_LINK;
1444 params.should_update_history = false; 1464 params.should_update_history = false;
1445 params.gesture = NavigationGestureUser; 1465 params.gesture = NavigationGestureUser;
1446 params.is_post = false; 1466 params.is_post = false;
1447 params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url2)); 1467 params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url2));
1448 1468
1449 // This should generate a new entry. 1469 // This should not generate a new entry.
1450 content::LoadCommittedDetails details;
1451 EXPECT_TRUE(controller.RendererDidNavigate(params, &details)); 1470 EXPECT_TRUE(controller.RendererDidNavigate(params, &details));
1452 EXPECT_TRUE(notifications.Check1AndReset( 1471 EXPECT_TRUE(notifications.Check1AndReset(
1453 content::NOTIFICATION_NAV_ENTRY_COMMITTED)); 1472 content::NOTIFICATION_NAV_ENTRY_COMMITTED));
1454 EXPECT_TRUE(details.is_in_page); 1473 EXPECT_TRUE(details.is_in_page);
1455 EXPECT_FALSE(details.did_replace_entry); 1474 EXPECT_TRUE(details.did_replace_entry);
1456 EXPECT_EQ(2, controller.GetEntryCount()); 1475 EXPECT_EQ(2, controller.GetEntryCount());
1457 1476
1458 // Go back one. 1477 // Go back one.
1459 ViewHostMsg_FrameNavigate_Params back_params(params); 1478 ViewHostMsg_FrameNavigate_Params back_params(params);
1460 controller.GoBack(); 1479 controller.GoBack();
1461 back_params.url = url1; 1480 back_params.url = url1;
1462 back_params.page_id = 0; 1481 back_params.page_id = 0;
1463 EXPECT_TRUE(controller.RendererDidNavigate(back_params, &details)); 1482 EXPECT_TRUE(controller.RendererDidNavigate(back_params, &details));
1464 EXPECT_TRUE(notifications.Check1AndReset( 1483 EXPECT_TRUE(notifications.Check1AndReset(
1465 content::NOTIFICATION_NAV_ENTRY_COMMITTED)); 1484 content::NOTIFICATION_NAV_ENTRY_COMMITTED));
(...skipping 1373 matching lines...) Expand 10 before | Expand all | Expand 10 after
2839 TabNavigation nav(0, url0, GURL(), string16(), 2858 TabNavigation nav(0, url0, GURL(), string16(),
2840 webkit_glue::CreateHistoryStateForURL(url0), 2859 webkit_glue::CreateHistoryStateForURL(url0),
2841 content::PAGE_TRANSITION_LINK); 2860 content::PAGE_TRANSITION_LINK);
2842 session_helper_.AssertNavigationEquals(nav, 2861 session_helper_.AssertNavigationEquals(nav,
2843 windows_[0]->tabs[0]->navigations[0]); 2862 windows_[0]->tabs[0]->navigations[0]);
2844 nav.set_url(url2); 2863 nav.set_url(url2);
2845 session_helper_.AssertNavigationEquals(nav, 2864 session_helper_.AssertNavigationEquals(nav,
2846 windows_[0]->tabs[0]->navigations[1]); 2865 windows_[0]->tabs[0]->navigations[1]);
2847 } 2866 }
2848 */ 2867 */
OLDNEW
« no previous file with comments | « content/browser/web_contents/navigation_controller_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698