diff options
author | miket@chromium.org <miket@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-07 22:52:56 +0000 |
---|---|---|
committer | miket@chromium.org <miket@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-07 22:52:56 +0000 |
commit | d3817c1c2cf95f07a60e0f5020cc746e6a04b877 (patch) | |
tree | e00d1de0f4f11ba7b58494d7521851ad451043e6 /chrome/browser/extensions/extension_creator.cc | |
parent | cd8a2a07057919b91b3668e78f23d6d22201df76 (diff) | |
download | chromium_src-d3817c1c2cf95f07a60e0f5020cc746e6a04b877.zip chromium_src-d3817c1c2cf95f07a60e0f5020cc746e6a04b877.tar.gz chromium_src-d3817c1c2cf95f07a60e0f5020cc746e6a04b877.tar.bz2 |
Improve extension packaging by filtering more kinds of files.
When packaging extensions, ignore files with Windows hidden-file attribute, as well as the special OS X file __MACOSX. These are in addition to the existing dotfile exclusion rule.
BUG=27840
TEST=added chrome/browser/extensions/extension_creator_filter_unittest.cc
Review URL: http://codereview.chromium.org/7839010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100039 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_creator.cc')
-rw-r--r-- | chrome/browser/extensions/extension_creator.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_creator.cc b/chrome/browser/extensions/extension_creator.cc index 6cf0f4f..1b7af2aef 100644 --- a/chrome/browser/extensions/extension_creator.cc +++ b/chrome/browser/extensions/extension_creator.cc @@ -7,10 +7,13 @@ #include <string> #include <vector> +#include "base/bind.h" +#include "base/callback.h" #include "base/file_util.h" #include "base/memory/scoped_handle.h" #include "base/scoped_temp_dir.h" #include "base/string_util.h" +#include "chrome/browser/extensions/extension_creator_filter.h" #include "chrome/browser/extensions/sandboxed_extension_unpacker.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_file_util.h" @@ -153,7 +156,10 @@ bool ExtensionCreator::CreateZip(const FilePath& extension_dir, FilePath* zip_path) { *zip_path = temp_path.Append(FILE_PATH_LITERAL("extension.zip")); - if (!Zip(extension_dir, *zip_path, false)) { // no hidden files + scoped_refptr<ExtensionCreatorFilter> filter = new ExtensionCreatorFilter(); + const base::Callback<bool(const FilePath&)>& filter_cb = + base::Bind(&ExtensionCreatorFilter::ShouldPackageFile, filter.get()); + if (!Zip(extension_dir, *zip_path, filter_cb)) { error_message_ = l10n_util::GetStringUTF8(IDS_EXTENSION_FAILED_DURING_PACKAGING); return false; |