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. 13 class 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