Index: chrome/browser/ui/webui/fallback_icon_source.h |
diff --git a/chrome/browser/ui/webui/fallback_icon_source.h b/chrome/browser/ui/webui/fallback_icon_source.h |
index acc1d6b8805628e6344951d5cfa9ff0b55a58af9..937f3829c8f4428cca86186e3735c661160b55e0 100644 |
--- a/chrome/browser/ui/webui/fallback_icon_source.h |
+++ b/chrome/browser/ui/webui/fallback_icon_source.h |
@@ -5,10 +5,19 @@ |
#ifndef CHROME_BROWSER_UI_WEBUI_FALLBACK_ICON_SOURCE_H_ |
#define CHROME_BROWSER_UI_WEBUI_FALLBACK_ICON_SOURCE_H_ |
+#include <string> |
+ |
#include "base/memory/scoped_ptr.h" |
-#include "components/favicon/core/fallback_icon_service.h" |
#include "content/public/browser/url_data_source.h" |
+class GURL; |
+ |
+class FallbackIconService; |
+ |
+namespace favicon_base { |
+struct FallbackIconStyle; |
+} |
+ |
// FallbackIconSource services explicit chrome:// requests for fallback icons. |
// |
// Format: |
@@ -41,7 +50,8 @@ |
// 32 * 0.5 = 16, and the icon's background shape is a circle. |
class FallbackIconSource : public content::URLDataSource { |
public: |
- FallbackIconSource(); |
+ // |fallback_icon_service| is owned by caller, and may be null. |
+ explicit FallbackIconSource(FallbackIconService* fallback_icon_service); |
~FallbackIconSource() override; |
@@ -57,11 +67,21 @@ class FallbackIconSource : public content::URLDataSource { |
bool ShouldServiceRequest(const net::URLRequest* request) const override; |
private: |
+ void SendFallbackIconHelper( |
+ const GURL& url, |
+ int size_in_pixels, |
+ const favicon_base::FallbackIconStyle& style, |
+ const content::URLDataSource::GotDataCallback& callback); |
+ |
// Sends the default fallback icon. |
void SendDefaultResponse( |
const content::URLDataSource::GotDataCallback& callback); |
- scoped_ptr<FallbackIconService> fallback_icon_service_; |
+ // Returns null to trigger "Not Found" response. |
+ void SendNotFoundResponse( |
+ const content::URLDataSource::GotDataCallback& callback); |
+ |
+ FallbackIconService* fallback_icon_service_; |
DISALLOW_COPY_AND_ASSIGN(FallbackIconSource); |
}; |