| Index: content/public/browser/content_browser_client.h
|
| diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
| index af10346b14b42ac5bdff3fd5032e4bbf772b6171..5f8ffa3eeefd5428c7d8c9e5bb6aa2cae0a539f3 100644
|
| --- a/content/public/browser/content_browser_client.h
|
| +++ b/content/public/browser/content_browser_client.h
|
| @@ -5,11 +5,13 @@
|
| #ifndef CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_
|
| #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_
|
|
|
| +#include <map>
|
| #include <string>
|
| #include <utility>
|
| #include <vector>
|
|
|
| #include "base/callback_forward.h"
|
| +#include "base/memory/linked_ptr.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "content/public/browser/file_descriptor_info.h"
|
| #include "content/public/common/socket_permission_request.h"
|
| @@ -82,6 +84,12 @@ class WebContentsViewPort;
|
| struct MainFunctionParams;
|
| struct ShowDesktopNotificationHostMsgParams;
|
|
|
| +// A mapping from the scheme name to the protocol handler that services its
|
| +// content.
|
| +typedef std::map<
|
| + std::string, linked_ptr<net::URLRequestJobFactory::ProtocolHandler> >
|
| + ProtocolHandlerMap;
|
| +
|
| // Embedder API (or SPI) for participating in browser logic, to be implemented
|
| // by the client of the content browser. See ChromeContentBrowserClient for the
|
| // principal implementation. The methods are assumed to be called on the UI
|
| @@ -139,21 +147,18 @@ class CONTENT_EXPORT ContentBrowserClient {
|
| virtual bool ShouldUseProcessPerSite(BrowserContext* browser_context,
|
| const GURL& effective_url);
|
|
|
| + // Returns a list additional WebUI schemes, if any. These additional schemes
|
| + // act as aliases to the chrome: scheme. The additional schemes may or may
|
| + // not serve specific WebUI pages depending on the particular URLDataSource
|
| + // and its override of URLDataSource::ShouldServiceRequest.
|
| + virtual std::vector<std::string> GetAdditionalWebUISchemes();
|
| +
|
| // Creates the main net::URLRequestContextGetter. Should only be called once
|
| // per ContentBrowserClient object.
|
| // TODO(ajwong): Remove once http://crbug.com/159193 is resolved.
|
| virtual net::URLRequestContextGetter* CreateRequestContext(
|
| BrowserContext* browser_context,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - blob_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - file_system_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - developer_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - chrome_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - chrome_devtools_protocol_handler);
|
| + ProtocolHandlerMap* protocol_handlers);
|
|
|
| // Creates the net::URLRequestContextGetter for a StoragePartition. Should
|
| // only be called once per partition_path per ContentBrowserClient object.
|
| @@ -162,16 +167,7 @@ class CONTENT_EXPORT ContentBrowserClient {
|
| BrowserContext* browser_context,
|
| const base::FilePath& partition_path,
|
| bool in_memory,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - blob_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - file_system_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - developer_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - chrome_protocol_handler,
|
| - scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
|
| - chrome_devtools_protocol_handler);
|
| + ProtocolHandlerMap* protocol_handlers);
|
|
|
| // Returns whether a specified URL is handled by the embedder's internal
|
| // protocol handlers.
|
|
|