Index: content/browser/frame_host/navigation_controller_impl_unittest.cc |
diff --git a/content/browser/frame_host/navigation_controller_impl_unittest.cc b/content/browser/frame_host/navigation_controller_impl_unittest.cc |
index 6afa917a14b3f08a3a644b0937f813b1e28a6944..464acb16ffef554c6729c23102411d0afe65406b 100644 |
--- a/content/browser/frame_host/navigation_controller_impl_unittest.cc |
+++ b/content/browser/frame_host/navigation_controller_impl_unittest.cc |
@@ -4175,6 +4175,30 @@ TEST_F(NavigationControllerTest, MAYBE_PurgeScreenshot) { |
} |
} |
+TEST_F(NavigationControllerTest, PushStateUpdatesTitle) { |
+ |
+ // Navigate |
+ test_rvh()->SendNavigate(1, GURL("http://foo")); |
+ |
+ // Set title |
+ base::string16 title(base::ASCIIToUTF16("Title")); |
+ controller().GetLastCommittedEntry()->SetTitle(title); |
+ |
+ // history.pushState() is called. |
+ FrameHostMsg_DidCommitProvisionalLoad_Params params; |
+ GURL url("http://foo#foo"); |
+ params.page_id = 2; |
+ params.url = url; |
+ params.page_state = PageState::CreateFromURL(url); |
+ params.was_within_same_page = true; |
+ test_rvh()->SendNavigateWithParams(¶ms); |
+ |
+ // The title should immediately be visible on the new NavigationEntry. |
+ base::string16 new_title = |
+ controller().GetLastCommittedEntry()->GetTitleForDisplay(std::string()); |
+ EXPECT_EQ(title, new_title); |
+} |
+ |
// Test that the navigation controller clears its session history when a |
// navigation commits with the clear history list flag set. |
TEST_F(NavigationControllerTest, ClearHistoryList) { |