1bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#include "content/browser/dom_storage/local_storage_database_adapter.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_util.h" 8bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#include "content/browser/dom_storage/dom_storage_database.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochnamespace content { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)LocalStorageDatabaseAdapter::LocalStorageDatabaseAdapter( 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::FilePath& path) 14bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch : db_(new DOMStorageDatabase(path)) { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)LocalStorageDatabaseAdapter::~LocalStorageDatabaseAdapter() { } 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 19bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochvoid LocalStorageDatabaseAdapter::ReadAllValues(DOMStorageValuesMap* result) { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) db_->ReadAllValues(result); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool LocalStorageDatabaseAdapter::CommitChanges( 24bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch bool clear_all_first, const DOMStorageValuesMap& changes) { 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return db_->CommitChanges(clear_all_first, changes); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void LocalStorageDatabaseAdapter::DeleteFiles() { 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch sql::Connection::Delete(db_->file_path()); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void LocalStorageDatabaseAdapter::Reset() { 33bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch db_.reset(new DOMStorageDatabase(db_->file_path())); 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)LocalStorageDatabaseAdapter::LocalStorageDatabaseAdapter() 37bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch : db_(new DOMStorageDatabase()) { 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch} // namespace content 41