web_data_service_base.cc 1.2 KB

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