// Copyright 2013 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.
#ifndef CHROME_COMMON_FAVICON_FAVICON_URL_PARSER_H_
#define CHROME_COMMON_FAVICON_FAVICON_URL_PARSER_H_
#include <string>
namespace chrome {
struct ParsedFaviconPath {
// Whether the URL has the "iconurl" parameter.
bool is_icon_url;
// The URL from which the favicon is being requested.
std::string url;
// The size of the requested favicon in dip.
int size_in_dip;
// The device scale factor of the requested favicon.
float device_scale_factor;
// The index of the first character (relative to the path) where the the URL
// from which the favicon is being requested is located.
size_t path_index;
};
// Parses |path|, which should be in the format described at the top of the
// file "chrome/browser/ui/webui/favicon_source.h". |icon_types| indicates
// which icon types are supported. Returns true if |path| could be parsed.
// The result of the parsing will be stored in a ParsedFaviconPath struct.
bool ParseFaviconPath(const std::string& path,
int icon_types,
ParsedFaviconPath* parsed);
} // namespace chrome
#endif // CHROME_COMMON_FAVICON_FAVICON_URL_PARSER_H_