#include "chrome/browser/extensions/favicon/favicon_util.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/scoped_refptr.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "components/favicon/core/favicon_service.h"
#include "components/favicon_base/favicon_types.h"
#include "components/favicon_base/favicon_url_parser.h"
#include "content/public/browser/browser_context.h"
#include "extensions/common/extension.h"
#include "extensions/common/permissions/permissions_data.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/resource/resource_scale_factor.h"
#include "ui/gfx/favicon_size.h"
#include "ui/native_theme/native_theme.h"
#include "ui/resources/grit/ui_resources.h"
#include "url/gurl.h"
namespace extensions {
class Extension;
namespace favicon_util {
namespace {
int GetResourceID(int size_in_pixels) { … }
void OnFaviconAvailable(FaviconCallback callback,
int size_in_pixels,
const favicon_base::FaviconRawBitmapResult& result) { … }
}
void GetFaviconForExtensionRequest(content::BrowserContext* browser_context,
const Extension* extension,
const GURL& url,
base::CancelableTaskTracker* tracker,
FaviconCallback callback) { … }
bool ParseFaviconPath(const GURL& url, chrome::ParsedFaviconPath* parsed) { … }
}
}