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

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

Issue 2741313002: Renamed WasWithinSamePage to WasWithinSameDocument. (Closed)
Patch Set: Addressed review comments Created 3 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/browser/frame_host/navigation_controller_impl.h" 5 #include "content/browser/frame_host/navigation_controller_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 NavigationControllerImpl& controller = controller_impl(); 2627 NavigationControllerImpl& controller = controller_impl();
2628 TestNotificationTracker notifications; 2628 TestNotificationTracker notifications;
2629 RegisterForAllNavNotifications(&notifications, &controller); 2629 RegisterForAllNavNotifications(&notifications, &controller);
2630 2630
2631 // Main page. 2631 // Main page.
2632 const GURL url1("http://foo"); 2632 const GURL url1("http://foo");
2633 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1); 2633 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1);
2634 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2634 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2635 navigation_entry_committed_counter_ = 0; 2635 navigation_entry_committed_counter_ = 0;
2636 2636
2637 // Ensure main page navigation to same url respects the was_within_same_page 2637 // Ensure main page navigation to same url respects the
2638 // hint provided in the params. 2638 // was_within_same_document hint provided in the params.
2639 FrameHostMsg_DidCommitProvisionalLoad_Params self_params; 2639 FrameHostMsg_DidCommitProvisionalLoad_Params self_params;
2640 self_params.nav_entry_id = 0; 2640 self_params.nav_entry_id = 0;
2641 self_params.did_create_new_entry = false; 2641 self_params.did_create_new_entry = false;
2642 self_params.url = url1; 2642 self_params.url = url1;
2643 self_params.transition = ui::PAGE_TRANSITION_LINK; 2643 self_params.transition = ui::PAGE_TRANSITION_LINK;
2644 self_params.should_update_history = false; 2644 self_params.should_update_history = false;
2645 self_params.gesture = NavigationGestureUser; 2645 self_params.gesture = NavigationGestureUser;
2646 self_params.method = "GET"; 2646 self_params.method = "GET";
2647 self_params.item_sequence_number = GenerateSequenceNumber(); 2647 self_params.item_sequence_number = GenerateSequenceNumber();
2648 self_params.document_sequence_number = GenerateSequenceNumber(); 2648 self_params.document_sequence_number = GenerateSequenceNumber();
2649 self_params.page_state = PageState::CreateForTestingWithSequenceNumbers( 2649 self_params.page_state = PageState::CreateForTestingWithSequenceNumbers(
2650 url1, self_params.item_sequence_number, 2650 url1, self_params.item_sequence_number,
2651 self_params.document_sequence_number); 2651 self_params.document_sequence_number);
2652 self_params.was_within_same_page = true; 2652 self_params.was_within_same_document = true;
2653 2653
2654 LoadCommittedDetailsObserver observer(contents()); 2654 LoadCommittedDetailsObserver observer(contents());
2655 main_test_rfh()->SendRendererInitiatedNavigationRequest(url1, false); 2655 main_test_rfh()->SendRendererInitiatedNavigationRequest(url1, false);
2656 main_test_rfh()->PrepareForCommit(); 2656 main_test_rfh()->PrepareForCommit();
2657 main_test_rfh()->SendNavigateWithParams(&self_params); 2657 main_test_rfh()->SendNavigateWithParams(&self_params);
2658 NavigationEntry* entry1 = controller.GetLastCommittedEntry(); 2658 NavigationEntry* entry1 = controller.GetLastCommittedEntry();
2659 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2659 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2660 navigation_entry_committed_counter_ = 0; 2660 navigation_entry_committed_counter_ = 0;
2661 EXPECT_TRUE(observer.is_in_page()); 2661 EXPECT_TRUE(observer.is_in_page());
2662 EXPECT_TRUE(observer.did_replace_entry()); 2662 EXPECT_TRUE(observer.did_replace_entry());
2663 EXPECT_EQ(1, controller.GetEntryCount()); 2663 EXPECT_EQ(1, controller.GetEntryCount());
2664 2664
2665 // Fragment navigation to a new page. 2665 // Fragment navigation to a new page.
2666 const GURL url2("http://foo#a"); 2666 const GURL url2("http://foo#a");
2667 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2667 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2668 params.nav_entry_id = 0; 2668 params.nav_entry_id = 0;
2669 params.did_create_new_entry = true; 2669 params.did_create_new_entry = true;
2670 params.url = url2; 2670 params.url = url2;
2671 params.transition = ui::PAGE_TRANSITION_LINK; 2671 params.transition = ui::PAGE_TRANSITION_LINK;
2672 params.should_update_history = false; 2672 params.should_update_history = false;
2673 params.gesture = NavigationGestureUser; 2673 params.gesture = NavigationGestureUser;
2674 params.method = "GET"; 2674 params.method = "GET";
2675 params.item_sequence_number = GenerateSequenceNumber(); 2675 params.item_sequence_number = GenerateSequenceNumber();
2676 params.document_sequence_number = self_params.document_sequence_number; 2676 params.document_sequence_number = self_params.document_sequence_number;
2677 params.page_state = PageState::CreateForTestingWithSequenceNumbers( 2677 params.page_state = PageState::CreateForTestingWithSequenceNumbers(
2678 url2, params.item_sequence_number, params.document_sequence_number); 2678 url2, params.item_sequence_number, params.document_sequence_number);
2679 params.was_within_same_page = true; 2679 params.was_within_same_document = true;
2680 2680
2681 // This should generate a new entry. 2681 // This should generate a new entry.
2682 main_test_rfh()->SendNavigateWithParams(&params); 2682 main_test_rfh()->SendNavigateWithParams(&params);
2683 NavigationEntry* entry2 = controller.GetLastCommittedEntry(); 2683 NavigationEntry* entry2 = controller.GetLastCommittedEntry();
2684 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2684 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2685 navigation_entry_committed_counter_ = 0; 2685 navigation_entry_committed_counter_ = 0;
2686 EXPECT_TRUE(observer.is_in_page()); 2686 EXPECT_TRUE(observer.is_in_page());
2687 EXPECT_FALSE(observer.did_replace_entry()); 2687 EXPECT_FALSE(observer.did_replace_entry());
2688 EXPECT_EQ(2, controller.GetEntryCount()); 2688 EXPECT_EQ(2, controller.GetEntryCount());
2689 2689
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
2726 controller.GetVisibleEntry()->GetURL()); 2726 controller.GetVisibleEntry()->GetURL());
2727 2727
2728 // Finally, navigate to an unrelated URL to make sure in_page is not sticky. 2728 // Finally, navigate to an unrelated URL to make sure in_page is not sticky.
2729 const GURL url3("http://bar"); 2729 const GURL url3("http://bar");
2730 params.nav_entry_id = 0; 2730 params.nav_entry_id = 0;
2731 params.did_create_new_entry = true; 2731 params.did_create_new_entry = true;
2732 params.url = url3; 2732 params.url = url3;
2733 params.item_sequence_number = 0; 2733 params.item_sequence_number = 0;
2734 params.document_sequence_number = 0; 2734 params.document_sequence_number = 0;
2735 params.page_state = PageState::CreateFromURL(url3); 2735 params.page_state = PageState::CreateFromURL(url3);
2736 params.was_within_same_page = false; 2736 params.was_within_same_document = false;
2737 navigation_entry_committed_counter_ = 0; 2737 navigation_entry_committed_counter_ = 0;
2738 main_test_rfh()->SendRendererInitiatedNavigationRequest(url3, false); 2738 main_test_rfh()->SendRendererInitiatedNavigationRequest(url3, false);
2739 main_test_rfh()->PrepareForCommit(); 2739 main_test_rfh()->PrepareForCommit();
2740 main_test_rfh()->SendNavigateWithParams(&params); 2740 main_test_rfh()->SendNavigateWithParams(&params);
2741 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2741 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2742 navigation_entry_committed_counter_ = 0; 2742 navigation_entry_committed_counter_ = 0;
2743 EXPECT_FALSE(observer.is_in_page()); 2743 EXPECT_FALSE(observer.is_in_page());
2744 EXPECT_EQ(3, controller.GetEntryCount()); 2744 EXPECT_EQ(3, controller.GetEntryCount());
2745 EXPECT_EQ(2, controller.GetCurrentEntryIndex()); 2745 EXPECT_EQ(2, controller.GetCurrentEntryIndex());
2746 } 2746 }
(...skipping 13 matching lines...) Expand all
2760 const GURL url2("http://foo#a"); 2760 const GURL url2("http://foo#a");
2761 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2761 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2762 params.nav_entry_id = 0; 2762 params.nav_entry_id = 0;
2763 params.did_create_new_entry = false; 2763 params.did_create_new_entry = false;
2764 params.url = url2; 2764 params.url = url2;
2765 params.transition = ui::PAGE_TRANSITION_LINK; 2765 params.transition = ui::PAGE_TRANSITION_LINK;
2766 params.should_update_history = false; 2766 params.should_update_history = false;
2767 params.gesture = NavigationGestureUser; 2767 params.gesture = NavigationGestureUser;
2768 params.method = "GET"; 2768 params.method = "GET";
2769 params.page_state = PageState::CreateFromURL(url2); 2769 params.page_state = PageState::CreateFromURL(url2);
2770 params.was_within_same_page = true; 2770 params.was_within_same_document = true;
2771 2771
2772 // This should NOT generate a new entry, nor prune the list. 2772 // This should NOT generate a new entry, nor prune the list.
2773 LoadCommittedDetailsObserver observer(contents()); 2773 LoadCommittedDetailsObserver observer(contents());
2774 main_test_rfh()->SendNavigateWithParams(&params); 2774 main_test_rfh()->SendNavigateWithParams(&params);
2775 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2775 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2776 navigation_entry_committed_counter_ = 0; 2776 navigation_entry_committed_counter_ = 0;
2777 EXPECT_TRUE(observer.is_in_page()); 2777 EXPECT_TRUE(observer.is_in_page());
2778 EXPECT_TRUE(observer.did_replace_entry()); 2778 EXPECT_TRUE(observer.did_replace_entry());
2779 EXPECT_EQ(1, controller.GetEntryCount()); 2779 EXPECT_EQ(1, controller.GetEntryCount());
2780 } 2780 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2812 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2812 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2813 params.nav_entry_id = 0; 2813 params.nav_entry_id = 0;
2814 params.did_create_new_entry = false; 2814 params.did_create_new_entry = false;
2815 params.url = url; 2815 params.url = url;
2816 params.transition = ui::PAGE_TRANSITION_LINK; 2816 params.transition = ui::PAGE_TRANSITION_LINK;
2817 params.redirects.push_back(url); 2817 params.redirects.push_back(url);
2818 params.should_update_history = true; 2818 params.should_update_history = true;
2819 params.gesture = NavigationGestureUnknown; 2819 params.gesture = NavigationGestureUnknown;
2820 params.method = "GET"; 2820 params.method = "GET";
2821 params.page_state = PageState::CreateFromURL(url); 2821 params.page_state = PageState::CreateFromURL(url);
2822 params.was_within_same_page = true; 2822 params.was_within_same_document = true;
2823 2823
2824 // This should NOT generate a new entry, nor prune the list. 2824 // This should NOT generate a new entry, nor prune the list.
2825 LoadCommittedDetailsObserver observer(contents()); 2825 LoadCommittedDetailsObserver observer(contents());
2826 main_test_rfh()->SendNavigateWithParams(&params); 2826 main_test_rfh()->SendNavigateWithParams(&params);
2827 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2827 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2828 navigation_entry_committed_counter_ = 0; 2828 navigation_entry_committed_counter_ = 0;
2829 EXPECT_TRUE(observer.is_in_page()); 2829 EXPECT_TRUE(observer.is_in_page());
2830 EXPECT_TRUE(observer.did_replace_entry()); 2830 EXPECT_TRUE(observer.did_replace_entry());
2831 EXPECT_EQ(2, controller.GetEntryCount()); 2831 EXPECT_EQ(2, controller.GetEntryCount());
2832 } 2832 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
2872 2872
2873 TEST_F(NavigationControllerTest, PushStateWithoutPreviousEntry) 2873 TEST_F(NavigationControllerTest, PushStateWithoutPreviousEntry)
2874 { 2874 {
2875 ASSERT_FALSE(controller_impl().GetLastCommittedEntry()); 2875 ASSERT_FALSE(controller_impl().GetLastCommittedEntry());
2876 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2876 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2877 GURL url("http://foo"); 2877 GURL url("http://foo");
2878 params.nav_entry_id = 0; 2878 params.nav_entry_id = 0;
2879 params.did_create_new_entry = true; 2879 params.did_create_new_entry = true;
2880 params.url = url; 2880 params.url = url;
2881 params.page_state = PageState::CreateFromURL(url); 2881 params.page_state = PageState::CreateFromURL(url);
2882 params.was_within_same_page = true; 2882 params.was_within_same_document = true;
2883 main_test_rfh()->SendRendererInitiatedNavigationRequest(url, false); 2883 main_test_rfh()->SendRendererInitiatedNavigationRequest(url, false);
2884 main_test_rfh()->PrepareForCommit(); 2884 main_test_rfh()->PrepareForCommit();
2885 contents()->GetMainFrame()->SendNavigateWithParams(&params); 2885 contents()->GetMainFrame()->SendNavigateWithParams(&params);
2886 // We pass if we don't crash. 2886 // We pass if we don't crash.
2887 } 2887 }
2888 2888
2889 // NotificationObserver implementation used in verifying we've received the 2889 // NotificationObserver implementation used in verifying we've received the
2890 // NOTIFICATION_NAV_LIST_PRUNED method. 2890 // NOTIFICATION_NAV_LIST_PRUNED method.
2891 class PrunedListener : public NotificationObserver { 2891 class PrunedListener : public NotificationObserver {
2892 public: 2892 public:
(...skipping 972 matching lines...) Expand 10 before | Expand all | Expand 10 after
3865 3865
3866 // Doing a replaceState to a cross-origin URL is thus allowed. 3866 // Doing a replaceState to a cross-origin URL is thus allowed.
3867 FrameHostMsg_DidCommitProvisionalLoad_Params params; 3867 FrameHostMsg_DidCommitProvisionalLoad_Params params;
3868 params.nav_entry_id = 1; 3868 params.nav_entry_id = 1;
3869 params.did_create_new_entry = false; 3869 params.did_create_new_entry = false;
3870 params.url = different_origin_url; 3870 params.url = different_origin_url;
3871 params.origin = file_origin; 3871 params.origin = file_origin;
3872 params.transition = ui::PAGE_TRANSITION_LINK; 3872 params.transition = ui::PAGE_TRANSITION_LINK;
3873 params.gesture = NavigationGestureUser; 3873 params.gesture = NavigationGestureUser;
3874 params.page_state = PageState::CreateFromURL(different_origin_url); 3874 params.page_state = PageState::CreateFromURL(different_origin_url);
3875 params.was_within_same_page = true; 3875 params.was_within_same_document = true;
3876 params.method = "GET"; 3876 params.method = "GET";
3877 params.post_id = -1; 3877 params.post_id = -1;
3878 main_test_rfh()->SendRendererInitiatedNavigationRequest(different_origin_url, 3878 main_test_rfh()->SendRendererInitiatedNavigationRequest(different_origin_url,
3879 false); 3879 false);
3880 main_test_rfh()->PrepareForCommit(); 3880 main_test_rfh()->PrepareForCommit();
3881 contents()->GetMainFrame()->SendNavigateWithParams(&params); 3881 contents()->GetMainFrame()->SendNavigateWithParams(&params);
3882 3882
3883 // At this point, we should still consider the current origin to be file://, 3883 // At this point, we should still consider the current origin to be file://,
3884 // so that a file URL would still be in-page. See https://crbug.com/553418. 3884 // so that a file URL would still be in-page. See https://crbug.com/553418.
3885 EXPECT_TRUE( 3885 EXPECT_TRUE(
(...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after
4967 controller().GetLastCommittedEntry(), title); 4967 controller().GetLastCommittedEntry(), title);
4968 controller().GetLastCommittedEntry()->GetFavicon() = favicon; 4968 controller().GetLastCommittedEntry()->GetFavicon() = favicon;
4969 4969
4970 // history.pushState() is called. 4970 // history.pushState() is called.
4971 FrameHostMsg_DidCommitProvisionalLoad_Params params; 4971 FrameHostMsg_DidCommitProvisionalLoad_Params params;
4972 GURL kUrl2("http://foo#foo"); 4972 GURL kUrl2("http://foo#foo");
4973 params.nav_entry_id = 0; 4973 params.nav_entry_id = 0;
4974 params.did_create_new_entry = true; 4974 params.did_create_new_entry = true;
4975 params.url = kUrl2; 4975 params.url = kUrl2;
4976 params.page_state = PageState::CreateFromURL(kUrl2); 4976 params.page_state = PageState::CreateFromURL(kUrl2);
4977 params.was_within_same_page = true; 4977 params.was_within_same_document = true;
4978 main_test_rfh()->SendNavigateWithParams(&params); 4978 main_test_rfh()->SendNavigateWithParams(&params);
4979 4979
4980 // The title should immediately be visible on the new NavigationEntry. 4980 // The title should immediately be visible on the new NavigationEntry.
4981 base::string16 new_title = 4981 base::string16 new_title =
4982 controller().GetLastCommittedEntry()->GetTitleForDisplay(); 4982 controller().GetLastCommittedEntry()->GetTitleForDisplay();
4983 EXPECT_EQ(title, new_title); 4983 EXPECT_EQ(title, new_title);
4984 FaviconStatus new_favicon = 4984 FaviconStatus new_favicon =
4985 controller().GetLastCommittedEntry()->GetFavicon(); 4985 controller().GetLastCommittedEntry()->GetFavicon();
4986 EXPECT_EQ(favicon.valid, new_favicon.valid); 4986 EXPECT_EQ(favicon.valid, new_favicon.valid);
4987 EXPECT_EQ(favicon.url, new_favicon.url); 4987 EXPECT_EQ(favicon.url, new_favicon.url);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
5045 5045
5046 // Submit a form. 5046 // Submit a form.
5047 GURL url("http://foo"); 5047 GURL url("http://foo");
5048 FrameHostMsg_DidCommitProvisionalLoad_Params params; 5048 FrameHostMsg_DidCommitProvisionalLoad_Params params;
5049 params.nav_entry_id = 0; 5049 params.nav_entry_id = 0;
5050 params.did_create_new_entry = true; 5050 params.did_create_new_entry = true;
5051 params.url = url; 5051 params.url = url;
5052 params.transition = ui::PAGE_TRANSITION_FORM_SUBMIT; 5052 params.transition = ui::PAGE_TRANSITION_FORM_SUBMIT;
5053 params.gesture = NavigationGestureUser; 5053 params.gesture = NavigationGestureUser;
5054 params.page_state = PageState::CreateFromURL(url); 5054 params.page_state = PageState::CreateFromURL(url);
5055 params.was_within_same_page = false; 5055 params.was_within_same_document = false;
5056 params.method = "POST"; 5056 params.method = "POST";
5057 params.post_id = 2; 5057 params.post_id = 2;
5058 main_test_rfh()->SendRendererInitiatedNavigationRequest(url, false); 5058 main_test_rfh()->SendRendererInitiatedNavigationRequest(url, false);
5059 main_test_rfh()->PrepareForCommit(); 5059 main_test_rfh()->PrepareForCommit();
5060 contents()->GetMainFrame()->SendNavigateWithParams(&params); 5060 contents()->GetMainFrame()->SendNavigateWithParams(&params);
5061 5061
5062 // history.replaceState() is called. 5062 // history.replaceState() is called.
5063 GURL replace_url("http://foo#foo"); 5063 GURL replace_url("http://foo#foo");
5064 params.nav_entry_id = 0; 5064 params.nav_entry_id = 0;
5065 params.did_create_new_entry = false; 5065 params.did_create_new_entry = false;
5066 params.url = replace_url; 5066 params.url = replace_url;
5067 params.transition = ui::PAGE_TRANSITION_LINK; 5067 params.transition = ui::PAGE_TRANSITION_LINK;
5068 params.gesture = NavigationGestureUser; 5068 params.gesture = NavigationGestureUser;
5069 params.page_state = PageState::CreateFromURL(replace_url); 5069 params.page_state = PageState::CreateFromURL(replace_url);
5070 params.was_within_same_page = true; 5070 params.was_within_same_document = true;
5071 params.method = "GET"; 5071 params.method = "GET";
5072 params.post_id = -1; 5072 params.post_id = -1;
5073 contents()->GetMainFrame()->SendNavigateWithParams(&params); 5073 contents()->GetMainFrame()->SendNavigateWithParams(&params);
5074 5074
5075 // Now reload. replaceState overrides the POST, so we should not show a 5075 // Now reload. replaceState overrides the POST, so we should not show a
5076 // repost warning dialog. 5076 // repost warning dialog.
5077 controller_impl().Reload(ReloadType::NORMAL, true); 5077 controller_impl().Reload(ReloadType::NORMAL, true);
5078 EXPECT_EQ(0, delegate->repost_form_warning_count()); 5078 EXPECT_EQ(0, delegate->repost_form_warning_count());
5079 } 5079 }
5080 5080
5081 TEST_F(NavigationControllerTest, UnreachableURLGivesErrorPage) { 5081 TEST_F(NavigationControllerTest, UnreachableURLGivesErrorPage) {
5082 GURL url("http://foo"); 5082 GURL url("http://foo");
5083 controller().LoadURL(url, Referrer(), ui::PAGE_TRANSITION_TYPED, 5083 controller().LoadURL(url, Referrer(), ui::PAGE_TRANSITION_TYPED,
5084 std::string()); 5084 std::string());
5085 FrameHostMsg_DidCommitProvisionalLoad_Params params; 5085 FrameHostMsg_DidCommitProvisionalLoad_Params params;
5086 params.nav_entry_id = 0; 5086 params.nav_entry_id = 0;
5087 params.did_create_new_entry = true; 5087 params.did_create_new_entry = true;
5088 params.url = url; 5088 params.url = url;
5089 params.transition = ui::PAGE_TRANSITION_LINK; 5089 params.transition = ui::PAGE_TRANSITION_LINK;
5090 params.gesture = NavigationGestureUser; 5090 params.gesture = NavigationGestureUser;
5091 params.page_state = PageState::CreateFromURL(url); 5091 params.page_state = PageState::CreateFromURL(url);
5092 params.was_within_same_page = false; 5092 params.was_within_same_document = false;
5093 params.method = "POST"; 5093 params.method = "POST";
5094 params.post_id = 2; 5094 params.post_id = 2;
5095 params.url_is_unreachable = true; 5095 params.url_is_unreachable = true;
5096 5096
5097 // Navigate to new page. 5097 // Navigate to new page.
5098 { 5098 {
5099 LoadCommittedDetailsObserver observer(contents()); 5099 LoadCommittedDetailsObserver observer(contents());
5100 main_test_rfh()->SendRendererInitiatedNavigationRequest(url, false); 5100 main_test_rfh()->SendRendererInitiatedNavigationRequest(url, false);
5101 main_test_rfh()->PrepareForCommit(); 5101 main_test_rfh()->PrepareForCommit();
5102 main_test_rfh()->SendNavigateWithParams(&params); 5102 main_test_rfh()->SendNavigateWithParams(&params);
(...skipping 23 matching lines...) Expand all
5126 params.transition = ui::PAGE_TRANSITION_TYPED; 5126 params.transition = ui::PAGE_TRANSITION_TYPED;
5127 { 5127 {
5128 LoadCommittedDetailsObserver observer(contents()); 5128 LoadCommittedDetailsObserver observer(contents());
5129 main_test_rfh()->PrepareForCommit(); 5129 main_test_rfh()->PrepareForCommit();
5130 main_test_rfh()->SendNavigateWithParams(&params); 5130 main_test_rfh()->SendNavigateWithParams(&params);
5131 EXPECT_EQ(PAGE_TYPE_ERROR, 5131 EXPECT_EQ(PAGE_TYPE_ERROR,
5132 controller_impl().GetLastCommittedEntry()->GetPageType()); 5132 controller_impl().GetLastCommittedEntry()->GetPageType());
5133 EXPECT_EQ(NAVIGATION_TYPE_SAME_PAGE, observer.navigation_type()); 5133 EXPECT_EQ(NAVIGATION_TYPE_SAME_PAGE, observer.navigation_type());
5134 } 5134 }
5135 5135
5136 // Navigate in page. 5136 // Navigate without changing document.
5137 params.url = GURL("http://foo#foo"); 5137 params.url = GURL("http://foo#foo");
5138 params.transition = ui::PAGE_TRANSITION_LINK; 5138 params.transition = ui::PAGE_TRANSITION_LINK;
5139 params.was_within_same_page = true; 5139 params.was_within_same_document = true;
5140 { 5140 {
5141 LoadCommittedDetailsObserver observer(contents()); 5141 LoadCommittedDetailsObserver observer(contents());
5142 main_test_rfh()->SendNavigateWithParams(&params); 5142 main_test_rfh()->SendNavigateWithParams(&params);
5143 EXPECT_EQ(PAGE_TYPE_ERROR, 5143 EXPECT_EQ(PAGE_TYPE_ERROR,
5144 controller_impl().GetLastCommittedEntry()->GetPageType()); 5144 controller_impl().GetLastCommittedEntry()->GetPageType());
5145 EXPECT_TRUE(observer.is_in_page()); 5145 EXPECT_TRUE(observer.is_in_page());
5146 } 5146 }
5147 } 5147 }
5148 5148
5149 // Tests that if a stale navigation comes back from the renderer, it is properly 5149 // Tests that if a stale navigation comes back from the renderer, it is properly
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
5284 main_test_rfh()->SimulateNavigationStart(url_1); 5284 main_test_rfh()->SimulateNavigationStart(url_1);
5285 EXPECT_EQ(url_1, controller.GetVisibleEntry()->GetURL()); 5285 EXPECT_EQ(url_1, controller.GetVisibleEntry()->GetURL());
5286 EXPECT_EQ(ReloadType::NONE, last_reload_type_); 5286 EXPECT_EQ(ReloadType::NONE, last_reload_type_);
5287 5287
5288 main_test_rfh()->SimulateNavigationCommit(url_2); 5288 main_test_rfh()->SimulateNavigationCommit(url_2);
5289 main_test_rfh()->SimulateNavigationCommit(url_1); 5289 main_test_rfh()->SimulateNavigationCommit(url_1);
5290 main_test_rfh()->SimulateNavigationCommit(url_1); 5290 main_test_rfh()->SimulateNavigationCommit(url_1);
5291 } 5291 }
5292 5292
5293 } // namespace content 5293 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698