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

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

Issue 9838009: Clean up a few TODO items. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments. Created 8 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 unified diff | Download patch | Annotate | Revision Log
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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 EXPECT_TRUE(controller.GetPendingEntry()); 158 EXPECT_TRUE(controller.GetPendingEntry());
159 // TODO(darin): maybe this should really be true? 159 // TODO(darin): maybe this should really be true?
160 EXPECT_FALSE(controller.CanGoBack()); 160 EXPECT_FALSE(controller.CanGoBack());
161 EXPECT_FALSE(controller.CanGoForward()); 161 EXPECT_FALSE(controller.CanGoForward());
162 EXPECT_EQ(contents()->GetMaxPageID(), 0); 162 EXPECT_EQ(contents()->GetMaxPageID(), 0);
163 163
164 // Simulate the beforeunload ack for the cross-site transition, and then the 164 // Simulate the beforeunload ack for the cross-site transition, and then the
165 // commit. 165 // commit.
166 test_rvh()->SendShouldCloseACK(true); 166 test_rvh()->SendShouldCloseACK(true);
167 static_cast<TestRenderViewHost*>( 167 static_cast<TestRenderViewHost*>(
168 contents()->pending_rvh())->SendNavigate(1, url2); 168 contents()->GetPendingRenderViewHost())->SendNavigate(1, url2);
169 EXPECT_TRUE(notifications.Check1AndReset( 169 EXPECT_TRUE(notifications.Check1AndReset(
170 content::NOTIFICATION_NAV_ENTRY_COMMITTED)); 170 content::NOTIFICATION_NAV_ENTRY_COMMITTED));
171 171
172 // The load should now be committed. 172 // The load should now be committed.
173 EXPECT_EQ(controller.GetEntryCount(), 2); 173 EXPECT_EQ(controller.GetEntryCount(), 2);
174 EXPECT_EQ(controller.GetLastCommittedEntryIndex(), 1); 174 EXPECT_EQ(controller.GetLastCommittedEntryIndex(), 1);
175 EXPECT_EQ(controller.GetPendingEntryIndex(), -1); 175 EXPECT_EQ(controller.GetPendingEntryIndex(), -1);
176 EXPECT_TRUE(controller.GetLastCommittedEntry()); 176 EXPECT_TRUE(controller.GetLastCommittedEntry());
177 EXPECT_FALSE(controller.GetPendingEntry()); 177 EXPECT_FALSE(controller.GetPendingEntry());
178 EXPECT_TRUE(controller.CanGoBack()); 178 EXPECT_TRUE(controller.CanGoBack());
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // Make a pending entry to somewhere new. 294 // Make a pending entry to somewhere new.
295 const GURL kExistingURL2("http://bee"); 295 const GURL kExistingURL2("http://bee");
296 controller.LoadURL(kExistingURL2, content::Referrer(), 296 controller.LoadURL(kExistingURL2, content::Referrer(),
297 content::PAGE_TRANSITION_TYPED, std::string()); 297 content::PAGE_TRANSITION_TYPED, std::string());
298 EXPECT_EQ(0U, notifications.size()); 298 EXPECT_EQ(0U, notifications.size());
299 299
300 // After the beforeunload but before it commits, do a new navigation. 300 // After the beforeunload but before it commits, do a new navigation.
301 test_rvh()->SendShouldCloseACK(true); 301 test_rvh()->SendShouldCloseACK(true);
302 const GURL kNewURL("http://see"); 302 const GURL kNewURL("http://see");
303 static_cast<TestRenderViewHost*>( 303 static_cast<TestRenderViewHost*>(
304 contents()->pending_rvh())->SendNavigate(3, kNewURL); 304 contents()->GetPendingRenderViewHost())->SendNavigate(3, kNewURL);
305 305
306 // There should no longer be any pending entry, and the third navigation we 306 // There should no longer be any pending entry, and the third navigation we
307 // just made should be committed. 307 // just made should be committed.
308 EXPECT_TRUE(notifications.Check1AndReset( 308 EXPECT_TRUE(notifications.Check1AndReset(
309 content::NOTIFICATION_NAV_ENTRY_COMMITTED)); 309 content::NOTIFICATION_NAV_ENTRY_COMMITTED));
310 EXPECT_EQ(-1, controller.GetPendingEntryIndex()); 310 EXPECT_EQ(-1, controller.GetPendingEntryIndex());
311 EXPECT_EQ(1, controller.GetLastCommittedEntryIndex()); 311 EXPECT_EQ(1, controller.GetLastCommittedEntryIndex());
312 EXPECT_EQ(kNewURL, controller.GetActiveEntry()->GetURL()); 312 EXPECT_EQ(kNewURL, controller.GetActiveEntry()->GetURL());
313 } 313 }
314 314
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 468
469 // It may abort before committing, if it's a download or due to a stop or 469 // It may abort before committing, if it's a download or due to a stop or
470 // a new navigation from the user. 470 // a new navigation from the user.
471 ViewHostMsg_DidFailProvisionalLoadWithError_Params params; 471 ViewHostMsg_DidFailProvisionalLoadWithError_Params params;
472 params.frame_id = 1; 472 params.frame_id = 1;
473 params.is_main_frame = true; 473 params.is_main_frame = true;
474 params.error_code = net::ERR_ABORTED; 474 params.error_code = net::ERR_ABORTED;
475 params.error_description = string16(); 475 params.error_description = string16();
476 params.url = kNewURL; 476 params.url = kNewURL;
477 params.showing_repost_interstitial = false; 477 params.showing_repost_interstitial = false;
478 test_rvh()->TestOnMessageReceived( 478 test_rvh()->OnMessageReceived(
479 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id 479 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id
480 params)); 480 params));
481 481
482 // This should clear the pending entry and notify of a navigation state 482 // This should clear the pending entry and notify of a navigation state
483 // change, so that we do not keep displaying kNewURL. 483 // change, so that we do not keep displaying kNewURL.
484 EXPECT_EQ(-1, controller.GetPendingEntryIndex()); 484 EXPECT_EQ(-1, controller.GetPendingEntryIndex());
485 EXPECT_FALSE(controller.GetPendingEntry()); 485 EXPECT_FALSE(controller.GetPendingEntry());
486 EXPECT_EQ(-1, controller.GetLastCommittedEntryIndex()); 486 EXPECT_EQ(-1, controller.GetLastCommittedEntryIndex());
487 EXPECT_EQ(2, delegate->navigation_state_change_count()); 487 EXPECT_EQ(2, delegate->navigation_state_change_count());
488 488
(...skipping 21 matching lines...) Expand all
510 kNewURL, content::Referrer(), content::PAGE_TRANSITION_TYPED, 510 kNewURL, content::Referrer(), content::PAGE_TRANSITION_TYPED,
511 std::string()); 511 std::string());
512 EXPECT_EQ(0U, notifications.size()); 512 EXPECT_EQ(0U, notifications.size());
513 EXPECT_EQ(-1, controller.GetPendingEntryIndex()); 513 EXPECT_EQ(-1, controller.GetPendingEntryIndex());
514 EXPECT_TRUE(controller.GetPendingEntry()); 514 EXPECT_TRUE(controller.GetPendingEntry());
515 EXPECT_EQ(-1, controller.GetLastCommittedEntryIndex()); 515 EXPECT_EQ(-1, controller.GetLastCommittedEntryIndex());
516 EXPECT_EQ(1, delegate->navigation_state_change_count()); 516 EXPECT_EQ(1, delegate->navigation_state_change_count());
517 517
518 // Now the navigation redirects. 518 // Now the navigation redirects.
519 const GURL kRedirectURL("http://bee"); 519 const GURL kRedirectURL("http://bee");
520 test_rvh()->TestOnMessageReceived( 520 test_rvh()->OnMessageReceived(
521 ViewHostMsg_DidRedirectProvisionalLoad(0, // routing_id 521 ViewHostMsg_DidRedirectProvisionalLoad(0, // routing_id
522 -1, // pending page_id 522 -1, // pending page_id
523 GURL(), // opener 523 GURL(), // opener
524 kNewURL, // old url 524 kNewURL, // old url
525 kRedirectURL)); // new url 525 kRedirectURL)); // new url
526 526
527 // We don't want to change the NavigationEntry's url, in case it cancels. 527 // We don't want to change the NavigationEntry's url, in case it cancels.
528 // Prevents regression of http://crbug.com/77786. 528 // Prevents regression of http://crbug.com/77786.
529 EXPECT_EQ(kNewURL, controller.GetPendingEntry()->GetURL()); 529 EXPECT_EQ(kNewURL, controller.GetPendingEntry()->GetURL());
530 530
531 // It may abort before committing, if it's a download or due to a stop or 531 // It may abort before committing, if it's a download or due to a stop or
532 // a new navigation from the user. 532 // a new navigation from the user.
533 ViewHostMsg_DidFailProvisionalLoadWithError_Params params; 533 ViewHostMsg_DidFailProvisionalLoadWithError_Params params;
534 params.frame_id = 1; 534 params.frame_id = 1;
535 params.is_main_frame = true; 535 params.is_main_frame = true;
536 params.error_code = net::ERR_ABORTED; 536 params.error_code = net::ERR_ABORTED;
537 params.error_description = string16(); 537 params.error_description = string16();
538 params.url = kRedirectURL; 538 params.url = kRedirectURL;
539 params.showing_repost_interstitial = false; 539 params.showing_repost_interstitial = false;
540 test_rvh()->TestOnMessageReceived( 540 test_rvh()->OnMessageReceived(
541 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id 541 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id
542 params)); 542 params));
543 543
544 // This should clear the pending entry and notify of a navigation state 544 // This should clear the pending entry and notify of a navigation state
545 // change, so that we do not keep displaying kNewURL. 545 // change, so that we do not keep displaying kNewURL.
546 EXPECT_EQ(-1, controller.GetPendingEntryIndex()); 546 EXPECT_EQ(-1, controller.GetPendingEntryIndex());
547 EXPECT_FALSE(controller.GetPendingEntry()); 547 EXPECT_FALSE(controller.GetPendingEntry());
548 EXPECT_EQ(-1, controller.GetLastCommittedEntryIndex()); 548 EXPECT_EQ(-1, controller.GetLastCommittedEntryIndex());
549 EXPECT_EQ(2, delegate->navigation_state_change_count()); 549 EXPECT_EQ(2, delegate->navigation_state_change_count());
550 550
(...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after
1639 // which causes the pending entry to be cleared. 1639 // which causes the pending entry to be cleared.
1640 TestRenderViewHost* rvh = 1640 TestRenderViewHost* rvh =
1641 static_cast<TestRenderViewHost*>(our_contents.GetRenderViewHost()); 1641 static_cast<TestRenderViewHost*>(our_contents.GetRenderViewHost());
1642 ViewHostMsg_DidFailProvisionalLoadWithError_Params fail_load_params; 1642 ViewHostMsg_DidFailProvisionalLoadWithError_Params fail_load_params;
1643 fail_load_params.frame_id = 1; 1643 fail_load_params.frame_id = 1;
1644 fail_load_params.is_main_frame = true; 1644 fail_load_params.is_main_frame = true;
1645 fail_load_params.error_code = net::ERR_ABORTED; 1645 fail_load_params.error_code = net::ERR_ABORTED;
1646 fail_load_params.error_description = string16(); 1646 fail_load_params.error_description = string16();
1647 fail_load_params.url = url; 1647 fail_load_params.url = url;
1648 fail_load_params.showing_repost_interstitial = false; 1648 fail_load_params.showing_repost_interstitial = false;
1649 rvh->TestOnMessageReceived( 1649 rvh->OnMessageReceived(
1650 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id 1650 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id
1651 fail_load_params)); 1651 fail_load_params));
1652 1652
1653 // Now the pending restored entry commits. 1653 // Now the pending restored entry commits.
1654 ViewHostMsg_FrameNavigate_Params params; 1654 ViewHostMsg_FrameNavigate_Params params;
1655 params.page_id = 0; 1655 params.page_id = 0;
1656 params.url = url; 1656 params.url = url;
1657 params.transition = content::PAGE_TRANSITION_LINK; 1657 params.transition = content::PAGE_TRANSITION_LINK;
1658 params.should_update_history = false; 1658 params.should_update_history = false;
1659 params.gesture = NavigationGestureUser; 1659 params.gesture = NavigationGestureUser;
1660 params.is_post = false; 1660 params.is_post = false;
1661 params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url)); 1661 params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url));
(...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after
2582 TabNavigation nav(0, url0, GURL(), string16(), 2582 TabNavigation nav(0, url0, GURL(), string16(),
2583 webkit_glue::CreateHistoryStateForURL(url0), 2583 webkit_glue::CreateHistoryStateForURL(url0),
2584 content::PAGE_TRANSITION_LINK); 2584 content::PAGE_TRANSITION_LINK);
2585 session_helper_.AssertNavigationEquals(nav, 2585 session_helper_.AssertNavigationEquals(nav,
2586 windows_[0]->tabs[0]->navigations[0]); 2586 windows_[0]->tabs[0]->navigations[0]);
2587 nav.set_url(url2); 2587 nav.set_url(url2);
2588 session_helper_.AssertNavigationEquals(nav, 2588 session_helper_.AssertNavigationEquals(nav,
2589 windows_[0]->tabs[0]->navigations[1]); 2589 windows_[0]->tabs[0]->navigations[1]);
2590 } 2590 }
2591 */ 2591 */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698