| Index: chrome/browser/search_engines/template_url.h
 | 
| diff --git a/chrome/browser/search_engines/template_url.h b/chrome/browser/search_engines/template_url.h
 | 
| index 32642205a7b20e5dcf9daa91520c31c2fe391c81..9468fccfa94efaac5971d6f2b504b651137a650c 100644
 | 
| --- a/chrome/browser/search_engines/template_url.h
 | 
| +++ b/chrome/browser/search_engines/template_url.h
 | 
| @@ -48,6 +48,28 @@ class TemplateURLRef {
 | 
|      INSTANT,
 | 
|    };
 | 
|  
 | 
| +  // This struct encapsulates arguments passed to
 | 
| +  // TemplateURLRef::ReplaceSearchTerms methods.  By default, only search_terms
 | 
| +  // is required and is passed in the constructor.
 | 
| +  struct SearchTermsArgs {
 | 
| +    explicit SearchTermsArgs(const string16& search_terms);
 | 
| +
 | 
| +    // The search terms (query).
 | 
| +    const string16 search_terms;
 | 
| +    // The original (input) query.
 | 
| +    string16 original_query;
 | 
| +    // The optional assisted query stats, aka AQS, used for logging purposes.
 | 
| +    // This string contains impressions of all autocomplete matches shown
 | 
| +    // at the query submission time.  For privacy reasons, we require the
 | 
| +    // search provider to support HTTPS protocol in order to receive the AQS
 | 
| +    // param.
 | 
| +    // For more details, see http://goto.google.com/binary-clients-logging .
 | 
| +    std::string assisted_query_stats;
 | 
| +
 | 
| +    // TODO: Remove along with "aq" CGI param.
 | 
| +    int accepted_suggestion;
 | 
| +  };
 | 
| +
 | 
|    TemplateURLRef(TemplateURL* owner, Type type);
 | 
|    ~TemplateURLRef();
 | 
|  
 | 
| @@ -62,22 +84,18 @@ class TemplateURLRef {
 | 
|        const SearchTermsData& search_terms_data) const;
 | 
|  
 | 
|    // Returns a string that is the result of replacing the search terms in
 | 
| -  // the url with the specified value.  We use our owner's input encoding.
 | 
| +  // the url with the specified arguments.  We use our owner's input encoding.
 | 
|    //
 | 
|    // If this TemplateURLRef does not support replacement (SupportsReplacement
 | 
|    // returns false), an empty string is returned.
 | 
|    std::string ReplaceSearchTerms(
 | 
| -      const string16& terms,
 | 
| -      int accepted_suggestion,
 | 
| -      const string16& original_query_for_suggestion) const;
 | 
| +      const SearchTermsArgs& search_terms_args) const;
 | 
|  
 | 
|    // Just like ReplaceSearchTerms except that it takes SearchTermsData to supply
 | 
|    // the data for some search terms. Most of the time ReplaceSearchTerms should
 | 
|    // be called.
 | 
|    std::string ReplaceSearchTermsUsingTermsData(
 | 
| -      const string16& terms,
 | 
| -      int accepted_suggestion,
 | 
| -      const string16& original_query_for_suggestion,
 | 
| +      const SearchTermsArgs& search_terms_args,
 | 
|        const SearchTermsData& search_terms_data) const;
 | 
|  
 | 
|    // Returns true if the TemplateURLRef is valid. An invalid TemplateURLRef is
 | 
| @@ -126,6 +144,7 @@ class TemplateURLRef {
 | 
|    enum ReplacementType {
 | 
|      ENCODING,
 | 
|      GOOGLE_ACCEPTED_SUGGESTION,
 | 
| +    GOOGLE_ASSISTED_QUERY_STATS,
 | 
|      GOOGLE_BASE_URL,
 | 
|      GOOGLE_BASE_SUGGEST_URL,
 | 
|      GOOGLE_INSTANT_ENABLED,
 | 
| 
 |