Index: chrome/browser/chromeos/file_manager/file_tasks.cc |
diff --git a/chrome/browser/chromeos/file_manager/file_tasks.cc b/chrome/browser/chromeos/file_manager/file_tasks.cc |
index 238a29eee0f59909d9e97c557d354d8497e98ef5..518737220049b83271ac7a355b99a3fdb226bb84 100644 |
--- a/chrome/browser/chromeos/file_manager/file_tasks.cc |
+++ b/chrome/browser/chromeos/file_manager/file_tasks.cc |
@@ -26,6 +26,7 @@ |
#include "chrome/common/extensions/api/file_manager_private.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "chrome/common/pref_names.h" |
+#include "chromeos/chromeos_switches.h" |
#include "extensions/browser/extension_host.h" |
#include "extensions/browser/extension_registry.h" |
#include "extensions/browser/extension_system.h" |
@@ -391,6 +392,14 @@ void FindFileHandlerTasks( |
if (file_handlers.empty()) |
continue; |
+ // If the new ZIP unpacker is disabled, then hide its handlers, so we don't |
+ // show both the legacy one and the new one in Files app for ZIP files. |
+ if (extension->id() == extension_misc::kZIPUnpackerExtensionId && |
+ CommandLine::ForCurrentProcess()->HasSwitch( |
+ chromeos::switches::kDisableNewZIPUnpacker)) { |
+ continue; |
+ } |
+ |
// Only show the first matching handler from each app. |
const extensions::FileHandlerInfo* file_handler = file_handlers.front(); |
std::string task_id = file_tasks::MakeTaskID( |