From f5f13f5cd6638bd73769942e6c6c873d89d6357b Mon Sep 17 00:00:00 2001 From: "kuchhal@chromium.org" Date: Tue, 13 Oct 2009 18:21:11 +0000 Subject: Shorten the generated file name to be less than MAX_PATH (on Windows). BUG=24591 Review URL: http://codereview.chromium.org/267063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28845 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/views/tab_contents/tab_contents_view_win.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'chrome/browser') diff --git a/chrome/browser/views/tab_contents/tab_contents_view_win.cc b/chrome/browser/views/tab_contents/tab_contents_view_win.cc index ba61d9b..227425f 100644 --- a/chrome/browser/views/tab_contents/tab_contents_view_win.cc +++ b/chrome/browser/views/tab_contents/tab_contents_view_win.cc @@ -138,8 +138,10 @@ void TabContentsViewWin::StartDragging(const WebDropData& drop_data, file_name = file_name.BaseName().RemoveExtension(); if (file_name.value().empty()) { // Retrieve the name from the URL. - file_name = FilePath::FromWStringHack( - net::GetSuggestedFilename(drop_data.url, "", "", L"")); + std::wstring fn = net::GetSuggestedFilename(drop_data.url, "", "", L""); + if ((fn.size() + drop_data.file_extension.size() + 1) > MAX_PATH) + fn = fn.substr(0, MAX_PATH - drop_data.file_extension.size() - 2); + file_name = FilePath::FromWStringHack(fn); } file_name = file_name.ReplaceExtension(drop_data.file_extension); data.SetFileContents(file_name.value(), drop_data.file_contents); -- cgit v1.1