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

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

Issue 8142032: Add error description to the DidFailProvisionalLoad callback. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: rebase Created 9 years, 2 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 | « chrome/renderer/localized_error.cc ('k') | content/browser/tab_contents/tab_contents.h » ('j') | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 const GURL kNewURL("http://eh"); 416 const GURL kNewURL("http://eh");
417 controller().LoadURL(kNewURL, GURL(), PageTransition::TYPED, std::string()); 417 controller().LoadURL(kNewURL, GURL(), PageTransition::TYPED, std::string());
418 EXPECT_EQ(0U, notifications.size()); 418 EXPECT_EQ(0U, notifications.size());
419 EXPECT_EQ(-1, controller().pending_entry_index()); 419 EXPECT_EQ(-1, controller().pending_entry_index());
420 EXPECT_TRUE(controller().pending_entry()); 420 EXPECT_TRUE(controller().pending_entry());
421 EXPECT_EQ(-1, controller().last_committed_entry_index()); 421 EXPECT_EQ(-1, controller().last_committed_entry_index());
422 EXPECT_EQ(1, delegate->navigation_state_change_count()); 422 EXPECT_EQ(1, delegate->navigation_state_change_count());
423 423
424 // It may abort before committing, if it's a download or due to a stop or 424 // It may abort before committing, if it's a download or due to a stop or
425 // a new navigation from the user. 425 // a new navigation from the user.
426 ViewHostMsg_DidFailProvisionalLoadWithError_Params params;
427 params.frame_id = 1;
428 params.is_main_frame = true;
429 params.error_code = net::ERR_ABORTED;
430 params.error_description = string16();
431 params.url = kNewURL;
432 params.showing_repost_interstitial = false;
426 rvh()->TestOnMessageReceived( 433 rvh()->TestOnMessageReceived(
427 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id 434 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id
428 1, // frame_id 435 params));
429 true, // is_main_frame
430 net::ERR_ABORTED, // error
431 kNewURL, // url
432 false)); // repost
433 436
434 // This should clear the pending entry and notify of a navigation state 437 // This should clear the pending entry and notify of a navigation state
435 // change, so that we do not keep displaying kNewURL. 438 // change, so that we do not keep displaying kNewURL.
436 EXPECT_EQ(-1, controller().pending_entry_index()); 439 EXPECT_EQ(-1, controller().pending_entry_index());
437 EXPECT_FALSE(controller().pending_entry()); 440 EXPECT_FALSE(controller().pending_entry());
438 EXPECT_EQ(-1, controller().last_committed_entry_index()); 441 EXPECT_EQ(-1, controller().last_committed_entry_index());
439 EXPECT_EQ(2, delegate->navigation_state_change_count()); 442 EXPECT_EQ(2, delegate->navigation_state_change_count());
440 443
441 contents()->set_delegate(NULL); 444 contents()->set_delegate(NULL);
442 } 445 }
(...skipping 29 matching lines...) Expand all
472 GURL(), // opener 475 GURL(), // opener
473 kNewURL, // old url 476 kNewURL, // old url
474 kRedirectURL)); // new url 477 kRedirectURL)); // new url
475 478
476 // We don't want to change the NavigationEntry's url, in case it cancels. 479 // We don't want to change the NavigationEntry's url, in case it cancels.
477 // Prevents regression of http://crbug.com/77786. 480 // Prevents regression of http://crbug.com/77786.
478 EXPECT_EQ(kNewURL, controller().pending_entry()->url()); 481 EXPECT_EQ(kNewURL, controller().pending_entry()->url());
479 482
480 // It may abort before committing, if it's a download or due to a stop or 483 // It may abort before committing, if it's a download or due to a stop or
481 // a new navigation from the user. 484 // a new navigation from the user.
485 ViewHostMsg_DidFailProvisionalLoadWithError_Params params;
486 params.frame_id = 1;
487 params.is_main_frame = true;
488 params.error_code = net::ERR_ABORTED;
489 params.error_description = string16();
490 params.url = kRedirectURL;
491 params.showing_repost_interstitial = false;
482 rvh()->TestOnMessageReceived( 492 rvh()->TestOnMessageReceived(
483 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id 493 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id
484 1, // frame_id 494 params));
485 true, // is_main_frame
486 net::ERR_ABORTED, // error
487 kRedirectURL, // url
488 false)); // repost
489 495
490 // This should clear the pending entry and notify of a navigation state 496 // This should clear the pending entry and notify of a navigation state
491 // change, so that we do not keep displaying kNewURL. 497 // change, so that we do not keep displaying kNewURL.
492 EXPECT_EQ(-1, controller().pending_entry_index()); 498 EXPECT_EQ(-1, controller().pending_entry_index());
493 EXPECT_FALSE(controller().pending_entry()); 499 EXPECT_FALSE(controller().pending_entry());
494 EXPECT_EQ(-1, controller().last_committed_entry_index()); 500 EXPECT_EQ(-1, controller().last_committed_entry_index());
495 EXPECT_EQ(2, delegate->navigation_state_change_count()); 501 EXPECT_EQ(2, delegate->navigation_state_change_count());
496 502
497 contents()->set_delegate(NULL); 503 contents()->set_delegate(NULL);
498 } 504 }
(...skipping 1023 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 our_controller.pending_entry()); 1528 our_controller.pending_entry());
1523 EXPECT_EQ(0, our_controller.GetEntryAtIndex(0)->page_id()); 1529 EXPECT_EQ(0, our_controller.GetEntryAtIndex(0)->page_id());
1524 EXPECT_EQ(NavigationEntry::RESTORE_NONE, 1530 EXPECT_EQ(NavigationEntry::RESTORE_NONE,
1525 our_controller.GetEntryAtIndex(0)->restore_type()); 1531 our_controller.GetEntryAtIndex(0)->restore_type());
1526 EXPECT_TRUE(our_controller.GetEntryAtIndex(0)->site_instance()); 1532 EXPECT_TRUE(our_controller.GetEntryAtIndex(0)->site_instance());
1527 1533
1528 // This pending navigation may have caused a different navigation to fail, 1534 // This pending navigation may have caused a different navigation to fail,
1529 // which causes the pending entry to be cleared. 1535 // which causes the pending entry to be cleared.
1530 TestRenderViewHost* rvh = 1536 TestRenderViewHost* rvh =
1531 static_cast<TestRenderViewHost*>(our_contents.render_view_host()); 1537 static_cast<TestRenderViewHost*>(our_contents.render_view_host());
1538 ViewHostMsg_DidFailProvisionalLoadWithError_Params fail_load_params;
1539 fail_load_params.frame_id = 1;
1540 fail_load_params.is_main_frame = true;
1541 fail_load_params.error_code = net::ERR_ABORTED;
1542 fail_load_params.error_description = string16();
1543 fail_load_params.url = url;
1544 fail_load_params.showing_repost_interstitial = false;
1532 rvh->TestOnMessageReceived( 1545 rvh->TestOnMessageReceived(
1533 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id 1546 ViewHostMsg_DidFailProvisionalLoadWithError(0, // routing_id
1534 1, // frame_id 1547 fail_load_params));
1535 true, // is_main_frame
1536 net::ERR_ABORTED, // error
1537 url, // url
1538 false)); // repost
1539 1548
1540 // Now the pending restored entry commits. 1549 // Now the pending restored entry commits.
1541 ViewHostMsg_FrameNavigate_Params params; 1550 ViewHostMsg_FrameNavigate_Params params;
1542 params.page_id = 0; 1551 params.page_id = 0;
1543 params.url = url; 1552 params.url = url;
1544 params.transition = PageTransition::LINK; 1553 params.transition = PageTransition::LINK;
1545 params.should_update_history = false; 1554 params.should_update_history = false;
1546 params.gesture = NavigationGestureUser; 1555 params.gesture = NavigationGestureUser;
1547 params.is_post = false; 1556 params.is_post = false;
1548 params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url)); 1557 params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url));
(...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after
2305 TabNavigation nav(0, url0, GURL(), string16(), 2314 TabNavigation nav(0, url0, GURL(), string16(),
2306 webkit_glue::CreateHistoryStateForURL(url0), 2315 webkit_glue::CreateHistoryStateForURL(url0),
2307 PageTransition::LINK); 2316 PageTransition::LINK);
2308 session_helper_.AssertNavigationEquals(nav, 2317 session_helper_.AssertNavigationEquals(nav,
2309 windows_[0]->tabs[0]->navigations[0]); 2318 windows_[0]->tabs[0]->navigations[0]);
2310 nav.set_url(url2); 2319 nav.set_url(url2);
2311 session_helper_.AssertNavigationEquals(nav, 2320 session_helper_.AssertNavigationEquals(nav,
2312 windows_[0]->tabs[0]->navigations[1]); 2321 windows_[0]->tabs[0]->navigations[1]);
2313 } 2322 }
2314 */ 2323 */
OLDNEW
« no previous file with comments | « chrome/renderer/localized_error.cc ('k') | content/browser/tab_contents/tab_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698