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#ifndef COMPONENTS_ENHANCED_BOOKMARKS_TEST_IMAGE_STORE_H_ 6#define COMPONENTS_ENHANCED_BOOKMARKS_TEST_IMAGE_STORE_H_ 7 8#include "components/enhanced_bookmarks/image_store.h" 9 10// The TestImageStore is an implementation of ImageStore that keeps all its 11// data in memory. When deallocated all the associations are lost. 12// Used in tests. 13class TestImageStore : public ImageStore { 14 public: 15 TestImageStore(); 16 virtual bool HasKey(const GURL& page_url) OVERRIDE; 17 virtual void Insert(const GURL& page_url, 18 const GURL& image_url, 19 const gfx::Image& image) OVERRIDE; 20 virtual void Erase(const GURL& page_url) OVERRIDE; 21 virtual std::pair<gfx::Image, GURL> Get(const GURL& page_url) OVERRIDE; 22 virtual gfx::Size GetSize(const GURL& page_url) OVERRIDE; 23 virtual void GetAllPageUrls(std::set<GURL>* urls) OVERRIDE; 24 virtual void ClearAll() OVERRIDE; 25 virtual int64 GetStoreSizeInBytes() OVERRIDE; 26 27 protected: 28 virtual ~TestImageStore(); 29 30 private: 31 typedef std::map<const GURL, std::pair<gfx::Image, const GURL> > ImageMap; 32 ImageMap store_; 33 34 DISALLOW_COPY_AND_ASSIGN(TestImageStore); 35}; 36 37#endif // COMPONENTS_ENHANCED_BOOKMARKS_TEST_IMAGE_STORE_H_ 38