| Index: chrome/browser/chromeos/file_manager/file_browser_handlers.cc
|
| diff --git a/chrome/browser/chromeos/file_manager/file_browser_handlers.cc b/chrome/browser/chromeos/file_manager/file_browser_handlers.cc
|
| index e326fb017d3cab7b5e9753fd3794a663f2c83ace..7599c8baf7f72e3e400c6400dd26a00cfc12cccf 100644
|
| --- a/chrome/browser/chromeos/file_manager/file_browser_handlers.cc
|
| +++ b/chrome/browser/chromeos/file_manager/file_browser_handlers.cc
|
| @@ -8,6 +8,7 @@
|
| #include <set>
|
|
|
| #include "base/bind.h"
|
| +#include "base/command_line.h"
|
| #include "base/files/file_util.h"
|
| #include "base/i18n/case_conversion.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -22,6 +23,7 @@
|
| #include "chrome/browser/ui/browser_finder.h"
|
| #include "chrome/common/extensions/api/file_browser_handlers/file_browser_handler.h"
|
| #include "chrome/common/extensions/api/file_manager_private.h"
|
| +#include "chromeos/chromeos_switches.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/child_process_security_policy.h"
|
| #include "content/public/browser/render_process_host.h"
|
| @@ -34,6 +36,7 @@
|
| #include "extensions/browser/lazy_background_task_queue.h"
|
| #include "extensions/common/extension_set.h"
|
| #include "extensions/common/manifest_handlers/background_info.h"
|
| +#include "extensions/common/url_pattern.h"
|
| #include "net/base/escape.h"
|
| #include "storage/browser/fileapi/file_system_context.h"
|
| #include "storage/browser/fileapi/file_system_url.h"
|
| @@ -132,8 +135,18 @@ FileBrowserHandlerList FindFileBrowserHandlersForURL(
|
| const FileBrowserHandler* handler = handler_iter->get();
|
| if (!handler->MatchesURL(lowercase_url))
|
| continue;
|
| -
|
| - results.push_back(handler_iter->get());
|
| + // Filter out Files app from handling ZIP files via a handler, as it's
|
| + // now handled by new ZIP unpacker extension based on File System Provider
|
| + // API.
|
| + const URLPattern zip_pattern(URLPattern::SCHEME_EXTENSION,
|
| + "chrome-extension://*/*.zip");
|
| + if (handler->extension_id() == kFileManagerAppId &&
|
| + zip_pattern.MatchesURL(selected_file_url) &&
|
| + !CommandLine::ForCurrentProcess()->HasSwitch(
|
| + chromeos::switches::kDisableNewZIPUnpacker)) {
|
| + continue;
|
| + }
|
| + results.push_back(handler);
|
| }
|
| }
|
| return results;
|
|
|