Home | History | Annotate | Download | only in browser_context_keyed_service
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "components/browser_context_keyed_service/refcounted_browser_context_keyed_service.h"
      6 
      7 namespace impl {
      8 
      9 // static
     10 void RefcountedBrowserContextKeyedServiceTraits::Destruct(
     11     const RefcountedBrowserContextKeyedService* obj) {
     12   if (obj->requires_destruction_on_thread_ &&
     13       !content::BrowserThread::CurrentlyOn(obj->thread_id_)) {
     14     content::BrowserThread::DeleteSoon(obj->thread_id_, FROM_HERE, obj);
     15   } else {
     16     delete obj;
     17   }
     18 }
     19 
     20 }  // namespace impl
     21 
     22 RefcountedBrowserContextKeyedService::RefcountedBrowserContextKeyedService()
     23     : requires_destruction_on_thread_(false),
     24       thread_id_(content::BrowserThread::UI) {
     25 }
     26 
     27 RefcountedBrowserContextKeyedService::RefcountedBrowserContextKeyedService(
     28     const content::BrowserThread::ID thread_id)
     29     : requires_destruction_on_thread_(true),
     30       thread_id_(thread_id) {
     31 }
     32 
     33 RefcountedBrowserContextKeyedService::~RefcountedBrowserContextKeyedService() {}
     34 
     35