Index: extensions/utility/utility_handler.cc |
diff --git a/extensions/utility/utility_handler.cc b/extensions/utility/utility_handler.cc |
index 4f4ce471204c81081cf4179185bc2e557c82112f..7d6af35336910cc671080c541ff768d494c139a0 100644 |
--- a/extensions/utility/utility_handler.cc |
+++ b/extensions/utility/utility_handler.cc |
@@ -81,7 +81,11 @@ void UtilityHandler::OnParseUpdateManifest(const std::string& xml) { |
void UtilityHandler::OnUnzipToDir(const base::FilePath& zip_path, |
const base::FilePath& dir) { |
- if (!zip::Unzip(zip_path, dir)) { |
+ const base::Callback<bool(const base::FilePath&)>& filter_cb = |
+ base::Bind(&Unpacker::ShouldExtractFile); |
+ // TODO(crbug.com/645263): This silently ignores blocked file types. |
+ // Add install warnings. |
+ if (!zip::UnzipWithFilterCallback(zip_path, dir, filter_cb)) { |
Send(new ExtensionUtilityHostMsg_UnzipToDir_Failed( |
std::string(kExtensionHandlerUnzipError))); |
} else { |