blob: fdedc0ca5f5161519b8e665a4079a642473a602a [file] [log] [blame]
// 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 COMPONENTS_FAVICON_BASE_FAVICON_URL_PARSER_H_
#define COMPONENTS_FAVICON_BASE_FAVICON_URL_PARSER_H_
#include <stddef.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". 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, ParsedFaviconPath* parsed);
} // namespace chrome
#endif // COMPONENTS_FAVICON_BASE_FAVICON_URL_PARSER_H_