refcounted_browser_context_keyed_service.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "components/keyed_service/content/refcounted_browser_context_keyed_service.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace impl { 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void RefcountedBrowserContextKeyedServiceTraits::Destruct( 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const RefcountedBrowserContextKeyedService* obj) { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (obj->requires_destruction_on_thread_ && 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) !content::BrowserThread::CurrentlyOn(obj->thread_id_)) { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content::BrowserThread::DeleteSoon(obj->thread_id_, FROM_HERE, obj); 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch } else { 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch delete obj; 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch } 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace impl 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RefcountedBrowserContextKeyedService::RefcountedBrowserContextKeyedService() 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : requires_destruction_on_thread_(false), 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) thread_id_(content::BrowserThread::UI) {} 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RefcountedBrowserContextKeyedService::RefcountedBrowserContextKeyedService( 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const content::BrowserThread::ID thread_id) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : requires_destruction_on_thread_(true), thread_id_(thread_id) {} 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RefcountedBrowserContextKeyedService::~RefcountedBrowserContextKeyedService() {} 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)