1// Copyright 2014 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 "extensions/browser/api/storage/leveldb_settings_storage_factory.h" 6 7#include "base/file_util.h" 8#include "base/logging.h" 9#include "extensions/browser/value_store/leveldb_value_store.h" 10 11namespace extensions { 12 13namespace { 14 15base::FilePath GetDatabasePath(const base::FilePath& base_path, 16 const std::string& extension_id) { 17 return base_path.AppendASCII(extension_id); 18} 19 20} // namespace 21 22ValueStore* LeveldbSettingsStorageFactory::Create( 23 const base::FilePath& base_path, 24 const std::string& extension_id) { 25 return new LeveldbValueStore(GetDatabasePath(base_path, extension_id)); 26} 27 28void LeveldbSettingsStorageFactory::DeleteDatabaseIfExists( 29 const base::FilePath& base_path, 30 const std::string& extension_id) { 31 base::FilePath path = GetDatabasePath(base_path, extension_id); 32 if (base::PathExists(path)) 33 base::DeleteFile(path, true /* recursive */); 34} 35 36} // namespace extensions 37