diff options
author | blundell <blundell@chromium.org> | 2015-07-08 03:07:45 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-08 10:08:22 +0000 |
commit | ee0ade20e42f6ff67ec7402c80610e3d0b7f960a (patch) | |
tree | 60056d8d047c4bf82f6bf31ce0ec8ca286ef268c /components/favicon_base/large_icon_url_parser.h | |
parent | 0c714f7ca6d4f027501aa8ef8ae91ebc99788b62 (diff) | |
download | chromium_src-ee0ade20e42f6ff67ec7402c80610e3d0b7f960a.zip chromium_src-ee0ade20e42f6ff67ec7402c80610e3d0b7f960a.tar.gz chromium_src-ee0ade20e42f6ff67ec7402c80610e3d0b7f960a.tar.bz2 |
Componentize //chrome/common/favicon
This code is used by iOS; move it into //components/favicon_base.
TBR=sky, rdsmith
Review URL: https://codereview.chromium.org/1223603002
Cr-Commit-Position: refs/heads/master@{#337794}
Diffstat (limited to 'components/favicon_base/large_icon_url_parser.h')
-rw-r--r-- | components/favicon_base/large_icon_url_parser.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/components/favicon_base/large_icon_url_parser.h b/components/favicon_base/large_icon_url_parser.h new file mode 100644 index 0000000..3d60b76 --- /dev/null +++ b/components/favicon_base/large_icon_url_parser.h @@ -0,0 +1,46 @@ +// Copyright 2015 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_LARGE_ICON_URL_PARSER_H_ +#define COMPONENTS_FAVICON_BASE_LARGE_ICON_URL_PARSER_H_ + +#include <string> + +#include "base/macros.h" +#include "base/strings/string_piece.h" + +// A parser for parameters to the chrome://large-icon/ host. +class LargeIconUrlParser { + public: + LargeIconUrlParser(); + ~LargeIconUrlParser(); + + std::string url_string() const { return url_string_; } + + int size_in_pixels() const { return size_in_pixels_; } + + size_t path_index() const { return path_index_; } + + // Parses |path|, which should be in the format described at the top of the + // file "chrome/browser/ui/webui/large_icon_source.h". Note that |path| does + // not have leading '/'. + bool Parse(base::StringPiece path); + + private: + friend class LargeIconUrlParserTest; + + // The page URL string of the requested large icon. + std::string url_string_; + + // The size of the requested large icon in pixels. + int size_in_pixels_; + + // The index of the first character (relative to the path) where the the URL + // from which the large icon is being requested is located. + size_t path_index_; + + DISALLOW_COPY_AND_ASSIGN(LargeIconUrlParser); +}; + +#endif // COMPONENTS_FAVICON_BASE_LARGE_ICON_URL_PARSER_H_ |