1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Use of this source code is governed by a BSD-style license that can be
306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// found in the LICENSE file.
406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "net/url_request/url_request_context_getter.h"
6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "base/message_loop_proxy.h"
806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "net/url_request/url_request_context.h"
906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsennamespace net {
11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenCookieStore* URLRequestContextGetter::DONTUSEME_GetCookieStore() {
12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  return NULL;
1306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch}
1406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
15731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickURLRequestContextGetter::URLRequestContextGetter() : is_main_(false) {}
16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
17731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickURLRequestContextGetter::~URLRequestContextGetter() {}
18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
19513209b27ff55e2841eac0e4120199c23acce758Ben Murdochvoid URLRequestContextGetter::OnDestruct() const {
2006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  scoped_refptr<base::MessageLoopProxy> io_message_loop_proxy =
2106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch      GetIOMessageLoopProxy();
2206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  DCHECK(io_message_loop_proxy);
2306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  if (io_message_loop_proxy) {
2406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch    if (io_message_loop_proxy->BelongsToCurrentThread()) {
2506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch      delete this;
2606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch    } else {
2706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch      io_message_loop_proxy->DeleteSoon(FROM_HERE, this);
2806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch    }
2906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  }
3006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // If no IO message loop proxy was available, we will just leak memory.
3106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // This is also true if the IO thread is gone.
3206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch}
33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}  // namespace net
35