diff options
Diffstat (limited to 'chrome/browser/tab_contents/navigation_controller.cc')
-rw-r--r-- | chrome/browser/tab_contents/navigation_controller.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/chrome/browser/tab_contents/navigation_controller.cc b/chrome/browser/tab_contents/navigation_controller.cc index 6efd343..5b0e157 100644 --- a/chrome/browser/tab_contents/navigation_controller.cc +++ b/chrome/browser/tab_contents/navigation_controller.cc @@ -255,10 +255,15 @@ NavigationEntry* NavigationController::CreateNavigationEntry( entry->set_user_typed_url(url); entry->set_update_virtual_url_with_url(reverse_on_redirect); if (url.SchemeIsFile()) { + // Use the filename as the title, not the full path. + // We need to call FormatUrl() to perform URL de-escaping; + // it's a bit ugly to grab the filename out of the resulting string. std::wstring languages = UTF8ToWide(profile->GetPrefs()->GetString( prefs::kAcceptLanguages)); - entry->set_title(WideToUTF16Hack( - file_util::GetFilenameFromPath(net::FormatUrl(url, languages)))); + std::wstring formatted = net::FormatUrl(url, languages); + std::wstring filename = + FilePath::FromWStringHack(formatted).BaseName().ToWStringHack(); + entry->set_title(WideToUTF16Hack(filename)); } return entry; } |