summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents/navigation_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/tab_contents/navigation_controller.cc')
-rw-r--r--chrome/browser/tab_contents/navigation_controller.cc9
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;
}