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

Unified Diff: content/shell/browser/shell_browser_context.h

Issue 631203003: Fix bug: AppShell: CHECK failure in PeerConnection init. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase again. Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/shell/browser/shell_browser_context.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/browser/shell_browser_context.h
diff --git a/content/shell/browser/shell_browser_context.h b/content/shell/browser/shell_browser_context.h
index f015344063cae5c5b2c9d062c6078db6f905b4e6..81e8b9457471622699253a7cf8fb49b58f438aa0 100644
--- a/content/shell/browser/shell_browser_context.h
+++ b/content/shell/browser/shell_browser_context.h
@@ -11,6 +11,8 @@
#include "base/memory/scoped_ptr.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/content_browser_client.h"
+#include "content/public/browser/resource_context.h"
+#include "content/shell/browser/shell_url_request_context_getter.h"
#include "net/url_request/url_request_job_factory.h"
namespace net {
@@ -20,9 +22,7 @@ class NetLog;
namespace content {
class DownloadManagerDelegate;
-class ResourceContext;
class ShellDownloadManagerDelegate;
-class ShellURLRequestContextGetter;
class ShellBrowserContext : public BrowserContext {
public:
@@ -63,8 +63,40 @@ class ShellBrowserContext : public BrowserContext {
ProtocolHandlerMap* protocol_handlers,
URLRequestInterceptorScopedVector request_interceptors);
+ protected:
+ // Contains URLRequestContextGetter required for resource loading.
+ class ShellResourceContext : public ResourceContext {
+ public:
+ ShellResourceContext();
+ virtual ~ShellResourceContext();
+
+ // ResourceContext implementation:
+ virtual net::HostResolver* GetHostResolver() override;
+ virtual net::URLRequestContext* GetRequestContext() override;
+
+ void set_url_request_context_getter(ShellURLRequestContextGetter* getter) {
+ getter_ = getter;
+ }
+
+ private:
+ ShellURLRequestContextGetter* getter_;
+
+ DISALLOW_COPY_AND_ASSIGN(ShellResourceContext);
+ };
+
+ ShellURLRequestContextGetter* url_request_context_getter() {
+ return url_request_getter_.get();
+ }
+
+ // Used by ShellBrowserContext to initiate and set different types of
+ // URLRequestContextGetter.
+ void set_url_request_context_getter(ShellURLRequestContextGetter* getter) {
+ url_request_getter_ = getter;
+ }
+
+ scoped_ptr<ShellResourceContext> resource_context_;
+
private:
- class ShellResourceContext;
// Performs initialization of the ShellBrowserContext while IO is still
// allowed on the current thread.
@@ -75,7 +107,6 @@ class ShellBrowserContext : public BrowserContext {
bool ignore_certificate_errors_;
base::FilePath path_;
BrowserPluginGuestManager* guest_manager_;
- scoped_ptr<ShellResourceContext> resource_context_;
scoped_ptr<ShellDownloadManagerDelegate> download_manager_delegate_;
scoped_refptr<ShellURLRequestContextGetter> url_request_getter_;
« no previous file with comments | « no previous file | content/shell/browser/shell_browser_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698