diff options
author | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-30 05:57:37 +0000 |
---|---|---|
committer | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-30 05:57:37 +0000 |
commit | cadb40bdf4335ee89371b09a754cbf1197c68f73 (patch) | |
tree | 231b6cbf99d5d38d22fc4fe0ead53f484ef1cf7a /base/scoped_temp_dir.cc | |
parent | 6a1d0f520bbbad446501a1cfd94e7451671f2633 (diff) | |
download | chromium_src-cadb40bdf4335ee89371b09a754cbf1197c68f73.zip chromium_src-cadb40bdf4335ee89371b09a754cbf1197c68f73.tar.gz chromium_src-cadb40bdf4335ee89371b09a754cbf1197c68f73.tar.bz2 |
Loosen permission on extension temp dir when a flag is used.
Issue 35198 can not be reproduced locally. To enable users to do experiments, three command line flags are added to chrome:
--issue35198-crxdir-browser: Have the browser process create the directory in which the extension will be unzipped.
--issue35198-logging: Enable log messages from directory creation in the utility process to be moved to the browser process.
--issue35198-permission: Use the most permissive file permissions possible on the extension unpack directory.
BUG=35198
TEST=manual
Review URL: http://codereview.chromium.org/2802018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51231 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/scoped_temp_dir.cc')
-rw-r--r-- | base/scoped_temp_dir.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/base/scoped_temp_dir.cc b/base/scoped_temp_dir.cc index c8ed9c6..c3fb00a 100644 --- a/base/scoped_temp_dir.cc +++ b/base/scoped_temp_dir.cc @@ -4,6 +4,7 @@ #include "base/scoped_temp_dir.h" +#include "base/command_line.h" #include "base/file_util.h" #include "base/logging.h" #include "base/string_util.h" @@ -26,16 +27,20 @@ bool ScopedTempDir::CreateUniqueTempDir() { return true; } -bool ScopedTempDir::CreateUniqueTempDirUnderPath(const FilePath& base_path) { +bool ScopedTempDir::CreateUniqueTempDirUnderPath(const FilePath& base_path, + bool loose_permissions) { // If |path| does not exist, create it. - if (!file_util::CreateDirectory(base_path)) + if (!file_util::CreateDirectory(base_path)) { + LOG(ERROR) << "Failed to create base directory " << base_path.value(); return false; + } - // Create a new, uniquly named directory under |base_path|. + // Create a new, uniquely named directory under |base_path|. if (!file_util::CreateTemporaryDirInDir( base_path, FILE_PATH_LITERAL("scoped_dir_"), - &path_)) { + &path_, + loose_permissions)) { return false; } return true; |