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

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

Issue 7618016: Additional fixes for prerender/instant + browsing history. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Wrong signature Created 9 years, 4 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) 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/basictypes.h" 5 #include "base/basictypes.h"
6 6
7 #include "base/shared_memory.h" 7 #include "base/shared_memory.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/test/base/render_view_test.h" 10 #include "chrome/test/base/render_view_test.h"
(...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 // Frame should stay in view-source mode. 843 // Frame should stay in view-source mode.
844 EXPECT_TRUE(web_frame->isViewSourceModeEnabled()); 844 EXPECT_TRUE(web_frame->isViewSourceModeEnabled());
845 } 845 }
846 846
847 // Regression test for http://crbug.com/41562 847 // Regression test for http://crbug.com/41562
848 TEST_F(RenderViewTest, UpdateTargetURLWithInvalidURL) { 848 TEST_F(RenderViewTest, UpdateTargetURLWithInvalidURL) {
849 const GURL invalid_gurl("http://"); 849 const GURL invalid_gurl("http://");
850 view_->setMouseOverURL(WebKit::WebURL(invalid_gurl)); 850 view_->setMouseOverURL(WebKit::WebURL(invalid_gurl));
851 EXPECT_EQ(invalid_gurl, view_->target_url_); 851 EXPECT_EQ(invalid_gurl, view_->target_url_);
852 } 852 }
853
854 TEST_F(RenderViewTest, SetHistoryLengthAndPrune) {
855 int expected_page_id = -1;
856
857 // No history to merge and no committed pages.
858 view_->OnSetHistoryLengthAndPrune(0, -1);
859 EXPECT_EQ(0, view_->history_list_length_);
860 EXPECT_EQ(-1, view_->history_list_offset_);
861
862 // History to merge and no committed pages.
863 view_->OnSetHistoryLengthAndPrune(2, -1);
864 EXPECT_EQ(2, view_->history_list_length_);
865 EXPECT_EQ(1, view_->history_list_offset_);
866 EXPECT_EQ(-1, view_->history_page_ids_[0]);
867 EXPECT_EQ(-1, view_->history_page_ids_[1]);
868 ClearHistory();
869
870 // No history to merge and a committed page to be kept.
871 view_->didCommitProvisionalLoad(GetMainFrame(), true);
872 expected_page_id = view_->page_id_;
873 view_->OnSetHistoryLengthAndPrune(0, expected_page_id);
874 EXPECT_EQ(1, view_->history_list_length_);
875 EXPECT_EQ(0, view_->history_list_offset_);
876 EXPECT_EQ(expected_page_id, view_->history_page_ids_[0]);
877 ClearHistory();
878
879 // No history to merge and a committed page to be pruned.
880 view_->didCommitProvisionalLoad(GetMainFrame(), true);
881 expected_page_id = view_->page_id_;
882 view_->OnSetHistoryLengthAndPrune(0, expected_page_id + 1);
883 EXPECT_EQ(0, view_->history_list_length_);
884 EXPECT_EQ(-1, view_->history_list_offset_);
885 ClearHistory();
886
887 // No history to merge and a committed page that the browser was unaware of.
888 view_->didCommitProvisionalLoad(GetMainFrame(), true);
889 expected_page_id = view_->page_id_;
890 view_->OnSetHistoryLengthAndPrune(0, -1);
891 EXPECT_EQ(1, view_->history_list_length_);
892 EXPECT_EQ(0, view_->history_list_offset_);
893 EXPECT_EQ(expected_page_id, view_->history_page_ids_[0]);
894 ClearHistory();
895
896 // History to merge and a committed page to be kept.
897 view_->didCommitProvisionalLoad(GetMainFrame(), true);
898 expected_page_id = view_->page_id_;
899 view_->OnSetHistoryLengthAndPrune(2, expected_page_id);
900 EXPECT_EQ(3, view_->history_list_length_);
901 EXPECT_EQ(2, view_->history_list_offset_);
902 EXPECT_EQ(-1, view_->history_page_ids_[0]);
903 EXPECT_EQ(-1, view_->history_page_ids_[1]);
904 EXPECT_EQ(expected_page_id, view_->history_page_ids_[2]);
905 ClearHistory();
906
907 // History to merge and a committed page to be pruned.
908 view_->didCommitProvisionalLoad(GetMainFrame(), true);
909 expected_page_id = view_->page_id_;
910 view_->OnSetHistoryLengthAndPrune(2, expected_page_id + 1);
911 EXPECT_EQ(2, view_->history_list_length_);
912 EXPECT_EQ(1, view_->history_list_offset_);
913 EXPECT_EQ(-1, view_->history_page_ids_[0]);
914 EXPECT_EQ(-1, view_->history_page_ids_[1]);
915 ClearHistory();
916
917 // History to merge and a committed page that the browser was unaware of.
918 view_->didCommitProvisionalLoad(GetMainFrame(), true);
919 expected_page_id = view_->page_id_;
920 view_->OnSetHistoryLengthAndPrune(2, -1);
921 EXPECT_EQ(3, view_->history_list_length_);
922 EXPECT_EQ(2, view_->history_list_offset_);
923 EXPECT_EQ(-1, view_->history_page_ids_[0]);
924 EXPECT_EQ(-1, view_->history_page_ids_[1]);
925 EXPECT_EQ(expected_page_id, view_->history_page_ids_[2]);
926 ClearHistory();
927
928 int expected_page_id_2 = -1;
929
930 // No history to merge and two committed pages, both to be kept.
931 view_->didCommitProvisionalLoad(GetMainFrame(), true);
932 expected_page_id = view_->page_id_;
933 view_->didCommitProvisionalLoad(GetMainFrame(), true);
934 expected_page_id_2 = view_->page_id_;
935 EXPECT_GT(expected_page_id_2, expected_page_id);
936 view_->OnSetHistoryLengthAndPrune(0, expected_page_id);
937 EXPECT_EQ(2, view_->history_list_length_);
938 EXPECT_EQ(1, view_->history_list_offset_);
939 EXPECT_EQ(expected_page_id, view_->history_page_ids_[0]);
940 EXPECT_EQ(expected_page_id_2, view_->history_page_ids_[1]);
941 ClearHistory();
942
943 // No history to merge and two committed pages, and only the second is kept.
944 view_->didCommitProvisionalLoad(GetMainFrame(), true);
945 expected_page_id = view_->page_id_;
946 view_->didCommitProvisionalLoad(GetMainFrame(), true);
947 expected_page_id_2 = view_->page_id_;
948 EXPECT_GT(expected_page_id_2, expected_page_id);
949 view_->OnSetHistoryLengthAndPrune(0, expected_page_id_2);
950 EXPECT_EQ(1, view_->history_list_length_);
951 EXPECT_EQ(0, view_->history_list_offset_);
952 EXPECT_EQ(expected_page_id_2, view_->history_page_ids_[0]);
953 ClearHistory();
954
955 // No history to merge and two committed pages, both of which the browser was
956 // unaware of.
957 view_->didCommitProvisionalLoad(GetMainFrame(), true);
958 expected_page_id = view_->page_id_;
959 view_->didCommitProvisionalLoad(GetMainFrame(), true);
960 expected_page_id_2 = view_->page_id_;
961 EXPECT_GT(expected_page_id_2, expected_page_id);
962 view_->OnSetHistoryLengthAndPrune(0, -1);
963 EXPECT_EQ(2, view_->history_list_length_);
964 EXPECT_EQ(1, view_->history_list_offset_);
965 EXPECT_EQ(expected_page_id, view_->history_page_ids_[0]);
966 EXPECT_EQ(expected_page_id_2, view_->history_page_ids_[1]);
967 ClearHistory();
968
969 // History to merge and two committed pages, both to be kept.
970 view_->didCommitProvisionalLoad(GetMainFrame(), true);
971 expected_page_id = view_->page_id_;
972 view_->didCommitProvisionalLoad(GetMainFrame(), true);
973 expected_page_id_2 = view_->page_id_;
974 EXPECT_GT(expected_page_id_2, expected_page_id);
975 view_->OnSetHistoryLengthAndPrune(2, expected_page_id);
976 EXPECT_EQ(4, view_->history_list_length_);
977 EXPECT_EQ(3, view_->history_list_offset_);
978 EXPECT_EQ(-1, view_->history_page_ids_[0]);
979 EXPECT_EQ(-1, view_->history_page_ids_[1]);
980 EXPECT_EQ(expected_page_id, view_->history_page_ids_[2]);
981 EXPECT_EQ(expected_page_id_2, view_->history_page_ids_[3]);
982 ClearHistory();
983
984 // History to merge and two committed pages, and only the second is kept.
985 view_->didCommitProvisionalLoad(GetMainFrame(), true);
986 expected_page_id = view_->page_id_;
987 view_->didCommitProvisionalLoad(GetMainFrame(), true);
988 expected_page_id_2 = view_->page_id_;
989 EXPECT_GT(expected_page_id_2, expected_page_id);
990 view_->OnSetHistoryLengthAndPrune(2, expected_page_id_2);
991 EXPECT_EQ(3, view_->history_list_length_);
992 EXPECT_EQ(2, view_->history_list_offset_);
993 EXPECT_EQ(-1, view_->history_page_ids_[0]);
994 EXPECT_EQ(-1, view_->history_page_ids_[1]);
995 EXPECT_EQ(expected_page_id_2, view_->history_page_ids_[2]);
996 ClearHistory();
997
998 // History to merge and two committed pages, both of which the browser was
999 // unaware of.
1000 view_->didCommitProvisionalLoad(GetMainFrame(), true);
1001 expected_page_id = view_->page_id_;
1002 view_->didCommitProvisionalLoad(GetMainFrame(), true);
1003 expected_page_id_2 = view_->page_id_;
1004 EXPECT_GT(expected_page_id_2, expected_page_id);
1005 view_->OnSetHistoryLengthAndPrune(2, -1);
1006 EXPECT_EQ(4, view_->history_list_length_);
1007 EXPECT_EQ(3, view_->history_list_offset_);
1008 EXPECT_EQ(-1, view_->history_page_ids_[0]);
1009 EXPECT_EQ(-1, view_->history_page_ids_[1]);
1010 EXPECT_EQ(expected_page_id, view_->history_page_ids_[2]);
1011 EXPECT_EQ(expected_page_id_2, view_->history_page_ids_[3]);
1012 }
OLDNEW
« content/common/view_messages.h ('K') | « content/renderer/render_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698