summaryrefslogtreecommitdiffstats
path: root/base/scoped_temp_dir.cc
diff options
context:
space:
mode:
authorskerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-01 20:24:09 +0000
committerskerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-01 20:24:09 +0000
commit4cd2d520d95db38a157fd2f86161ea457eab7af2 (patch)
tree5e9f69b9eb22b9e4db9853080a3b5c6500b5922a /base/scoped_temp_dir.cc
parent8bc2f4747ecc9ac8522e109440dba9a0e1fabff3 (diff)
downloadchromium_src-4cd2d520d95db38a157fd2f86161ea457eab7af2.zip
chromium_src-4cd2d520d95db38a157fd2f86161ea457eab7af2.tar.gz
chromium_src-4cd2d520d95db38a157fd2f86161ea457eab7af2.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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=51231 Review URL: http://codereview.chromium.org/2802018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/scoped_temp_dir.cc')
-rw-r--r--base/scoped_temp_dir.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/base/scoped_temp_dir.cc b/base/scoped_temp_dir.cc
index c8ed9c6..28f59bf 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,15 +27,19 @@ 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_"),
+ loose_permissions,
&path_)) {
return false;
}