diff options
author | kkimlabs@chromium.org <kkimlabs@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-11 14:19:52 +0000 |
---|---|---|
committer | kkimlabs@chromium.org <kkimlabs@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-11 14:19:52 +0000 |
commit | 174a621f96913029748c965389706d2b32eb153b (patch) | |
tree | 53f6483025d2b4996abf854ec9fe776e6545e165 /components/enhanced_bookmarks/persistent_image_store.h | |
parent | 41a7fd691f089cb0f40cb88c328b3ea8313fb644 (diff) | |
download | chromium_src-174a621f96913029748c965389706d2b32eb153b.zip chromium_src-174a621f96913029748c965389706d2b32eb153b.tar.gz chromium_src-174a621f96913029748c965389706d2b32eb153b.tar.bz2 |
Local salient image storage for enhanced bookmark experiment.
BUG=368034
Review URL: https://codereview.chromium.org/259863007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269703 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/enhanced_bookmarks/persistent_image_store.h')
-rw-r--r-- | components/enhanced_bookmarks/persistent_image_store.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/components/enhanced_bookmarks/persistent_image_store.h b/components/enhanced_bookmarks/persistent_image_store.h new file mode 100644 index 0000000..aaa86fa --- /dev/null +++ b/components/enhanced_bookmarks/persistent_image_store.h @@ -0,0 +1,42 @@ +// Copyright 2014 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. + +#ifndef COMPONENTS_ENHANCED_BOOKMARKS_PERSISTENT_IMAGE_STORE_H_ +#define COMPONENTS_ENHANCED_BOOKMARKS_PERSISTENT_IMAGE_STORE_H_ + +#include "components/enhanced_bookmarks/image_store.h" + +#include "base/files/file_path.h" +#include "sql/connection.h" +#include "sql/init_status.h" + +// The PersistentImageStore is an implementation of ImageStore that persists its +// data on disk. +class PersistentImageStore : public ImageStore { + public: + // Creates a PersistentImageStore in the directory at the given path. + explicit PersistentImageStore(const base::FilePath& path); + virtual bool HasKey(const GURL& page_url) OVERRIDE; + virtual void Insert(const GURL& page_url, + const GURL& image_url, + const gfx::Image& image) OVERRIDE; + virtual void Erase(const GURL& page_url) OVERRIDE; + virtual std::pair<gfx::Image, GURL> Get(const GURL& page_url) OVERRIDE; + virtual gfx::Size GetSize(const GURL& page_url) OVERRIDE; + virtual void GetAllPageUrls(std::set<GURL>* urls) OVERRIDE; + virtual void ClearAll() OVERRIDE; + + protected: + virtual ~PersistentImageStore(); + + private: + sql::InitStatus OpenDatabase(); + + const base::FilePath path_; + sql::Connection db_; + + DISALLOW_COPY_AND_ASSIGN(PersistentImageStore); +}; + +#endif // COMPONENTS_ENHANCED_BOOKMARKS_PERSISTENT_IMAGE_STORE_H_ |