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

Side by Side Diff: content/renderer/render_view_browsertest.cc

Issue 1018383002: Make NavigationParams clearer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + addressed comment Created 5 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
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | content/renderer/render_view_impl.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) 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/memory/shared_memory.h" 8 #include "base/memory/shared_memory.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 ExecuteJavaScript("document.getElementById('elt_text').value = 'foo';"); 379 ExecuteJavaScript("document.getElementById('elt_text').value = 'foo';");
380 ProcessPendingMessages(); 380 ProcessPendingMessages();
381 EXPECT_TRUE(render_thread_->sink().GetUniqueMessageMatching( 381 EXPECT_TRUE(render_thread_->sink().GetUniqueMessageMatching(
382 ViewHostMsg_UpdateState::ID)); 382 ViewHostMsg_UpdateState::ID));
383 } 383 }
384 384
385 TEST_F(RenderViewImplTest, OnNavigationHttpPost) { 385 TEST_F(RenderViewImplTest, OnNavigationHttpPost) {
386 // An http url will trigger a resource load so cannot be used here. 386 // An http url will trigger a resource load so cannot be used here.
387 CommonNavigationParams common_params; 387 CommonNavigationParams common_params;
388 StartNavigationParams start_params; 388 StartNavigationParams start_params;
389 HistoryNavigationParams history_params; 389 RequestNavigationParams request_params;
390 common_params.url = GURL("data:text/html,<div>Page</div>"); 390 common_params.url = GURL("data:text/html,<div>Page</div>");
391 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 391 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
392 common_params.transition = ui::PAGE_TRANSITION_TYPED; 392 common_params.transition = ui::PAGE_TRANSITION_TYPED;
393 history_params.page_id = -1; 393 request_params.page_id = -1;
394 394
395 // Set up post data. 395 // Set up post data.
396 const unsigned char* raw_data = reinterpret_cast<const unsigned char*>( 396 const unsigned char* raw_data = reinterpret_cast<const unsigned char*>(
397 "post \0\ndata"); 397 "post \0\ndata");
398 const unsigned int length = 11; 398 const unsigned int length = 11;
399 const std::vector<unsigned char> post_data(raw_data, raw_data + length); 399 const std::vector<unsigned char> post_data(raw_data, raw_data + length);
400 start_params.is_post = true; 400 start_params.is_post = true;
401 start_params.browser_initiated_post_data = post_data; 401 start_params.browser_initiated_post_data = post_data;
402 402
403 frame()->OnNavigate(common_params, start_params, CommitNavigationParams(), 403 frame()->OnNavigate(common_params, start_params, request_params);
404 history_params);
405 ProcessPendingMessages(); 404 ProcessPendingMessages();
406 405
407 const IPC::Message* frame_navigate_msg = 406 const IPC::Message* frame_navigate_msg =
408 render_thread_->sink().GetUniqueMessageMatching( 407 render_thread_->sink().GetUniqueMessageMatching(
409 FrameHostMsg_DidCommitProvisionalLoad::ID); 408 FrameHostMsg_DidCommitProvisionalLoad::ID);
410 EXPECT_TRUE(frame_navigate_msg); 409 EXPECT_TRUE(frame_navigate_msg);
411 410
412 FrameHostMsg_DidCommitProvisionalLoad::Param host_nav_params; 411 FrameHostMsg_DidCommitProvisionalLoad::Param host_nav_params;
413 FrameHostMsg_DidCommitProvisionalLoad::Read(frame_navigate_msg, 412 FrameHostMsg_DidCommitProvisionalLoad::Read(frame_navigate_msg,
414 &host_nav_params); 413 &host_nav_params);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 render_thread_->sink().ClearMessages(); 586 render_thread_->sink().ClearMessages();
588 view()->GetMainRenderFrame()->OnSwapOut(kProxyRoutingId, false, 587 view()->GetMainRenderFrame()->OnSwapOut(kProxyRoutingId, false,
589 content::FrameReplicationState()); 588 content::FrameReplicationState());
590 const IPC::Message* msg2 = render_thread_->sink().GetUniqueMessageMatching( 589 const IPC::Message* msg2 = render_thread_->sink().GetUniqueMessageMatching(
591 FrameHostMsg_SwapOut_ACK::ID); 590 FrameHostMsg_SwapOut_ACK::ID);
592 ASSERT_TRUE(msg2); 591 ASSERT_TRUE(msg2);
593 592
594 // If we navigate back to this RenderView, ensure we don't send a state 593 // If we navigate back to this RenderView, ensure we don't send a state
595 // update for the swapped out URL. (http://crbug.com/72235) 594 // update for the swapped out URL. (http://crbug.com/72235)
596 CommonNavigationParams common_params; 595 CommonNavigationParams common_params;
597 HistoryNavigationParams history_params; 596 RequestNavigationParams request_params;
598 common_params.url = GURL("data:text/html,<div>Page B</div>"); 597 common_params.url = GURL("data:text/html,<div>Page B</div>");
599 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 598 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
600 common_params.transition = ui::PAGE_TRANSITION_TYPED; 599 common_params.transition = ui::PAGE_TRANSITION_TYPED;
601 history_params.current_history_list_length = 1; 600 request_params.current_history_list_length = 1;
602 history_params.current_history_list_offset = 0; 601 request_params.current_history_list_offset = 0;
603 history_params.pending_history_list_offset = 1; 602 request_params.pending_history_list_offset = 1;
604 history_params.page_id = -1; 603 request_params.page_id = -1;
605 frame()->OnNavigate(common_params, StartNavigationParams(), 604 frame()->OnNavigate(common_params, StartNavigationParams(), request_params);
606 CommitNavigationParams(), history_params);
607 ProcessPendingMessages(); 605 ProcessPendingMessages();
608 const IPC::Message* msg3 = render_thread_->sink().GetUniqueMessageMatching( 606 const IPC::Message* msg3 = render_thread_->sink().GetUniqueMessageMatching(
609 ViewHostMsg_UpdateState::ID); 607 ViewHostMsg_UpdateState::ID);
610 EXPECT_FALSE(msg3); 608 EXPECT_FALSE(msg3);
611 } 609 }
612 610
613 // Ensure the RenderViewImpl reloads the previous page if a reload request 611 // Ensure the RenderViewImpl reloads the previous page if a reload request
614 // arrives while it is showing swappedout://. http://crbug.com/143155. 612 // arrives while it is showing swappedout://. http://crbug.com/143155.
615 TEST_F(RenderViewImplTest, ReloadWhileSwappedOut) { 613 TEST_F(RenderViewImplTest, ReloadWhileSwappedOut) {
616 // Load page A. 614 // Load page A.
617 LoadHTML("<div>Page A</div>"); 615 LoadHTML("<div>Page A</div>");
618 616
619 // Load page B, which will trigger an UpdateState message for page A. 617 // Load page B, which will trigger an UpdateState message for page A.
620 LoadHTML("<div>Page B</div>"); 618 LoadHTML("<div>Page B</div>");
621 619
622 // Check for a valid UpdateState message for page A. 620 // Check for a valid UpdateState message for page A.
623 ProcessPendingMessages(); 621 ProcessPendingMessages();
624 const IPC::Message* msg_A = render_thread_->sink().GetUniqueMessageMatching( 622 const IPC::Message* msg_A = render_thread_->sink().GetUniqueMessageMatching(
625 ViewHostMsg_UpdateState::ID); 623 ViewHostMsg_UpdateState::ID);
626 ASSERT_TRUE(msg_A); 624 ASSERT_TRUE(msg_A);
627 ViewHostMsg_UpdateState::Param params; 625 ViewHostMsg_UpdateState::Param params;
628 ViewHostMsg_UpdateState::Read(msg_A, &params); 626 ViewHostMsg_UpdateState::Read(msg_A, &params);
629 int page_id_A = get<0>(params); 627 int page_id_A = get<0>(params);
630 PageState state_A = get<1>(params); 628 PageState state_A = get<1>(params);
631 EXPECT_EQ(1, page_id_A); 629 EXPECT_EQ(1, page_id_A);
632 render_thread_->sink().ClearMessages(); 630 render_thread_->sink().ClearMessages();
633 631
634 // Back to page A (page_id 1) and commit. 632 // Back to page A (page_id 1) and commit.
635 CommonNavigationParams common_params_A; 633 CommonNavigationParams common_params_A;
636 HistoryNavigationParams history_params_A; 634 RequestNavigationParams request_params_A;
637 common_params_A.navigation_type = FrameMsg_Navigate_Type::NORMAL; 635 common_params_A.navigation_type = FrameMsg_Navigate_Type::NORMAL;
638 common_params_A.transition = ui::PAGE_TRANSITION_FORWARD_BACK; 636 common_params_A.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
639 history_params_A.current_history_list_length = 2; 637 request_params_A.current_history_list_length = 2;
640 history_params_A.current_history_list_offset = 1; 638 request_params_A.current_history_list_offset = 1;
641 history_params_A.pending_history_list_offset = 0; 639 request_params_A.pending_history_list_offset = 0;
642 history_params_A.page_id = 1; 640 request_params_A.page_id = 1;
643 history_params_A.page_state = state_A; 641 request_params_A.page_state = state_A;
644 frame()->OnNavigate(common_params_A, StartNavigationParams(), 642 frame()->OnNavigate(common_params_A, StartNavigationParams(),
645 CommitNavigationParams(), history_params_A); 643 request_params_A);
646 EXPECT_EQ(1, view()->historyBackListCount()); 644 EXPECT_EQ(1, view()->historyBackListCount());
647 EXPECT_EQ(2, view()->historyBackListCount() + 645 EXPECT_EQ(2, view()->historyBackListCount() +
648 view()->historyForwardListCount() + 1); 646 view()->historyForwardListCount() + 1);
649 ProcessPendingMessages(); 647 ProcessPendingMessages();
650 648
651 // Respond to a swap out request. 649 // Respond to a swap out request.
652 view()->GetMainRenderFrame()->OnSwapOut(kProxyRoutingId, true, 650 view()->GetMainRenderFrame()->OnSwapOut(kProxyRoutingId, true,
653 content::FrameReplicationState()); 651 content::FrameReplicationState());
654 652
655 // Check for a OnSwapOutACK. 653 // Check for a OnSwapOutACK.
656 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching( 654 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching(
657 FrameHostMsg_SwapOut_ACK::ID); 655 FrameHostMsg_SwapOut_ACK::ID);
658 ASSERT_TRUE(msg); 656 ASSERT_TRUE(msg);
659 render_thread_->sink().ClearMessages(); 657 render_thread_->sink().ClearMessages();
660 658
661 // It is possible to get a reload request at this point, containing the 659 // It is possible to get a reload request at this point, containing the
662 // params.page_state of the initial page (e.g., if the new page fails the 660 // params.page_state of the initial page (e.g., if the new page fails the
663 // provisional load in the renderer process, after we unload the old page). 661 // provisional load in the renderer process, after we unload the old page).
664 // Ensure the old page gets reloaded, not swappedout://. 662 // Ensure the old page gets reloaded, not swappedout://.
665 CommonNavigationParams common_params; 663 CommonNavigationParams common_params;
666 HistoryNavigationParams history_params; 664 RequestNavigationParams request_params;
667 common_params.url = GURL("data:text/html,<div>Page A</div>"); 665 common_params.url = GURL("data:text/html,<div>Page A</div>");
668 common_params.navigation_type = FrameMsg_Navigate_Type::RELOAD; 666 common_params.navigation_type = FrameMsg_Navigate_Type::RELOAD;
669 common_params.transition = ui::PAGE_TRANSITION_RELOAD; 667 common_params.transition = ui::PAGE_TRANSITION_RELOAD;
670 history_params.current_history_list_length = 2; 668 request_params.current_history_list_length = 2;
671 history_params.current_history_list_offset = 0; 669 request_params.current_history_list_offset = 0;
672 history_params.pending_history_list_offset = 0; 670 request_params.pending_history_list_offset = 0;
673 history_params.page_id = 1; 671 request_params.page_id = 1;
674 history_params.page_state = state_A; 672 request_params.page_state = state_A;
675 frame()->OnNavigate(common_params, StartNavigationParams(), 673 frame()->OnNavigate(common_params, StartNavigationParams(), request_params);
676 CommitNavigationParams(), history_params);
677 ProcessPendingMessages(); 674 ProcessPendingMessages();
678 675
679 // Verify page A committed, not swappedout://. 676 // Verify page A committed, not swappedout://.
680 const IPC::Message* frame_navigate_msg = 677 const IPC::Message* frame_navigate_msg =
681 render_thread_->sink().GetUniqueMessageMatching( 678 render_thread_->sink().GetUniqueMessageMatching(
682 FrameHostMsg_DidCommitProvisionalLoad::ID); 679 FrameHostMsg_DidCommitProvisionalLoad::ID);
683 EXPECT_TRUE(frame_navigate_msg); 680 EXPECT_TRUE(frame_navigate_msg);
684 681
685 // Read URL out of the parent trait of the params object. 682 // Read URL out of the parent trait of the params object.
686 FrameHostMsg_DidCommitProvisionalLoad::Param commit_load_params; 683 FrameHostMsg_DidCommitProvisionalLoad::Param commit_load_params;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
776 ASSERT_TRUE(msg_C); 773 ASSERT_TRUE(msg_C);
777 ViewHostMsg_UpdateState::Read(msg_C, &param); 774 ViewHostMsg_UpdateState::Read(msg_C, &param);
778 int page_id_C = get<0>(param); 775 int page_id_C = get<0>(param);
779 PageState state_C = get<1>(param); 776 PageState state_C = get<1>(param);
780 EXPECT_EQ(3, page_id_C); 777 EXPECT_EQ(3, page_id_C);
781 EXPECT_NE(state_B, state_C); 778 EXPECT_NE(state_B, state_C);
782 render_thread_->sink().ClearMessages(); 779 render_thread_->sink().ClearMessages();
783 780
784 // Go back to C and commit, preparing for our real test. 781 // Go back to C and commit, preparing for our real test.
785 CommonNavigationParams common_params_C; 782 CommonNavigationParams common_params_C;
786 HistoryNavigationParams history_params_C; 783 RequestNavigationParams request_params_C;
787 common_params_C.navigation_type = FrameMsg_Navigate_Type::NORMAL; 784 common_params_C.navigation_type = FrameMsg_Navigate_Type::NORMAL;
788 common_params_C.transition = ui::PAGE_TRANSITION_FORWARD_BACK; 785 common_params_C.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
789 history_params_C.current_history_list_length = 4; 786 request_params_C.current_history_list_length = 4;
790 history_params_C.current_history_list_offset = 3; 787 request_params_C.current_history_list_offset = 3;
791 history_params_C.pending_history_list_offset = 2; 788 request_params_C.pending_history_list_offset = 2;
792 history_params_C.page_id = 3; 789 request_params_C.page_id = 3;
793 history_params_C.page_state = state_C; 790 request_params_C.page_state = state_C;
794 frame()->OnNavigate(common_params_C, StartNavigationParams(), 791 frame()->OnNavigate(common_params_C, StartNavigationParams(),
795 CommitNavigationParams(), history_params_C); 792 request_params_C);
796 ProcessPendingMessages(); 793 ProcessPendingMessages();
797 render_thread_->sink().ClearMessages(); 794 render_thread_->sink().ClearMessages();
798 795
799 // Go back twice quickly, such that page B does not have a chance to commit. 796 // Go back twice quickly, such that page B does not have a chance to commit.
800 // This leads to two changes to the back/forward list but only one change to 797 // This leads to two changes to the back/forward list but only one change to
801 // the RenderView's page ID. 798 // the RenderView's page ID.
802 799
803 // Back to page B (page_id 2), without committing. 800 // Back to page B (page_id 2), without committing.
804 CommonNavigationParams common_params_B; 801 CommonNavigationParams common_params_B;
805 HistoryNavigationParams history_params_B; 802 RequestNavigationParams request_params_B;
806 common_params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL; 803 common_params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL;
807 common_params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK; 804 common_params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
808 history_params_B.current_history_list_length = 4; 805 request_params_B.current_history_list_length = 4;
809 history_params_B.current_history_list_offset = 2; 806 request_params_B.current_history_list_offset = 2;
810 history_params_B.pending_history_list_offset = 1; 807 request_params_B.pending_history_list_offset = 1;
811 history_params_B.page_id = 2; 808 request_params_B.page_id = 2;
812 history_params_B.page_state = state_B; 809 request_params_B.page_state = state_B;
813 frame()->OnNavigate(common_params_B, StartNavigationParams(), 810 frame()->OnNavigate(common_params_B, StartNavigationParams(),
814 CommitNavigationParams(), history_params_B); 811 request_params_B);
815 812
816 // Back to page A (page_id 1) and commit. 813 // Back to page A (page_id 1) and commit.
817 CommonNavigationParams common_params; 814 CommonNavigationParams common_params;
818 HistoryNavigationParams history_params; 815 RequestNavigationParams request_params;
819 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 816 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
820 common_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK; 817 common_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
821 history_params.current_history_list_length = 4; 818 request_params.current_history_list_length = 4;
822 history_params.current_history_list_offset = 2; 819 request_params.current_history_list_offset = 2;
823 history_params.pending_history_list_offset = 0; 820 request_params.pending_history_list_offset = 0;
824 history_params.page_id = 1; 821 request_params.page_id = 1;
825 history_params.page_state = state_A; 822 request_params.page_state = state_A;
826 frame()->OnNavigate(common_params, StartNavigationParams(), 823 frame()->OnNavigate(common_params, StartNavigationParams(), request_params);
827 CommitNavigationParams(), history_params);
828 ProcessPendingMessages(); 824 ProcessPendingMessages();
829 825
830 // Now ensure that the UpdateState message we receive is consistent 826 // Now ensure that the UpdateState message we receive is consistent
831 // and represents page C in both page_id and state. 827 // and represents page C in both page_id and state.
832 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching( 828 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching(
833 ViewHostMsg_UpdateState::ID); 829 ViewHostMsg_UpdateState::ID);
834 ASSERT_TRUE(msg); 830 ASSERT_TRUE(msg);
835 ViewHostMsg_UpdateState::Read(msg, &param); 831 ViewHostMsg_UpdateState::Read(msg, &param);
836 int page_id = get<0>(param); 832 int page_id = get<0>(param);
837 PageState state = get<1>(param); 833 PageState state = get<1>(param);
(...skipping 23 matching lines...) Expand all
861 ASSERT_TRUE(msg_A); 857 ASSERT_TRUE(msg_A);
862 ViewHostMsg_UpdateState::Param param; 858 ViewHostMsg_UpdateState::Param param;
863 ViewHostMsg_UpdateState::Read(msg_A, &param); 859 ViewHostMsg_UpdateState::Read(msg_A, &param);
864 int page_id_A = get<0>(param); 860 int page_id_A = get<0>(param);
865 PageState state_A = get<1>(param); 861 PageState state_A = get<1>(param);
866 EXPECT_EQ(1, page_id_A); 862 EXPECT_EQ(1, page_id_A);
867 render_thread_->sink().ClearMessages(); 863 render_thread_->sink().ClearMessages();
868 864
869 // Back to page A (page_id 1) and commit. 865 // Back to page A (page_id 1) and commit.
870 CommonNavigationParams common_params_A; 866 CommonNavigationParams common_params_A;
871 HistoryNavigationParams history_params_A; 867 RequestNavigationParams request_params_A;
872 common_params_A.navigation_type = FrameMsg_Navigate_Type::NORMAL; 868 common_params_A.navigation_type = FrameMsg_Navigate_Type::NORMAL;
873 common_params_A.transition = ui::PAGE_TRANSITION_FORWARD_BACK; 869 common_params_A.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
874 history_params_A.current_history_list_length = 2; 870 request_params_A.current_history_list_length = 2;
875 history_params_A.current_history_list_offset = 1; 871 request_params_A.current_history_list_offset = 1;
876 history_params_A.pending_history_list_offset = 0; 872 request_params_A.pending_history_list_offset = 0;
877 history_params_A.page_id = 1; 873 request_params_A.page_id = 1;
878 history_params_A.page_state = state_A; 874 request_params_A.page_state = state_A;
879 frame()->OnNavigate(common_params_A, StartNavigationParams(), 875 frame()->OnNavigate(common_params_A, StartNavigationParams(),
880 CommitNavigationParams(), history_params_A); 876 request_params_A);
881 ProcessPendingMessages(); 877 ProcessPendingMessages();
882 878
883 // A new navigation commits, clearing the forward history. 879 // A new navigation commits, clearing the forward history.
884 LoadHTML("<div>Page C</div>"); 880 LoadHTML("<div>Page C</div>");
885 EXPECT_EQ(2, view()->history_list_length_); 881 EXPECT_EQ(2, view()->history_list_length_);
886 EXPECT_EQ(1, view()->history_list_offset_); 882 EXPECT_EQ(1, view()->history_list_offset_);
887 EXPECT_EQ(3, view()->page_id_); // page C is now page id 3 883 EXPECT_EQ(3, view()->page_id_); // page C is now page id 3
888 884
889 // The browser then sends a stale navigation to B, which should be ignored. 885 // The browser then sends a stale navigation to B, which should be ignored.
890 CommonNavigationParams common_params_B; 886 CommonNavigationParams common_params_B;
891 HistoryNavigationParams history_params_B; 887 RequestNavigationParams request_params_B;
892 common_params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL; 888 common_params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL;
893 common_params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK; 889 common_params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
894 history_params_B.current_history_list_length = 2; 890 request_params_B.current_history_list_length = 2;
895 history_params_B.current_history_list_offset = 0; 891 request_params_B.current_history_list_offset = 0;
896 history_params_B.pending_history_list_offset = 1; 892 request_params_B.pending_history_list_offset = 1;
897 history_params_B.page_id = 2; 893 request_params_B.page_id = 2;
898 history_params_B.page_state = 894 request_params_B.page_state =
899 state_A; // Doesn't matter, just has to be present. 895 state_A; // Doesn't matter, just has to be present.
900 frame()->OnNavigate(common_params_B, StartNavigationParams(), 896 frame()->OnNavigate(common_params_B, StartNavigationParams(),
901 CommitNavigationParams(), history_params_B); 897 request_params_B);
902 898
903 // State should be unchanged. 899 // State should be unchanged.
904 EXPECT_EQ(2, view()->history_list_length_); 900 EXPECT_EQ(2, view()->history_list_length_);
905 EXPECT_EQ(1, view()->history_list_offset_); 901 EXPECT_EQ(1, view()->history_list_offset_);
906 EXPECT_EQ(3, view()->page_id_); // page C, not page B 902 EXPECT_EQ(3, view()->page_id_); // page C, not page B
907 903
908 // Check for a valid DidDropNavigation message. 904 // Check for a valid DidDropNavigation message.
909 ProcessPendingMessages(); 905 ProcessPendingMessages();
910 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching( 906 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching(
911 FrameHostMsg_DidDropNavigation::ID); 907 FrameHostMsg_DidDropNavigation::ID);
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
1607 error.reason = net::ERR_FILE_NOT_FOUND; 1603 error.reason = net::ERR_FILE_NOT_FOUND;
1608 error.unreachableURL = GURL("http://foo"); 1604 error.unreachableURL = GURL("http://foo");
1609 WebLocalFrame* web_frame = GetMainFrame(); 1605 WebLocalFrame* web_frame = GetMainFrame();
1610 1606
1611 // Start a load that will reach provisional state synchronously, 1607 // Start a load that will reach provisional state synchronously,
1612 // but won't complete synchronously. 1608 // but won't complete synchronously.
1613 CommonNavigationParams common_params; 1609 CommonNavigationParams common_params;
1614 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 1610 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
1615 common_params.url = GURL("data:text/html,test data"); 1611 common_params.url = GURL("data:text/html,test data");
1616 frame()->OnNavigate(common_params, StartNavigationParams(), 1612 frame()->OnNavigate(common_params, StartNavigationParams(),
1617 CommitNavigationParams(), HistoryNavigationParams()); 1613 RequestNavigationParams());
1618 1614
1619 // An error occurred. 1615 // An error occurred.
1620 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error); 1616 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error);
1621 // Frame should exit view-source mode. 1617 // Frame should exit view-source mode.
1622 EXPECT_FALSE(web_frame->isViewSourceModeEnabled()); 1618 EXPECT_FALSE(web_frame->isViewSourceModeEnabled());
1623 } 1619 }
1624 1620
1625 TEST_F(RenderViewImplTest, DidFailProvisionalLoadWithErrorForCancellation) { 1621 TEST_F(RenderViewImplTest, DidFailProvisionalLoadWithErrorForCancellation) {
1626 GetMainFrame()->enableViewSourceMode(true); 1622 GetMainFrame()->enableViewSourceMode(true);
1627 WebURLError error; 1623 WebURLError error;
1628 error.domain = WebString::fromUTF8(net::kErrorDomain); 1624 error.domain = WebString::fromUTF8(net::kErrorDomain);
1629 error.reason = net::ERR_ABORTED; 1625 error.reason = net::ERR_ABORTED;
1630 error.unreachableURL = GURL("http://foo"); 1626 error.unreachableURL = GURL("http://foo");
1631 WebLocalFrame* web_frame = GetMainFrame(); 1627 WebLocalFrame* web_frame = GetMainFrame();
1632 1628
1633 // Start a load that will reach provisional state synchronously, 1629 // Start a load that will reach provisional state synchronously,
1634 // but won't complete synchronously. 1630 // but won't complete synchronously.
1635 CommonNavigationParams common_params; 1631 CommonNavigationParams common_params;
1636 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 1632 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
1637 common_params.url = GURL("data:text/html,test data"); 1633 common_params.url = GURL("data:text/html,test data");
1638 frame()->OnNavigate(common_params, StartNavigationParams(), 1634 frame()->OnNavigate(common_params, StartNavigationParams(),
1639 CommitNavigationParams(), HistoryNavigationParams()); 1635 RequestNavigationParams());
1640 1636
1641 // A cancellation occurred. 1637 // A cancellation occurred.
1642 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error); 1638 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error);
1643 // Frame should stay in view-source mode. 1639 // Frame should stay in view-source mode.
1644 EXPECT_TRUE(web_frame->isViewSourceModeEnabled()); 1640 EXPECT_TRUE(web_frame->isViewSourceModeEnabled());
1645 } 1641 }
1646 1642
1647 // Regression test for http://crbug.com/41562 1643 // Regression test for http://crbug.com/41562
1648 TEST_F(RenderViewImplTest, UpdateTargetURLWithInvalidURL) { 1644 TEST_F(RenderViewImplTest, UpdateTargetURLWithInvalidURL) {
1649 const GURL invalid_gurl("http://"); 1645 const GURL invalid_gurl("http://");
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1826 const double kMinZoomLevel = ZoomFactorToZoomLevel(kMinimumZoomFactor); 1822 const double kMinZoomLevel = ZoomFactorToZoomLevel(kMinimumZoomFactor);
1827 const double kMaxZoomLevel = ZoomFactorToZoomLevel(kMaximumZoomFactor); 1823 const double kMaxZoomLevel = ZoomFactorToZoomLevel(kMaximumZoomFactor);
1828 1824
1829 // Verifies navigation to a URL with preset zoom level indeed sets the level. 1825 // Verifies navigation to a URL with preset zoom level indeed sets the level.
1830 // Regression test for http://crbug.com/139559, where the level was not 1826 // Regression test for http://crbug.com/139559, where the level was not
1831 // properly set when it is out of the default zoom limits of WebView. 1827 // properly set when it is out of the default zoom limits of WebView.
1832 CommonNavigationParams common_params; 1828 CommonNavigationParams common_params;
1833 common_params.url = GURL("data:text/html,min_zoomlimit_test"); 1829 common_params.url = GURL("data:text/html,min_zoomlimit_test");
1834 view()->OnSetZoomLevelForLoadingURL(common_params.url, kMinZoomLevel); 1830 view()->OnSetZoomLevelForLoadingURL(common_params.url, kMinZoomLevel);
1835 frame()->OnNavigate(common_params, StartNavigationParams(), 1831 frame()->OnNavigate(common_params, StartNavigationParams(),
1836 CommitNavigationParams(), HistoryNavigationParams()); 1832 RequestNavigationParams());
1837 ProcessPendingMessages(); 1833 ProcessPendingMessages();
1838 EXPECT_DOUBLE_EQ(kMinZoomLevel, view()->GetWebView()->zoomLevel()); 1834 EXPECT_DOUBLE_EQ(kMinZoomLevel, view()->GetWebView()->zoomLevel());
1839 1835
1840 // It should work even when the zoom limit is temporarily changed in the page. 1836 // It should work even when the zoom limit is temporarily changed in the page.
1841 view()->GetWebView()->zoomLimitsChanged(ZoomFactorToZoomLevel(1.0), 1837 view()->GetWebView()->zoomLimitsChanged(ZoomFactorToZoomLevel(1.0),
1842 ZoomFactorToZoomLevel(1.0)); 1838 ZoomFactorToZoomLevel(1.0));
1843 common_params.url = GURL("data:text/html,max_zoomlimit_test"); 1839 common_params.url = GURL("data:text/html,max_zoomlimit_test");
1844 view()->OnSetZoomLevelForLoadingURL(common_params.url, kMaxZoomLevel); 1840 view()->OnSetZoomLevelForLoadingURL(common_params.url, kMaxZoomLevel);
1845 frame()->OnNavigate(common_params, StartNavigationParams(), 1841 frame()->OnNavigate(common_params, StartNavigationParams(),
1846 CommitNavigationParams(), HistoryNavigationParams()); 1842 RequestNavigationParams());
1847 ProcessPendingMessages(); 1843 ProcessPendingMessages();
1848 EXPECT_DOUBLE_EQ(kMaxZoomLevel, view()->GetWebView()->zoomLevel()); 1844 EXPECT_DOUBLE_EQ(kMaxZoomLevel, view()->GetWebView()->zoomLevel());
1849 } 1845 }
1850 1846
1851 TEST_F(RenderViewImplTest, SetEditableSelectionAndComposition) { 1847 TEST_F(RenderViewImplTest, SetEditableSelectionAndComposition) {
1852 // Load an HTML page consisting of an input field. 1848 // Load an HTML page consisting of an input field.
1853 LoadHTML("<html>" 1849 LoadHTML("<html>"
1854 "<head>" 1850 "<head>"
1855 "</head>" 1851 "</head>"
1856 "<body>" 1852 "<body>"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1897 EXPECT_EQ(2, info.selectionEnd); 1893 EXPECT_EQ(2, info.selectionEnd);
1898 } 1894 }
1899 1895
1900 // Test that the navigating specific frames works correctly. 1896 // Test that the navigating specific frames works correctly.
1901 TEST_F(RenderViewImplTest, NavigateFrame) { 1897 TEST_F(RenderViewImplTest, NavigateFrame) {
1902 // Load page A. 1898 // Load page A.
1903 LoadHTML("hello <iframe srcdoc='fail' name='frame'></iframe>"); 1899 LoadHTML("hello <iframe srcdoc='fail' name='frame'></iframe>");
1904 1900
1905 // Navigate the frame only. 1901 // Navigate the frame only.
1906 CommonNavigationParams common_params; 1902 CommonNavigationParams common_params;
1907 CommitNavigationParams commit_params; 1903 RequestNavigationParams request_params;
1908 HistoryNavigationParams history_params;
1909 common_params.url = GURL("data:text/html,world"); 1904 common_params.url = GURL("data:text/html,world");
1910 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 1905 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
1911 common_params.transition = ui::PAGE_TRANSITION_TYPED; 1906 common_params.transition = ui::PAGE_TRANSITION_TYPED;
1912 history_params.current_history_list_length = 1; 1907 request_params.current_history_list_length = 1;
1913 history_params.current_history_list_offset = 0; 1908 request_params.current_history_list_offset = 0;
1914 history_params.pending_history_list_offset = 1; 1909 request_params.pending_history_list_offset = 1;
1915 history_params.page_id = -1; 1910 request_params.page_id = -1;
1916 commit_params.frame_to_navigate = "frame"; 1911 request_params.frame_to_navigate = "frame";
1917 commit_params.browser_navigation_start = 1912 request_params.browser_navigation_start =
1918 base::TimeTicks::FromInternalValue(1); 1913 base::TimeTicks::FromInternalValue(1);
1919 frame()->OnNavigate(common_params, StartNavigationParams(), commit_params, 1914 frame()->OnNavigate(common_params, StartNavigationParams(), request_params);
1920 history_params);
1921 FrameLoadWaiter( 1915 FrameLoadWaiter(
1922 RenderFrame::FromWebFrame(frame()->GetWebFrame()->firstChild())).Wait(); 1916 RenderFrame::FromWebFrame(frame()->GetWebFrame()->firstChild())).Wait();
1923 1917
1924 // Copy the document content to std::wstring and compare with the 1918 // Copy the document content to std::wstring and compare with the
1925 // expected result. 1919 // expected result.
1926 const int kMaxOutputCharacters = 256; 1920 const int kMaxOutputCharacters = 256;
1927 std::string output = base::UTF16ToUTF8( 1921 std::string output = base::UTF16ToUTF8(
1928 GetMainFrame()->contentAsText(kMaxOutputCharacters)); 1922 GetMainFrame()->contentAsText(kMaxOutputCharacters));
1929 EXPECT_EQ(output, "hello \n\nworld"); 1923 EXPECT_EQ(output, "hello \n\nworld");
1930 } 1924 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
2028 error.reason = net::ERR_FILE_NOT_FOUND; 2022 error.reason = net::ERR_FILE_NOT_FOUND;
2029 error.unreachableURL = GURL("http://example.com/suppress"); 2023 error.unreachableURL = GURL("http://example.com/suppress");
2030 WebLocalFrame* web_frame = GetMainFrame(); 2024 WebLocalFrame* web_frame = GetMainFrame();
2031 2025
2032 // Start a load that will reach provisional state synchronously, 2026 // Start a load that will reach provisional state synchronously,
2033 // but won't complete synchronously. 2027 // but won't complete synchronously.
2034 CommonNavigationParams common_params; 2028 CommonNavigationParams common_params;
2035 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 2029 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
2036 common_params.url = GURL("data:text/html,test data"); 2030 common_params.url = GURL("data:text/html,test data");
2037 frame()->OnNavigate(common_params, StartNavigationParams(), 2031 frame()->OnNavigate(common_params, StartNavigationParams(),
2038 CommitNavigationParams(), HistoryNavigationParams()); 2032 RequestNavigationParams());
2039 2033
2040 // An error occurred. 2034 // An error occurred.
2041 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error); 2035 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error);
2042 const int kMaxOutputCharacters = 22; 2036 const int kMaxOutputCharacters = 22;
2043 EXPECT_EQ("", 2037 EXPECT_EQ("",
2044 base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters))); 2038 base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters)));
2045 } 2039 }
2046 2040
2047 #if defined(OS_ANDROID) 2041 #if defined(OS_ANDROID)
2048 // Crashing on Android: http://crbug.com/311341 2042 // Crashing on Android: http://crbug.com/311341
2049 #define MAYBE_DoesNotSuppress DISABLED_DoesNotSuppress 2043 #define MAYBE_DoesNotSuppress DISABLED_DoesNotSuppress
2050 #else 2044 #else
2051 #define MAYBE_DoesNotSuppress DoesNotSuppress 2045 #define MAYBE_DoesNotSuppress DoesNotSuppress
2052 #endif 2046 #endif
2053 2047
2054 TEST_F(SuppressErrorPageTest, MAYBE_DoesNotSuppress) { 2048 TEST_F(SuppressErrorPageTest, MAYBE_DoesNotSuppress) {
2055 WebURLError error; 2049 WebURLError error;
2056 error.domain = WebString::fromUTF8(net::kErrorDomain); 2050 error.domain = WebString::fromUTF8(net::kErrorDomain);
2057 error.reason = net::ERR_FILE_NOT_FOUND; 2051 error.reason = net::ERR_FILE_NOT_FOUND;
2058 error.unreachableURL = GURL("http://example.com/dont-suppress"); 2052 error.unreachableURL = GURL("http://example.com/dont-suppress");
2059 WebLocalFrame* web_frame = GetMainFrame(); 2053 WebLocalFrame* web_frame = GetMainFrame();
2060 2054
2061 // Start a load that will reach provisional state synchronously, 2055 // Start a load that will reach provisional state synchronously,
2062 // but won't complete synchronously. 2056 // but won't complete synchronously.
2063 CommonNavigationParams common_params; 2057 CommonNavigationParams common_params;
2064 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 2058 common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
2065 common_params.url = GURL("data:text/html,test data"); 2059 common_params.url = GURL("data:text/html,test data");
2066 frame()->OnNavigate(common_params, StartNavigationParams(), 2060 frame()->OnNavigate(common_params, StartNavigationParams(),
2067 CommitNavigationParams(), HistoryNavigationParams()); 2061 RequestNavigationParams());
2068 2062
2069 // An error occurred. 2063 // An error occurred.
2070 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error); 2064 view()->GetMainRenderFrame()->didFailProvisionalLoad(web_frame, error);
2071 // The error page itself is loaded asynchronously. 2065 // The error page itself is loaded asynchronously.
2072 FrameLoadWaiter(frame()).Wait(); 2066 FrameLoadWaiter(frame()).Wait();
2073 const int kMaxOutputCharacters = 22; 2067 const int kMaxOutputCharacters = 22;
2074 EXPECT_EQ("A suffusion of yellow.", 2068 EXPECT_EQ("A suffusion of yellow.",
2075 base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters))); 2069 base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters)));
2076 } 2070 }
2077 2071
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
2258 // Sanity checks for the Navigation Timing API |navigationStart| override. We 2252 // Sanity checks for the Navigation Timing API |navigationStart| override. We
2259 // are asserting only most basic constraints, as TimeTicks (passed as the 2253 // are asserting only most basic constraints, as TimeTicks (passed as the
2260 // override) are not comparable with the wall time (returned by the Blink API). 2254 // override) are not comparable with the wall time (returned by the Blink API).
2261 TEST_F(RenderViewImplTest, NavigationStartOverride) { 2255 TEST_F(RenderViewImplTest, NavigationStartOverride) {
2262 // Verify that a navigation that claims to have started at the earliest 2256 // Verify that a navigation that claims to have started at the earliest
2263 // possible TimeTicks is indeed reported as one that started before 2257 // possible TimeTicks is indeed reported as one that started before
2264 // OnNavigate() is called. 2258 // OnNavigate() is called.
2265 base::Time before_navigation = base::Time::Now(); 2259 base::Time before_navigation = base::Time::Now();
2266 CommonNavigationParams early_common_params; 2260 CommonNavigationParams early_common_params;
2267 StartNavigationParams early_start_params; 2261 StartNavigationParams early_start_params;
2268 CommitNavigationParams early_commit_params; 2262 RequestNavigationParams early_request_params;
2269 early_common_params.url = GURL("data:text/html,<div>Page</div>"); 2263 early_common_params.url = GURL("data:text/html,<div>Page</div>");
2270 early_common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 2264 early_common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
2271 early_common_params.transition = ui::PAGE_TRANSITION_TYPED; 2265 early_common_params.transition = ui::PAGE_TRANSITION_TYPED;
2272 early_start_params.is_post = true; 2266 early_start_params.is_post = true;
2273 early_commit_params.browser_navigation_start = 2267 early_request_params.browser_navigation_start =
2274 base::TimeTicks::FromInternalValue(1); 2268 base::TimeTicks::FromInternalValue(1);
2275 2269
2276 frame()->OnNavigate(early_common_params, early_start_params, 2270 frame()->OnNavigate(early_common_params, early_start_params,
2277 early_commit_params, HistoryNavigationParams()); 2271 early_request_params);
2278 ProcessPendingMessages(); 2272 ProcessPendingMessages();
2279 2273
2280 base::Time early_nav_reported_start = 2274 base::Time early_nav_reported_start =
2281 base::Time::FromDoubleT(GetMainFrame()->performance().navigationStart()); 2275 base::Time::FromDoubleT(GetMainFrame()->performance().navigationStart());
2282 EXPECT_LT(early_nav_reported_start, before_navigation); 2276 EXPECT_LT(early_nav_reported_start, before_navigation);
2283 2277
2284 // Verify that a navigation that claims to have started in the future - 42 2278 // Verify that a navigation that claims to have started in the future - 42
2285 // days from now is *not* reported as one that starts in the future; as we 2279 // days from now is *not* reported as one that starts in the future; as we
2286 // sanitize the override allowing a maximum of ::Now(). 2280 // sanitize the override allowing a maximum of ::Now().
2287 CommonNavigationParams late_common_params; 2281 CommonNavigationParams late_common_params;
2288 CommitNavigationParams late_commit_params; 2282 RequestNavigationParams late_request_params;
2289 StartNavigationParams late_start_params; 2283 StartNavigationParams late_start_params;
2290 late_common_params.url = GURL("data:text/html,<div>Another page</div>"); 2284 late_common_params.url = GURL("data:text/html,<div>Another page</div>");
2291 late_common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 2285 late_common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
2292 late_common_params.transition = ui::PAGE_TRANSITION_TYPED; 2286 late_common_params.transition = ui::PAGE_TRANSITION_TYPED;
2293 late_start_params.is_post = true; 2287 late_start_params.is_post = true;
2294 late_commit_params.browser_navigation_start = 2288 late_request_params.browser_navigation_start =
2295 base::TimeTicks::Now() + base::TimeDelta::FromDays(42); 2289 base::TimeTicks::Now() + base::TimeDelta::FromDays(42);
2296 2290
2297 frame()->OnNavigate(late_common_params, late_start_params, late_commit_params, 2291 frame()->OnNavigate(late_common_params, late_start_params,
2298 HistoryNavigationParams()); 2292 late_request_params);
2299 ProcessPendingMessages(); 2293 ProcessPendingMessages();
2300 base::Time after_navigation = 2294 base::Time after_navigation =
2301 base::Time::Now() + base::TimeDelta::FromDays(1); 2295 base::Time::Now() + base::TimeDelta::FromDays(1);
2302 2296
2303 base::Time late_nav_reported_start = 2297 base::Time late_nav_reported_start =
2304 base::Time::FromDoubleT(GetMainFrame()->performance().navigationStart()); 2298 base::Time::FromDoubleT(GetMainFrame()->performance().navigationStart());
2305 EXPECT_LE(late_nav_reported_start, after_navigation); 2299 EXPECT_LE(late_nav_reported_start, after_navigation);
2306 } 2300 }
2307 2301
2308 TEST_F(RenderViewImplTest, PreferredSizeZoomed) { 2302 TEST_F(RenderViewImplTest, PreferredSizeZoomed) {
(...skipping 11 matching lines...) Expand all
2320 } 2314 }
2321 2315
2322 // Ensure the RenderViewImpl history list is properly updated when starting a 2316 // Ensure the RenderViewImpl history list is properly updated when starting a
2323 // new browser-initiated navigation. 2317 // new browser-initiated navigation.
2324 TEST_F(RenderViewImplTest, HistoryIsProperlyUpdatedOnNavigation) { 2318 TEST_F(RenderViewImplTest, HistoryIsProperlyUpdatedOnNavigation) {
2325 EXPECT_EQ(0, view()->historyBackListCount()); 2319 EXPECT_EQ(0, view()->historyBackListCount());
2326 EXPECT_EQ(0, view()->historyBackListCount() + 2320 EXPECT_EQ(0, view()->historyBackListCount() +
2327 view()->historyForwardListCount() + 1); 2321 view()->historyForwardListCount() + 1);
2328 2322
2329 // Receive a Navigate message with history parameters. 2323 // Receive a Navigate message with history parameters.
2330 HistoryNavigationParams history_params; 2324 RequestNavigationParams request_params;
2331 history_params.current_history_list_length = 2; 2325 request_params.current_history_list_length = 2;
2332 history_params.current_history_list_offset = 1; 2326 request_params.current_history_list_offset = 1;
2333 history_params.pending_history_list_offset = 2; 2327 request_params.pending_history_list_offset = 2;
2334 history_params.page_id = -1; 2328 request_params.page_id = -1;
2335 frame()->OnNavigate(CommonNavigationParams(), StartNavigationParams(), 2329 frame()->OnNavigate(CommonNavigationParams(), StartNavigationParams(),
2336 CommitNavigationParams(), history_params); 2330 request_params);
2337 2331
2338 // The history list in RenderView should have been updated. 2332 // The history list in RenderView should have been updated.
2339 EXPECT_EQ(1, view()->historyBackListCount()); 2333 EXPECT_EQ(1, view()->historyBackListCount());
2340 EXPECT_EQ(2, view()->historyBackListCount() + 2334 EXPECT_EQ(2, view()->historyBackListCount() +
2341 view()->historyForwardListCount() + 1); 2335 view()->historyForwardListCount() + 1);
2342 } 2336 }
2343 2337
2344 } // namespace content 2338 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698