| Index: chrome/common/extensions/extension_unpacker.cc
|
| diff --git a/chrome/common/extensions/extension_unpacker.cc b/chrome/common/extensions/extension_unpacker.cc
|
| index 8c634e2101f2177ead0ce1f57198dd5195c3efef..599aa1188aafa29491f39061eb1ac75363701a18 100644
|
| --- a/chrome/common/extensions/extension_unpacker.cc
|
| +++ b/chrome/common/extensions/extension_unpacker.cc
|
| @@ -140,15 +140,23 @@ bool ExtensionUnpacker::Run() {
|
| // <profile>/Extensions/INSTALL_TEMP/<version>
|
| temp_install_dir_ =
|
| extension_path_.DirName().AppendASCII(filenames::kTempExtensionName);
|
| - if (!file_util::CreateDirectory(temp_install_dir_)) {
|
| +
|
| #if defined(OS_WIN)
|
| - std::string dir_string = WideToUTF8(temp_install_dir_.value());
|
| + std::ostringstream log_stream;
|
| + std::string dir_string = WideToUTF8(temp_install_dir_.value());
|
| + log_stream << kCouldNotCreateDirectoryError << dir_string << std::endl;
|
| + if (!file_util::CreateDirectoryExtraLogging(temp_install_dir_, log_stream)) {
|
| + log_stream.flush();
|
| + SetError(log_stream.str());
|
| + return false;
|
| + }
|
| #else
|
| + if (!file_util::CreateDirectory(temp_install_dir_)) {
|
| std::string dir_string = temp_install_dir_.value();
|
| -#endif
|
| SetError(kCouldNotCreateDirectoryError + dir_string);
|
| return false;
|
| }
|
| +#endif
|
|
|
| if (!Unzip(extension_path_, temp_install_dir_)) {
|
| SetError(kCouldNotUnzipExtension);
|
|
|