| OLD | NEW |
| 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_WEBUI_FAVICON_SOURCE_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_FAVICON_SOURCE_H_ |
| 6 #define CHROME_BROWSER_UI_WEBUI_FAVICON_SOURCE_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_FAVICON_SOURCE_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 | 98 |
| 99 // Called when the favicon data is missing to perform additional checks to | 99 // Called when the favicon data is missing to perform additional checks to |
| 100 // locate the resource. | 100 // locate the resource. |
| 101 // |request| contains information for the failed request. | 101 // |request| contains information for the failed request. |
| 102 // Returns true if the missing resource is found. | 102 // Returns true if the missing resource is found. |
| 103 virtual bool HandleMissingResource(const IconRequest& request); | 103 virtual bool HandleMissingResource(const IconRequest& request); |
| 104 | 104 |
| 105 Profile* profile_; | 105 Profile* profile_; |
| 106 | 106 |
| 107 private: | 107 private: |
| 108 // Defines the allowed pixel sizes for requested favicons. | 108 // Defines the pixel sizes for requested favicons. |
| 109 enum IconSize { | 109 enum IconSize { |
| 110 SIZE_16, | 110 SIZE_NOT_EXISTS = 0, |
| 111 SIZE_32, | 111 SIZE_16 = 16, |
| 112 SIZE_64, | 112 SIZE_32 = 32, |
| 113 NUM_SIZES | 113 SIZE_64 = 64 |
| 114 }; | 114 }; |
| 115 | 115 |
| 116 // Called when favicon data is available from the history backend. | 116 // Called when favicon data is available from the history backend. |
| 117 void OnFaviconDataAvailable( | 117 void OnFaviconDataAvailable( |
| 118 const IconRequest& request, | 118 const IconRequest& request, |
| 119 const favicon_base::FaviconRawBitmapResult& bitmap_result); | 119 const favicon_base::FaviconRawBitmapResult& bitmap_result); |
| 120 | 120 |
| 121 // Sends the 16x16 DIP 1x default favicon. | 121 // Sends the 16x16 DIP 1x default favicon. |
| 122 void SendDefaultResponse( | 122 void SendDefaultResponse( |
| 123 const content::URLDataSource::GotDataCallback& callback); | 123 const content::URLDataSource::GotDataCallback& callback); |
| 124 | 124 |
| 125 // Sends the default favicon. | 125 // Sends the default favicon. |
| 126 void SendDefaultResponse(const IconRequest& request); | 126 void SendDefaultResponse(const IconRequest& request); |
| 127 | 127 |
| 128 base::CancelableTaskTracker cancelable_task_tracker_; | 128 base::CancelableTaskTracker cancelable_task_tracker_; |
| 129 | 129 |
| 130 // Raw PNG representations of favicons of each size to show when the favicon | |
| 131 // database doesn't have a favicon for a webpage. Indexed by IconSize values. | |
| 132 scoped_refptr<base::RefCountedMemory> default_favicons_[NUM_SIZES]; | |
| 133 | |
| 134 // The favicon_base::IconTypes of icon that this FaviconSource handles. | 130 // The favicon_base::IconTypes of icon that this FaviconSource handles. |
| 135 int icon_types_; | 131 int icon_types_; |
| 136 | 132 |
| 137 DISALLOW_COPY_AND_ASSIGN(FaviconSource); | 133 DISALLOW_COPY_AND_ASSIGN(FaviconSource); |
| 138 }; | 134 }; |
| 139 | 135 |
| 140 #endif // CHROME_BROWSER_UI_WEBUI_FAVICON_SOURCE_H_ | 136 #endif // CHROME_BROWSER_UI_WEBUI_FAVICON_SOURCE_H_ |
| OLD | NEW |