Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: content/shell/shell_browser_context.h

Issue 11308362: Add StoragePartition's ProtocolHandlers at URLRequestContext construction time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync (r175140) Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_ 5 #ifndef CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_
6 #define CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_ 6 #define CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "content/public/browser/browser_context.h" 12 #include "content/public/browser/browser_context.h"
13 #include "net/url_request/url_request_job_factory.h"
13 14
14 namespace content { 15 namespace content {
15 16
16 class DownloadManagerDelegate; 17 class DownloadManagerDelegate;
17 class ResourceContext; 18 class ResourceContext;
18 class ShellDownloadManagerDelegate; 19 class ShellDownloadManagerDelegate;
20 class ShellURLRequestContextGetter;
19 21
20 class ShellBrowserContext : public BrowserContext { 22 class ShellBrowserContext : public BrowserContext {
21 public: 23 public:
22 explicit ShellBrowserContext(bool off_the_record); 24 explicit ShellBrowserContext(bool off_the_record);
23 virtual ~ShellBrowserContext(); 25 virtual ~ShellBrowserContext();
24 26
25 // BrowserContext implementation. 27 // BrowserContext implementation.
26 virtual FilePath GetPath() OVERRIDE; 28 virtual FilePath GetPath() OVERRIDE;
27 virtual bool IsOffTheRecord() const OVERRIDE; 29 virtual bool IsOffTheRecord() const OVERRIDE;
28 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() OVERRIDE; 30 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() OVERRIDE;
29 virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE; 31 virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
30 virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess( 32 virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
31 int renderer_child_id) OVERRIDE; 33 int renderer_child_id) OVERRIDE;
32 virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE; 34 virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE;
33 virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess( 35 virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(
34 int renderer_child_id) OVERRIDE; 36 int renderer_child_id) OVERRIDE;
35 virtual net::URLRequestContextGetter* 37 virtual net::URLRequestContextGetter*
36 GetMediaRequestContextForStoragePartition( 38 GetMediaRequestContextForStoragePartition(
37 const FilePath& partition_path, 39 const FilePath& partition_path,
38 bool in_memory) OVERRIDE; 40 bool in_memory) OVERRIDE;
39 virtual net::URLRequestContextGetter* GetRequestContextForStoragePartition(
40 const FilePath& partition_path,
41 bool in_memory) OVERRIDE;
42 virtual ResourceContext* GetResourceContext() OVERRIDE; 41 virtual ResourceContext* GetResourceContext() OVERRIDE;
43 virtual GeolocationPermissionContext* 42 virtual GeolocationPermissionContext*
44 GetGeolocationPermissionContext() OVERRIDE; 43 GetGeolocationPermissionContext() OVERRIDE;
45 virtual SpeechRecognitionPreferences* 44 virtual SpeechRecognitionPreferences*
46 GetSpeechRecognitionPreferences() OVERRIDE; 45 GetSpeechRecognitionPreferences() OVERRIDE;
47 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE; 46 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
48 47
48 net::URLRequestContextGetter* CreateRequestContext(
49 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
50 blob_protocol_handler,
51 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
52 file_system_protocol_handler,
53 scoped_ptr<net::URLRequestJobFactory::Interceptor>
54 developer_protocol_handler);
55 net::URLRequestContextGetter* CreateRequestContextForStoragePartition(
56 const FilePath& partition_path,
57 bool in_memory,
58 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
59 blob_protocol_handler,
60 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
61 file_system_protocol_handler,
62 scoped_ptr<net::URLRequestJobFactory::Interceptor>
63 developer_protocol_handler);
64
49 private: 65 private:
66 class ShellResourceContext;
67
50 // Performs initialization of the ShellBrowserContext while IO is still 68 // Performs initialization of the ShellBrowserContext while IO is still
51 // allowed on the current thread. 69 // allowed on the current thread.
52 void InitWhileIOAllowed(); 70 void InitWhileIOAllowed();
53 71
54 bool off_the_record_; 72 bool off_the_record_;
55 bool ignore_certificate_errors_; 73 bool ignore_certificate_errors_;
56 FilePath path_; 74 FilePath path_;
57 scoped_ptr<ResourceContext> resource_context_; 75 scoped_ptr<ShellResourceContext> resource_context_;
58 scoped_refptr<ShellDownloadManagerDelegate> download_manager_delegate_; 76 scoped_refptr<ShellDownloadManagerDelegate> download_manager_delegate_;
59 scoped_refptr<net::URLRequestContextGetter> url_request_getter_; 77 scoped_refptr<ShellURLRequestContextGetter> url_request_getter_;
60 78
61 DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext); 79 DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext);
62 }; 80 };
63 81
64 } // namespace content 82 } // namespace content
65 83
66 #endif // CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_ 84 #endif // CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698