| Index: chrome/browser/extensions/api/streams_private/streams_resource_throttle.cc
|
| diff --git a/chrome/browser/chromeos/extensions/file_browser_resource_throttle.cc b/chrome/browser/extensions/api/streams_private/streams_resource_throttle.cc
|
| similarity index 73%
|
| rename from chrome/browser/chromeos/extensions/file_browser_resource_throttle.cc
|
| rename to chrome/browser/extensions/api/streams_private/streams_resource_throttle.cc
|
| index f7aecc779e892de5256bfbcdf07724856f635fa6..800af8a337ef1f6bcaf4c35a56e63afcf65da153 100644
|
| --- a/chrome/browser/chromeos/extensions/file_browser_resource_throttle.cc
|
| +++ b/chrome/browser/extensions/api/streams_private/streams_resource_throttle.cc
|
| @@ -2,13 +2,12 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chrome/browser/chromeos/extensions/file_browser_resource_throttle.h"
|
| +#include "chrome/browser/extensions/api/streams_private/streams_resource_throttle.h"
|
|
|
| #include <string>
|
|
|
| #include "base/bind.h"
|
| #include "base/values.h"
|
| -#include "chrome/browser/chromeos/extensions/file_browser_handler.h"
|
| #include "chrome/browser/extensions/event_router.h"
|
| #include "chrome/browser/extensions/extension_info_map.h"
|
| #include "chrome/browser/extensions/extension_system.h"
|
| @@ -16,6 +15,7 @@
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/common/extensions/extension_set.h"
|
| +#include "chrome/common/extensions/mime_types_handler.h"
|
| #include "content/public/browser/browser_context.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/render_view_host.h"
|
| @@ -29,28 +29,19 @@ using extensions::ExtensionSystem;
|
|
|
| namespace {
|
|
|
| -const char* const kOnExecuteContentHandlerEvent =
|
| - "fileBrowserHandler.onExecuteContentHandler";
|
| +const char* const kOnExecuteMimeTypeHandlerEvent =
|
| + "streamsPrivate.onExecuteMimeTypeHandler";
|
|
|
| -// Goes through the extension's file browser handlers and checks it there is one
|
| +// Goes through the extension's mime type handlers and checks it there is one
|
| // that can handle the |mime_type|.
|
| // |extension| must not be NULL.
|
| bool CanHandleMimeType(const Extension* extension,
|
| const std::string& mime_type) {
|
| - FileBrowserHandler::List* handlers =
|
| - FileBrowserHandler::GetHandlers(extension);
|
| - if (!handlers)
|
| + MimeTypesHandler* handler = MimeTypesHandler::GetHandler(extension);
|
| + if (!handler)
|
| return false;
|
|
|
| - for (FileBrowserHandler::List::const_iterator handler = handlers->begin();
|
| - handler != handlers->end();
|
| - ++handler) {
|
| - if ((*handler)->CanHandleMIMEType(mime_type)) {
|
| - return true;
|
| - }
|
| - }
|
| -
|
| - return false;
|
| + return handler->CanHandleMIMEType(mime_type);
|
| }
|
|
|
| // Retrieves Profile for a render view host specified by |render_process_id| and
|
| @@ -89,19 +80,19 @@ void DispatchEventOnUIThread(const std::string& mime_type,
|
| event_args->Append(new base::StringValue(mime_type));
|
| event_args->Append(new base::StringValue(request_url.spec()));
|
|
|
| - scoped_ptr<Event> event(new Event(kOnExecuteContentHandlerEvent,
|
| + scoped_ptr<Event> event(new Event(kOnExecuteMimeTypeHandlerEvent,
|
| event_args.Pass()));
|
|
|
| ExtensionSystem::Get(profile)->event_router()->DispatchEventToExtension(
|
| extension_id, event.Pass());
|
| }
|
|
|
| -// Default implementation of FileBrowserHandlerEventRouter.
|
| -class FileBrowserHandlerEventRouterImpl
|
| - : public FileBrowserResourceThrottle::FileBrowserHandlerEventRouter {
|
| +// Default implementation of StreamsPrivateEventRouter.
|
| +class StreamsPrivateEventRouterImpl
|
| + : public StreamsResourceThrottle::StreamsPrivateEventRouter {
|
| public:
|
| - FileBrowserHandlerEventRouterImpl() {}
|
| - virtual ~FileBrowserHandlerEventRouterImpl() {}
|
| + StreamsPrivateEventRouterImpl() {}
|
| + virtual ~StreamsPrivateEventRouterImpl() {}
|
|
|
| virtual void DispatchMimeTypeHandlerEvent(
|
| int render_process_id,
|
| @@ -120,7 +111,7 @@ class FileBrowserHandlerEventRouterImpl
|
| } // namespace
|
|
|
| // static
|
| -FileBrowserResourceThrottle* FileBrowserResourceThrottle::Create(
|
| +StreamsResourceThrottle* StreamsResourceThrottle::Create(
|
| int render_process_id,
|
| int render_view_id,
|
| net::URLRequest* request,
|
| @@ -128,39 +119,39 @@ FileBrowserResourceThrottle* FileBrowserResourceThrottle::Create(
|
| const ExtensionInfoMap* extension_info_map) {
|
| std::string mime_type;
|
| request->GetMimeType(&mime_type);
|
| - scoped_ptr<FileBrowserHandlerEventRouter> event_router(
|
| - new FileBrowserHandlerEventRouterImpl());
|
| - return new FileBrowserResourceThrottle(render_process_id, render_view_id,
|
| + scoped_ptr<StreamsPrivateEventRouter> event_router(
|
| + new StreamsPrivateEventRouterImpl());
|
| + return new StreamsResourceThrottle(render_process_id, render_view_id,
|
| mime_type, request->url(), profile_is_incognito, extension_info_map,
|
| event_router.Pass());
|
| }
|
|
|
| // static
|
| -FileBrowserResourceThrottle* FileBrowserResourceThrottle::CreateForTest(
|
| +StreamsResourceThrottle* StreamsResourceThrottle::CreateForTest(
|
| int render_process_id,
|
| int render_view_id,
|
| const std::string& mime_type,
|
| const GURL& request_url,
|
| bool profile_is_incognito,
|
| const ExtensionInfoMap* extension_info_map,
|
| - scoped_ptr<FileBrowserHandlerEventRouter> event_router_in) {
|
| - scoped_ptr<FileBrowserHandlerEventRouter> event_router =
|
| + scoped_ptr<StreamsPrivateEventRouter> event_router_in) {
|
| + scoped_ptr<StreamsPrivateEventRouter> event_router =
|
| event_router_in.Pass();
|
| if (!event_router)
|
| - event_router.reset(new FileBrowserHandlerEventRouterImpl());
|
| - return new FileBrowserResourceThrottle(render_process_id, render_view_id,
|
| + event_router.reset(new StreamsPrivateEventRouterImpl());
|
| + return new StreamsResourceThrottle(render_process_id, render_view_id,
|
| mime_type, request_url, profile_is_incognito, extension_info_map,
|
| event_router.Pass());
|
| }
|
|
|
| -FileBrowserResourceThrottle::FileBrowserResourceThrottle(
|
| +StreamsResourceThrottle::StreamsResourceThrottle(
|
| int render_process_id,
|
| int render_view_id,
|
| const std::string& mime_type,
|
| const GURL& request_url,
|
| bool profile_is_incognito,
|
| const ExtensionInfoMap* extension_info_map,
|
| - scoped_ptr<FileBrowserHandlerEventRouter> event_router)
|
| + scoped_ptr<StreamsPrivateEventRouter> event_router)
|
| : render_process_id_(render_process_id),
|
| render_view_id_(render_view_id),
|
| mime_type_(mime_type),
|
| @@ -170,11 +161,10 @@ FileBrowserResourceThrottle::FileBrowserResourceThrottle(
|
| event_router_(event_router.Pass()) {
|
| }
|
|
|
| -FileBrowserResourceThrottle::~FileBrowserResourceThrottle() {}
|
| +StreamsResourceThrottle::~StreamsResourceThrottle() {}
|
|
|
| -void FileBrowserResourceThrottle::WillProcessResponse(bool* defer) {
|
| - std::vector<std::string> whitelist =
|
| - FileBrowserHandler::GetMIMETypeWhitelist();
|
| +void StreamsResourceThrottle::WillProcessResponse(bool* defer) {
|
| + std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist();
|
| // Go through the white-listed extensions and try to use them to intercept
|
| // the URL request.
|
| for (size_t i = 0; i < whitelist.size(); ++i) {
|
| @@ -183,7 +173,7 @@ void FileBrowserResourceThrottle::WillProcessResponse(bool* defer) {
|
| }
|
| }
|
|
|
| -bool FileBrowserResourceThrottle::MaybeInterceptWithExtension(
|
| +bool StreamsResourceThrottle::MaybeInterceptWithExtension(
|
| const std::string& extension_id) {
|
| const Extension* extension =
|
| extension_info_map_->extensions().GetByID(extension_id);
|
|
|