diff options
Diffstat (limited to 'chrome/browser')
| -rw-r--r-- | chrome/browser/ui/views/select_file_dialog.cc | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/chrome/browser/ui/views/select_file_dialog.cc b/chrome/browser/ui/views/select_file_dialog.cc index 4ce6fa7..1570a9e 100644 --- a/chrome/browser/ui/views/select_file_dialog.cc +++ b/chrome/browser/ui/views/select_file_dialog.cc @@ -10,6 +10,7 @@ #include "base/json/json_reader.h" #include "base/scoped_ptr.h" #include "base/string_util.h" +#include "base/sys_string_conversions.h" #include "base/utf_string_conversions.h" #include "base/values.h" #include "chrome/browser/browser_list.h" @@ -263,8 +264,12 @@ void SelectFileDialogImpl::OnDialogClosed(FileBrowseDelegate* delegate, std::string path_string; if (dict->HasKey(kKeyNamePath) && dict->GetString(kKeyNamePath, &path_string)) { - FilePath path = FilePath::FromWStringHack(UTF8ToWide(path_string)); - +#if defined(OS_WIN) + FilePath path(base::SysUTF8ToWide(path_string)); +#else + FilePath path( + base::SysWideToNativeMB(base::SysUTF8ToWide(path_string))); +#endif listener_->FileSelected(path, kSaveCompletePageIndex, delegate->params_); notification_fired = true; @@ -280,8 +285,13 @@ void SelectFileDialogImpl::OnDialogClosed(FileBrowseDelegate* delegate, std::string path_string; if (paths_value->GetString(i, &path_string) && !path_string.empty()) { - paths.push_back(FilePath::FromWStringHack( - UTF8ToWide(path_string))); +#if defined(OS_WIN) + FilePath path(base::SysUTF8ToWide(path_string)); +#else + FilePath path( + base::SysWideToNativeMB(base::SysUTF8ToWide(path_string))); +#endif + paths.push_back(path); } } |
