Index: chrome/browser/ui/webui/favicon_source.h |
diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/favicon_source.h |
index 2ccc6d3e89bf6d64d5670e8814201a6ec200d689..244c6ed1272ce3d30d6aedb8609e4c73dce9e2ff 100644 |
--- a/chrome/browser/ui/webui/favicon_source.h |
+++ b/chrome/browser/ui/webui/favicon_source.h |
@@ -52,7 +52,6 @@ class FaviconSource : public ChromeURLDataManager::DataSource { |
Profile* profile_; |
- private: |
// Defines the allowed pixel sizes for requested favicons. |
enum IconSize { |
SIZE_16, |
@@ -64,19 +63,32 @@ class FaviconSource : public ChromeURLDataManager::DataSource { |
struct IconRequest { |
IconRequest() |
: request_id(0), |
+ request_path(""), |
size_in_dip(gfx::kFaviconSize), |
scale_factor(ui::SCALE_FACTOR_NONE) { |
} |
- IconRequest(int id, int size, ui::ScaleFactor scale) |
+ IconRequest(int id, |
+ const std::string& path, |
+ int size, |
+ ui::ScaleFactor scale) |
: request_id(id), |
+ request_path(path), |
size_in_dip(size), |
scale_factor(scale) { |
} |
int request_id; |
+ std::string request_path; |
int size_in_dip; |
ui::ScaleFactor scale_factor; |
}; |
+ // Called when the favicon data is missing to perform additional checks to |
+ // locate the resource. |
+ // |request| contains information for the failed request. |
+ // Returns true if the missing resource is found. |
+ virtual bool HandleMissingResource(const IconRequest& request); |
+ |
+ private: |
void Init(Profile* profile, IconType type); |
// Called when favicon data is available from the history backend. |