Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(265)

Side by Side Diff: chrome/browser/search_engines/template_url.h

Issue 11576044: Remove call to IsInstantExtendedAPIGoogleSearchUrl from ToolbarModel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_ 5 #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_
6 #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_ 6 #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 // Converts the specified term in our owner's encoding to a string16. 133 // Converts the specified term in our owner's encoding to a string16.
134 string16 SearchTermToString16(const std::string& term) const; 134 string16 SearchTermToString16(const std::string& term) const;
135 135
136 // Returns true if this TemplateURLRef has a replacement term of 136 // Returns true if this TemplateURLRef has a replacement term of
137 // {google:baseURL} or {google:baseSuggestURL}. 137 // {google:baseURL} or {google:baseSuggestURL}.
138 bool HasGoogleBaseURLs() const; 138 bool HasGoogleBaseURLs() const;
139 139
140 // Use the pattern referred to by this TemplateURLRef to match the provided 140 // Use the pattern referred to by this TemplateURLRef to match the provided
141 // |url| and extract |search_terms| from it. Returns true if the pattern 141 // |url| and extract |search_terms| from it. Returns true if the pattern
142 // matches, even if |search_terms| is empty. Returns false and an empty 142 // matches, even if |search_terms| is empty. Returns false and an empty
143 // |search_terms| if the pattern does not match. 143 // |search_terms| if the pattern does not match. If |need_instant_extended|
144 // is true, then a match will only be returned if the instant extended
145 // parameter is found and non-zero, moreover, the instant extended parameter
146 // must be found in the same region as the search term (the query or the ref).
144 bool ExtractSearchTermsFromURL(const GURL& url, 147 bool ExtractSearchTermsFromURL(const GURL& url,
145 string16* search_terms) const; 148 string16* search_terms,
149 bool needs_instant_extended) const;
146 150
147 private: 151 private:
148 friend class TemplateURL; 152 friend class TemplateURL;
149 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, SetPrepopulatedAndParse); 153 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, SetPrepopulatedAndParse);
150 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterKnown); 154 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterKnown);
151 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterUnknown); 155 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterUnknown);
152 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLEmpty); 156 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLEmpty);
153 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLNoTemplateEnd); 157 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLNoTemplateEnd);
154 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLNoKnownParameters); 158 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLNoKnownParameters);
155 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLTwoParameters); 159 FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLTwoParameters);
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 size_t URLCount() const; 474 size_t URLCount() const;
471 475
472 // Gets the search URL at the given index. The alternate URLs, if any, are 476 // Gets the search URL at the given index. The alternate URLs, if any, are
473 // numbered starting at 0, and the primary search URL follows. This is used 477 // numbered starting at 0, and the primary search URL follows. This is used
474 // to decode the search term given a search URL (see 478 // to decode the search term given a search URL (see
475 // ExtractSearchTermsFromURL()). 479 // ExtractSearchTermsFromURL()).
476 const std::string& GetURL(size_t index) const; 480 const std::string& GetURL(size_t index) const;
477 481
478 // Use the alternate URLs and the search URL to match the provided |url| 482 // Use the alternate URLs and the search URL to match the provided |url|
479 // and extract |search_terms| from it. Returns false and an empty 483 // and extract |search_terms| from it. Returns false and an empty
480 // |search_terms| if no search terms can be matched. The order in which the 484 // |search_terms| if no search terms can be matched. The method also returns
481 // alternate URLs are listed dictates their priority, the URL at index 0 485 // false if |needs_instant_extended| is true and the query or ref parameter
482 // is treated as the highest priority and the primary search URL is treated 486 // corresponding to search_terms_replacement_key() is not found or is 0.
483 // as the lowest priority (see GetURL()). For example, if a TemplateURL has 487 // The order in which the alternate URLs are listed dictates their priority,
484 // alternate URL "http://foo/#q={searchTerms}" and search URL 488 // the URL at index 0 is treated as the highest priority and the primary
485 // "http://foo/?q={searchTerms}", and the URL to be decoded is 489 // search URL is treated as the lowest priority (see GetURL()). For example,
490 // if a TemplateURL has alternate URL "http://foo/#q={searchTerms}" and search
491 // URL "http://foo/?q={searchTerms}", and the URL to be decoded is
486 // "http://foo/?q=a#q=b", the alternate URL will match first and the decoded 492 // "http://foo/?q=a#q=b", the alternate URL will match first and the decoded
487 // search term will be "b". 493 // search term will be "b".
488 bool ExtractSearchTermsFromURL(const GURL& url, string16* search_terms); 494 bool ExtractSearchTermsFromURL(const GURL& url,
495 string16* search_terms,
496 bool needs_instant_extended);
489 497
490 private: 498 private:
491 friend class TemplateURLService; 499 friend class TemplateURLService;
492 500
493 void CopyFrom(const TemplateURL& other); 501 void CopyFrom(const TemplateURL& other);
494 502
495 void SetURL(const std::string& url); 503 void SetURL(const std::string& url);
496 void SetPrepopulateId(int id); 504 void SetPrepopulateId(int id);
497 505
498 // Resets the keyword if IsGoogleSearchURLWithReplaceableKeyword() or |force|. 506 // Resets the keyword if IsGoogleSearchURLWithReplaceableKeyword() or |force|.
499 // The |force| parameter is useful when the existing keyword is known to be 507 // The |force| parameter is useful when the existing keyword is known to be
500 // a placeholder. The resulting keyword is generated using 508 // a placeholder. The resulting keyword is generated using
501 // TemplateURLService::GenerateSearchURL() and 509 // TemplateURLService::GenerateSearchURL() and
502 // TemplateURLService::GenerateKeyword(). 510 // TemplateURLService::GenerateKeyword().
503 void ResetKeywordIfNecessary(bool force); 511 void ResetKeywordIfNecessary(bool force);
504 512
505 Profile* profile_; 513 Profile* profile_;
506 TemplateURLData data_; 514 TemplateURLData data_;
507 TemplateURLRef url_ref_; 515 TemplateURLRef url_ref_;
508 TemplateURLRef suggestions_url_ref_; 516 TemplateURLRef suggestions_url_ref_;
509 TemplateURLRef instant_url_ref_; 517 TemplateURLRef instant_url_ref_;
510 518
511 // TODO(sky): Add date last parsed OSD file. 519 // TODO(sky): Add date last parsed OSD file.
512 520
513 DISALLOW_COPY_AND_ASSIGN(TemplateURL); 521 DISALLOW_COPY_AND_ASSIGN(TemplateURL);
514 }; 522 };
515 523
516 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_ 524 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698