blob: 581a6e65de76ed96875ef6a8c89d55238581de00 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/favicon/content/content_favicon_driver.h"
namespace content {
class WebContents;
} // namespace content
namespace gfx {
class Image;
} // namespace gfx
namespace favicon {
// Creates a ContentFaviconDriver and associates it with |web_contents| if none
// exists yet.
// This is a helper method for ContentFaviconDriver::CreateForWebContents() that
// gets KeyedService factories from the Profile linked to web_contents.
void CreateContentFaviconDriverForWebContents(
content::WebContents* web_contents);
// Returns whether the favicon should be displayed. If this returns false, no
// space is provided for the favicon, and the favicon is never displayed.
bool ShouldDisplayFavicon(content::WebContents* web_contents);
// Retrieves the favicon from given WebContents. If contents contain a
// network error, desaturate the favicon.
gfx::Image TabFaviconFromWebContents(content::WebContents* contents);
// Returns the image to use when no favicon is available, taking dark mode
// into account if necessary.
gfx::Image GetDefaultFavicon();
} // namespace favicon