OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_ANDROID_THUMBNAIL_THUMBNAIL_CACHE_H_ | 5 #ifndef CHROME_BROWSER_ANDROID_THUMBNAIL_THUMBNAIL_CACHE_H_ |
6 #define CHROME_BROWSER_ANDROID_THUMBNAIL_THUMBNAIL_CACHE_H_ | 6 #define CHROME_BROWSER_ANDROID_THUMBNAIL_THUMBNAIL_CACHE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <list> | 10 #include <list> |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 void SetUIResourceProvider(ui::UIResourceProvider* ui_resource_provider); | 56 void SetUIResourceProvider(ui::UIResourceProvider* ui_resource_provider); |
57 | 57 |
58 void AddThumbnailCacheObserver(ThumbnailCacheObserver* observer); | 58 void AddThumbnailCacheObserver(ThumbnailCacheObserver* observer); |
59 void RemoveThumbnailCacheObserver( | 59 void RemoveThumbnailCacheObserver( |
60 ThumbnailCacheObserver* observer); | 60 ThumbnailCacheObserver* observer); |
61 | 61 |
62 void Put(TabId tab_id, const SkBitmap& bitmap, float thumbnail_scale); | 62 void Put(TabId tab_id, const SkBitmap& bitmap, float thumbnail_scale); |
63 void Remove(TabId tab_id); | 63 void Remove(TabId tab_id); |
64 Thumbnail* Get(TabId tab_id, bool force_disk_read, bool allow_approximation); | 64 Thumbnail* Get(TabId tab_id, bool force_disk_read, bool allow_approximation); |
65 | 65 |
66 void RemoveFromDiskAtAndAboveId(TabId min_id); | |
67 void InvalidateThumbnailIfChanged(TabId tab_id, const GURL& url); | 66 void InvalidateThumbnailIfChanged(TabId tab_id, const GURL& url); |
68 bool CheckAndUpdateThumbnailMetaData(TabId tab_id, const GURL& url); | 67 bool CheckAndUpdateThumbnailMetaData(TabId tab_id, const GURL& url); |
69 void UpdateVisibleIds(const TabIdList& priority); | 68 void UpdateVisibleIds(const TabIdList& priority); |
70 void DecompressThumbnailFromFile( | 69 void DecompressThumbnailFromFile( |
71 TabId tab_id, | 70 TabId tab_id, |
72 const base::Callback<void(bool, SkBitmap)>& | 71 const base::Callback<void(bool, SkBitmap)>& |
73 post_decompress_callback); | 72 post_decompress_callback); |
74 | 73 |
75 // Called when resident textures were evicted, which requires paging | 74 // Called when resident textures were evicted, which requires paging |
76 // in bitmaps. | 75 // in bitmaps. |
(...skipping 15 matching lines...) Expand all Loading... |
92 private: | 91 private: |
93 base::Time capture_time_; | 92 base::Time capture_time_; |
94 GURL url_; | 93 GURL url_; |
95 }; | 94 }; |
96 | 95 |
97 typedef ScopedPtrExpiringCache<TabId, Thumbnail> ExpiringThumbnailCache; | 96 typedef ScopedPtrExpiringCache<TabId, Thumbnail> ExpiringThumbnailCache; |
98 typedef base::hash_map<TabId, ThumbnailMetaData> ThumbnailMetaDataMap; | 97 typedef base::hash_map<TabId, ThumbnailMetaData> ThumbnailMetaDataMap; |
99 | 98 |
100 void RemoveFromDisk(TabId tab_id); | 99 void RemoveFromDisk(TabId tab_id); |
101 static void RemoveFromDiskTask(TabId tab_id); | 100 static void RemoveFromDiskTask(TabId tab_id); |
102 static void RemoveFromDiskAtAndAboveIdTask(TabId min_id); | |
103 void WriteThumbnailIfNecessary(TabId tab_id, | 101 void WriteThumbnailIfNecessary(TabId tab_id, |
104 skia::RefPtr<SkPixelRef> compressed_data, | 102 skia::RefPtr<SkPixelRef> compressed_data, |
105 float scale, | 103 float scale, |
106 const gfx::Size& content_size); | 104 const gfx::Size& content_size); |
107 void CompressThumbnailIfNecessary(TabId tab_id, | 105 void CompressThumbnailIfNecessary(TabId tab_id, |
108 const base::Time& time_stamp, | 106 const base::Time& time_stamp, |
109 const SkBitmap& bitmap, | 107 const SkBitmap& bitmap, |
110 float scale); | 108 float scale); |
111 void ReadNextThumbnail(); | 109 void ReadNextThumbnail(); |
112 void MakeSpaceForNewItemIfNecessary(TabId tab_id); | 110 void MakeSpaceForNewItemIfNecessary(TabId tab_id); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 TabIdList visible_ids_; | 162 TabIdList visible_ids_; |
165 | 163 |
166 ui::UIResourceProvider* ui_resource_provider_; | 164 ui::UIResourceProvider* ui_resource_provider_; |
167 | 165 |
168 base::WeakPtrFactory<ThumbnailCache> weak_factory_; | 166 base::WeakPtrFactory<ThumbnailCache> weak_factory_; |
169 | 167 |
170 DISALLOW_COPY_AND_ASSIGN(ThumbnailCache); | 168 DISALLOW_COPY_AND_ASSIGN(ThumbnailCache); |
171 }; | 169 }; |
172 | 170 |
173 #endif // CHROME_BROWSER_ANDROID_THUMBNAIL_THUMBNAIL_CACHE_H_ | 171 #endif // CHROME_BROWSER_ANDROID_THUMBNAIL_THUMBNAIL_CACHE_H_ |
OLD | NEW |