blob: 0385df7677cb8c884fe9b9827db725e69b95426f [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/webdata/common/web_data_service_base.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread.h"
#include "components/webdata/common/web_database_service.h"
WebDataServiceBase::WebDataServiceBase(
scoped_refptr<WebDatabaseService> wdbs,
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner)
: base::RefCountedDeleteOnSequence<WebDataServiceBase>(ui_task_runner),
wdbs_(wdbs) {}
void WebDataServiceBase::ShutdownOnUISequence() {}
void WebDataServiceBase::Init(ProfileErrorCallback callback) {
DCHECK(wdbs_);
wdbs_->RegisterDBErrorCallback(std::move(callback));
wdbs_->LoadDatabase();
}
void WebDataServiceBase::ShutdownDatabase() {
if (wdbs_)
wdbs_->ShutdownDatabase();
}
void WebDataServiceBase::CancelRequest(Handle h) {
if (wdbs_)
wdbs_->CancelRequest(h);
}
WebDatabase* WebDataServiceBase::GetDatabase() {
return wdbs_ ? wdbs_->GetDatabaseOnDB() : nullptr;
}
WebDataServiceBase::~WebDataServiceBase() = default;