| Index: content/child/web_url_loader_impl.cc | 
| diff --git a/content/child/web_url_loader_impl.cc b/content/child/web_url_loader_impl.cc | 
| index 490f4c877716f799d41e7636cb1c2f3e26e48572..ea1d892a9f4caffc72ad9b90f44bdfc70255e344 100644 | 
| --- a/content/child/web_url_loader_impl.cc | 
| +++ b/content/child/web_url_loader_impl.cc | 
| @@ -38,6 +38,7 @@ | 
| #include "content/public/child/fixed_received_data.h" | 
| #include "content/public/child/request_peer.h" | 
| #include "content/public/common/browser_side_navigation_policy.h" | 
| +#include "mojo/public/cpp/bindings/associated_group.h" | 
| #include "net/base/data_url.h" | 
| #include "net/base/filename_util.h" | 
| #include "net/base/net_errors.h" | 
| @@ -363,7 +364,8 @@ class WebURLLoaderImpl::Context : public base::RefCounted<Context> { | 
|  | 
| Context(WebURLLoaderImpl* loader, | 
| ResourceDispatcher* resource_dispatcher, | 
| -          mojom::URLLoaderFactory* factory); | 
| +          mojom::URLLoaderFactory* factory, | 
| +          mojo::AssociatedGroup* associated_group); | 
|  | 
| WebURLLoaderClient* client() const { return client_; } | 
| void set_client(WebURLLoaderClient* client) { client_ = client; } | 
| @@ -412,7 +414,9 @@ class WebURLLoaderImpl::Context : public base::RefCounted<Context> { | 
| DeferState defers_loading_; | 
| int request_id_; | 
|  | 
| +  // These are owned by the Blink::Platform singleton. | 
| mojom::URLLoaderFactory* url_loader_factory_; | 
| +  mojo::AssociatedGroup* associated_group_; | 
| }; | 
|  | 
| // A thin wrapper class for Context to ensure its lifetime while it is | 
| @@ -445,14 +449,16 @@ class WebURLLoaderImpl::RequestPeerImpl : public RequestPeer { | 
|  | 
| WebURLLoaderImpl::Context::Context(WebURLLoaderImpl* loader, | 
| ResourceDispatcher* resource_dispatcher, | 
| -                                   mojom::URLLoaderFactory* url_loader_factory) | 
| +                                   mojom::URLLoaderFactory* url_loader_factory, | 
| +                                   mojo::AssociatedGroup* associated_group) | 
| : loader_(loader), | 
| client_(NULL), | 
| resource_dispatcher_(resource_dispatcher), | 
| task_runner_(base::ThreadTaskRunnerHandle::Get()), | 
| defers_loading_(NOT_DEFERRING), | 
| request_id_(-1), | 
| -      url_loader_factory_(url_loader_factory) {} | 
| +      url_loader_factory_(url_loader_factory), | 
| +      associated_group_(associated_group) {} | 
|  | 
| void WebURLLoaderImpl::Context::Cancel() { | 
| TRACE_EVENT_WITH_FLOW0("loading", "WebURLLoaderImpl::Context::Cancel", this, | 
| @@ -623,7 +629,7 @@ void WebURLLoaderImpl::Context::Start(const WebURLRequest& request, | 
| std::move(resource_request), request.requestorID(), task_runner_, | 
| extra_data->frame_origin(), | 
| base::MakeUnique<WebURLLoaderImpl::RequestPeerImpl>(this), | 
| -      request.getLoadingIPCType(), url_loader_factory_); | 
| +      request.getLoadingIPCType(), url_loader_factory_, associated_group_); | 
|  | 
| if (defers_loading_ != NOT_DEFERRING) | 
| resource_dispatcher_->SetDefersLoading(request_id_, true); | 
| @@ -1008,8 +1014,12 @@ void WebURLLoaderImpl::RequestPeerImpl::OnCompletedRequest( | 
| // WebURLLoaderImpl ----------------------------------------------------------- | 
|  | 
| WebURLLoaderImpl::WebURLLoaderImpl(ResourceDispatcher* resource_dispatcher, | 
| -                                   mojom::URLLoaderFactory* url_loader_factory) | 
| -    : context_(new Context(this, resource_dispatcher, url_loader_factory)) {} | 
| +                                   mojom::URLLoaderFactory* url_loader_factory, | 
| +                                   mojo::AssociatedGroup* associated_group) | 
| +    : context_(new Context(this, | 
| +                           resource_dispatcher, | 
| +                           url_loader_factory, | 
| +                           associated_group)) {} | 
|  | 
| WebURLLoaderImpl::~WebURLLoaderImpl() { | 
| cancel(); | 
|  |