| Index: chrome/browser/ui/views/select_file_dialog.cc
|
| diff --git a/chrome/browser/ui/views/select_file_dialog.cc b/chrome/browser/ui/views/select_file_dialog.cc
|
| index 4ce6fa7f95dc9e28da95263ae377d945c69270be..1570a9eb402ddb2b4fde2da640b282dd6902afc7 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);
|
| }
|
| }
|
|
|
|
|