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/webdata/common/web_data_service_base.h"
6 
7 #include "base/single_thread_task_runner.h"
8 #include "base/threading/thread.h"
9 #include "components/webdata/common/web_database_service.h"
10 
WebDataServiceBase(scoped_refptr<WebDatabaseService> wdbs,const scoped_refptr<base::SingleThreadTaskRunner> & ui_task_runner)11 WebDataServiceBase::WebDataServiceBase(
12     scoped_refptr<WebDatabaseService> wdbs,
13     const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner)
14     : base::RefCountedDeleteOnSequence<WebDataServiceBase>(ui_task_runner),
15       wdbs_(wdbs) {}
16 
ShutdownOnUISequence()17 void WebDataServiceBase::ShutdownOnUISequence() {}
18 
Init(ProfileErrorCallback callback)19 void WebDataServiceBase::Init(ProfileErrorCallback callback) {
20   DCHECK(wdbs_);
21   wdbs_->RegisterDBErrorCallback(std::move(callback));
22   wdbs_->LoadDatabase();
23 }
24 
ShutdownDatabase()25 void WebDataServiceBase::ShutdownDatabase() {
26   if (wdbs_)
27     wdbs_->ShutdownDatabase();
28 }
29 
CancelRequest(Handle h)30 void WebDataServiceBase::CancelRequest(Handle h) {
31   if (wdbs_)
32     wdbs_->CancelRequest(h);
33 }
34 
GetDatabase()35 WebDatabase* WebDataServiceBase::GetDatabase() {
36   return wdbs_ ? wdbs_->GetDatabaseOnDB() : nullptr;
37 }
38 
39 WebDataServiceBase::~WebDataServiceBase() = default;
40