| Index: content/browser/renderer_host/resource_message_filter.cc
|
| diff --git a/content/browser/renderer_host/resource_message_filter.cc b/content/browser/renderer_host/resource_message_filter.cc
|
| index fe490f81bf56f8aa69f76c9692e0d5dec7a6daeb..d038ef463dafe225c0c523e2ec8899c1f15845fe 100644
|
| --- a/content/browser/renderer_host/resource_message_filter.cc
|
| +++ b/content/browser/renderer_host/resource_message_filter.cc
|
| @@ -7,15 +7,20 @@
|
| #include "chrome/browser/net/chrome_url_request_context.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/common/render_messages.h"
|
| +#include "content/browser/browser_thread.h"
|
| +#include "content/browser/resource_context.h"
|
| #include "content/browser/renderer_host/resource_dispatcher_host.h"
|
|
|
| ResourceMessageFilter::ResourceMessageFilter(
|
| int child_id,
|
| ChildProcessInfo::ProcessType process_type,
|
| + content::ResourceContextGetter* resource_context_getter,
|
| ResourceDispatcherHost* resource_dispatcher_host)
|
| : child_id_(child_id),
|
| process_type_(process_type),
|
| - resource_dispatcher_host_(resource_dispatcher_host) {
|
| + resource_dispatcher_host_(resource_dispatcher_host),
|
| + resource_context_getter_(resource_context_getter),
|
| + resource_context_(NULL) {
|
| }
|
|
|
| ResourceMessageFilter::~ResourceMessageFilter() {
|
| @@ -50,3 +55,14 @@ ChromeURLRequestContext* ResourceMessageFilter::GetURLRequestContext(
|
|
|
| return static_cast<ChromeURLRequestContext*>(rv);
|
| }
|
| +
|
| +const content::ResourceContext& ResourceMessageFilter::resource_context() {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| + if (resource_context_getter_.get()) {
|
| + DCHECK(!resource_context_);
|
| + resource_context_ = &resource_context_getter_->Get();
|
| + resource_context_getter_.reset();
|
| + }
|
| + DCHECK(resource_context_);
|
| + return *resource_context_;
|
| +}
|
|
|