OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Class for finding and caching Windows explorer icons. The IconManager | 5 // Class for finding and caching Windows explorer icons. The IconManager |
6 // lives on the UI thread but performs icon extraction work on the file thread | 6 // lives on the UI thread but performs icon extraction work on the file thread |
7 // to avoid blocking the UI thread with potentially expensive COM and disk | 7 // to avoid blocking the UI thread with potentially expensive COM and disk |
8 // operations. | 8 // operations. |
9 // | 9 // |
10 // Terminology | 10 // Terminology |
11 // | 11 // |
(...skipping 29 matching lines...) Expand all Loading... |
41 // | 41 // |
42 // Icon bitmaps returned should be treated as const since they may be referenced | 42 // Icon bitmaps returned should be treated as const since they may be referenced |
43 // by other clients. Make a copy of the icon if you need to modify it. | 43 // by other clients. Make a copy of the icon if you need to modify it. |
44 | 44 |
45 #ifndef CHROME_BROWSER_ICON_MANAGER_H_ | 45 #ifndef CHROME_BROWSER_ICON_MANAGER_H_ |
46 #define CHROME_BROWSER_ICON_MANAGER_H_ | 46 #define CHROME_BROWSER_ICON_MANAGER_H_ |
47 #pragma once | 47 #pragma once |
48 | 48 |
49 #include <map> | 49 #include <map> |
50 | 50 |
51 #include "base/callback_old.h" | |
52 #include "base/hash_tables.h" | 51 #include "base/hash_tables.h" |
53 #include "chrome/browser/cancelable_request.h" | 52 #include "chrome/browser/cancelable_request.h" |
54 #include "chrome/browser/icon_loader.h" | 53 #include "chrome/browser/icon_loader.h" |
55 #include "ui/gfx/image/image.h" | 54 #include "ui/gfx/image/image.h" |
56 | 55 |
57 class FilePath; | 56 class FilePath; |
58 | 57 |
59 class IconManager : public IconLoader::Delegate, | 58 class IconManager : public IconLoader::Delegate, |
60 public CancelableRequestProvider { | 59 public CancelableRequestProvider { |
61 public: | 60 public: |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 | 108 |
110 // Asynchronous requests that have not yet been completed. | 109 // Asynchronous requests that have not yet been completed. |
111 struct ClientRequest; | 110 struct ClientRequest; |
112 typedef std::map<IconLoader*, ClientRequest> ClientRequests; | 111 typedef std::map<IconLoader*, ClientRequest> ClientRequests; |
113 ClientRequests requests_; | 112 ClientRequests requests_; |
114 | 113 |
115 DISALLOW_COPY_AND_ASSIGN(IconManager); | 114 DISALLOW_COPY_AND_ASSIGN(IconManager); |
116 }; | 115 }; |
117 | 116 |
118 #endif // CHROME_BROWSER_ICON_MANAGER_H_ | 117 #endif // CHROME_BROWSER_ICON_MANAGER_H_ |
OLD | NEW |