diff options
Diffstat (limited to 'content/browser/frame_host/navigation_controller_impl.cc')
-rw-r--r-- | content/browser/frame_host/navigation_controller_impl.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc index 5469151..463d186b 100644 --- a/content/browser/frame_host/navigation_controller_impl.cc +++ b/content/browser/frame_host/navigation_controller_impl.cc @@ -1057,6 +1057,12 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage( new_entry->SetOriginalRequestURL(params.original_request_url); new_entry->SetIsOverridingUserAgent(params.is_overriding_user_agent); + // history.pushState() is classified as a navigation to a new page, but + // sets was_within_same_page to true. In this case, we already have the + // title available, so set it immediately. + if (params.was_within_same_page) + new_entry->SetTitle(GetLastCommittedEntry()->GetTitle()); + DCHECK(!params.history_list_was_cleared || !replace_entry); // The browser requested to clear the session history when it initiated the // navigation. Now we know that the renderer has updated its state accordingly |