| Index: chrome/browser/search_engines/template_url.h
|
| ===================================================================
|
| --- chrome/browser/search_engines/template_url.h (revision 36625)
|
| +++ chrome/browser/search_engines/template_url.h (working copy)
|
| @@ -5,10 +5,12 @@
|
| #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_
|
| #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_
|
|
|
| +#include <string>
|
| #include <vector>
|
|
|
| #include "base/time.h"
|
| #include "googleurl/src/gurl.h"
|
| +#include "testing/gtest/include/gtest/gtest_prod.h"
|
|
|
| class TemplateURL;
|
|
|
| @@ -111,6 +113,13 @@
|
| friend class TemplateURL;
|
| friend class TemplateURLModelTest;
|
| friend class TemplateURLTest;
|
| + FRIEND_TEST(TemplateURLTest, ParseParameterKnown);
|
| + FRIEND_TEST(TemplateURLTest, ParseParameterUnknown);
|
| + FRIEND_TEST(TemplateURLTest, ParseURLEmpty);
|
| + FRIEND_TEST(TemplateURLTest, ParseURLNoTemplateEnd);
|
| + FRIEND_TEST(TemplateURLTest, ParseURLNoKnownParameters);
|
| + FRIEND_TEST(TemplateURLTest, ParseURLTwoParameters);
|
| + FRIEND_TEST(TemplateURLTest, ParseURLNestedParameter);
|
|
|
| // Enumeration of the known types.
|
| enum ReplacementType {
|
| @@ -146,9 +155,11 @@
|
| // range of the parameter in the url, including the braces. If the parameter
|
| // is valid, url is updated to reflect the appropriate parameter. If
|
| // the parameter is one of the known parameters an element is added to
|
| - // replacements indicating the type and range of the element.
|
| + // replacements indicating the type and range of the element. The original
|
| + // parameter is erased from the url.
|
| //
|
| - // If the parameter is not a known parameter, false is returned.
|
| + // If the parameter is not a known parameter, it's not erased and false is
|
| + // returned.
|
| bool ParseParameter(size_t start,
|
| size_t end,
|
| std::wstring* url,
|
| @@ -157,8 +168,8 @@
|
| // Parses the specified url, replacing parameters as necessary. If
|
| // successful, valid is set to true, and the parsed url is returned. For all
|
| // known parameters that are encountered an entry is added to replacements.
|
| - // If there is an error parsing (unknown parameter, or bogus url), valid is
|
| - // set to false, and an empty string is returned.
|
| + // If there is an error parsing the url, valid is set to false, and an empty
|
| + // string is returned.
|
| std::wstring ParseURL(const std::wstring& url,
|
| Replacements* replacements,
|
| bool* valid) const;
|
|
|