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

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

Issue 10537154: A working implementation of AQS (Assisted Query Stats). (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Add missing change to google engine. Created 8 years, 6 months 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 #include "chrome/browser/search_engines/template_url.h" 5 #include "chrome/browser/search_engines/template_url.h"
6 6
7 #include "base/i18n/case_conversion.h" 7 #include "base/i18n/case_conversion.h"
8 #include "base/i18n/icu_string_conversions.h" 8 #include "base/i18n/icu_string_conversions.h"
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 24 matching lines...) Expand all
35 const char kSearchTermsParameter[] = "searchTerms"; 35 const char kSearchTermsParameter[] = "searchTerms";
36 const char kSearchTermsParameterFull[] = "{searchTerms}"; 36 const char kSearchTermsParameterFull[] = "{searchTerms}";
37 const char kCountParameter[] = "count"; 37 const char kCountParameter[] = "count";
38 const char kStartIndexParameter[] = "startIndex"; 38 const char kStartIndexParameter[] = "startIndex";
39 const char kStartPageParameter[] = "startPage"; 39 const char kStartPageParameter[] = "startPage";
40 const char kLanguageParameter[] = "language"; 40 const char kLanguageParameter[] = "language";
41 const char kInputEncodingParameter[] = "inputEncoding"; 41 const char kInputEncodingParameter[] = "inputEncoding";
42 const char kOutputEncodingParameter[] = "outputEncoding"; 42 const char kOutputEncodingParameter[] = "outputEncoding";
43 43
44 const char kGoogleAcceptedSuggestionParameter[] = "google:acceptedSuggestion"; 44 const char kGoogleAcceptedSuggestionParameter[] = "google:acceptedSuggestion";
45 const char kGoogleAssistedQueryStatsParameter[] = "google:assistedQueryStats";
45 // Host/Domain Google searches are relative to. 46 // Host/Domain Google searches are relative to.
46 const char kGoogleBaseURLParameter[] = "google:baseURL"; 47 const char kGoogleBaseURLParameter[] = "google:baseURL";
47 const char kGoogleBaseURLParameterFull[] = "{google:baseURL}"; 48 const char kGoogleBaseURLParameterFull[] = "{google:baseURL}";
48 // Like google:baseURL, but for the Search Suggest capability. 49 // Like google:baseURL, but for the Search Suggest capability.
49 const char kGoogleBaseSuggestURLParameter[] = "google:baseSuggestURL"; 50 const char kGoogleBaseSuggestURLParameter[] = "google:baseSuggestURL";
50 const char kGoogleBaseSuggestURLParameterFull[] = "{google:baseSuggestURL}"; 51 const char kGoogleBaseSuggestURLParameterFull[] = "{google:baseSuggestURL}";
51 const char kGoogleInstantEnabledParameter[] = "google:instantEnabledParameter"; 52 const char kGoogleInstantEnabledParameter[] = "google:instantEnabledParameter";
52 const char kGoogleOriginalQueryForSuggestionParameter[] = 53 const char kGoogleOriginalQueryForSuggestionParameter[] =
53 "google:originalQueryForSuggestion"; 54 "google:originalQueryForSuggestion";
54 const char kGoogleRLZParameter[] = "google:RLZ"; 55 const char kGoogleRLZParameter[] = "google:RLZ";
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 } 120 }
120 121
121 TemplateURLRef::~TemplateURLRef() { 122 TemplateURLRef::~TemplateURLRef() {
122 } 123 }
123 124
124 std::string TemplateURLRef::GetURL() const { 125 std::string TemplateURLRef::GetURL() const {
125 switch (type_) { 126 switch (type_) {
126 case SEARCH: return owner_->url(); 127 case SEARCH: return owner_->url();
127 case SUGGEST: return owner_->suggestions_url(); 128 case SUGGEST: return owner_->suggestions_url();
128 case INSTANT: return owner_->instant_url(); 129 case INSTANT: return owner_->instant_url();
129 default: NOTREACHED(); return std::string(); 130 default:
Peter Kasting 2012/06/14 01:04:23 Don't muck with this, please
Bart N 2012/06/15 18:07:34 I think I got some warning and fixed that. Anyway,
131 NOTREACHED();
132 return std::string();
130 } 133 }
131 } 134 }
132 135
133 bool TemplateURLRef::SupportsReplacement() const { 136 bool TemplateURLRef::SupportsReplacement() const {
134 UIThreadSearchTermsData search_terms_data(owner_->profile()); 137 UIThreadSearchTermsData search_terms_data(owner_->profile());
135 return SupportsReplacementUsingTermsData(search_terms_data); 138 return SupportsReplacementUsingTermsData(search_terms_data);
136 } 139 }
137 140
138 bool TemplateURLRef::SupportsReplacementUsingTermsData( 141 bool TemplateURLRef::SupportsReplacementUsingTermsData(
139 const SearchTermsData& search_terms_data) const { 142 const SearchTermsData& search_terms_data) const {
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 bool TemplateURLRef::HasGoogleBaseURLs() const { 368 bool TemplateURLRef::HasGoogleBaseURLs() const {
366 ParseIfNecessary(); 369 ParseIfNecessary();
367 for (size_t i = 0; i < replacements_.size(); ++i) { 370 for (size_t i = 0; i < replacements_.size(); ++i) {
368 if ((replacements_[i].type == GOOGLE_BASE_URL) || 371 if ((replacements_[i].type == GOOGLE_BASE_URL) ||
369 (replacements_[i].type == GOOGLE_BASE_SUGGEST_URL)) 372 (replacements_[i].type == GOOGLE_BASE_SUGGEST_URL))
370 return true; 373 return true;
371 } 374 }
372 return false; 375 return false;
373 } 376 }
374 377
378 bool TemplateURLRef::SupportsAssistedQueryStats() const {
379 ParseIfNecessary();
380 for (size_t i = 0; i < replacements_.size(); ++i) {
381 if (replacements_[i].type == GOOGLE_ASSISTED_QUERY_STATS)
382 return true;
383 }
384 return false;
385 }
386
375 void TemplateURLRef::InvalidateCachedValues() const { 387 void TemplateURLRef::InvalidateCachedValues() const {
376 supports_replacements_ = valid_ = parsed_ = false; 388 supports_replacements_ = valid_ = parsed_ = false;
377 host_.clear(); 389 host_.clear();
378 path_.clear(); 390 path_.clear();
379 search_term_key_.clear(); 391 search_term_key_.clear();
380 replacements_.clear(); 392 replacements_.clear();
381 } 393 }
382 394
383 bool TemplateURLRef::ParseParameter(size_t start, 395 bool TemplateURLRef::ParseParameter(size_t start,
384 size_t end, 396 size_t end,
(...skipping 25 matching lines...) Expand all
410 url->insert(start, "1"); 422 url->insert(start, "1");
411 } else if (parameter == kLanguageParameter) { 423 } else if (parameter == kLanguageParameter) {
412 replacements->push_back(Replacement(LANGUAGE, start)); 424 replacements->push_back(Replacement(LANGUAGE, start));
413 } else if (parameter == kInputEncodingParameter) { 425 } else if (parameter == kInputEncodingParameter) {
414 replacements->push_back(Replacement(ENCODING, start)); 426 replacements->push_back(Replacement(ENCODING, start));
415 } else if (parameter == kOutputEncodingParameter) { 427 } else if (parameter == kOutputEncodingParameter) {
416 if (!optional) 428 if (!optional)
417 url->insert(start, kOutputEncodingType); 429 url->insert(start, kOutputEncodingType);
418 } else if (parameter == kGoogleAcceptedSuggestionParameter) { 430 } else if (parameter == kGoogleAcceptedSuggestionParameter) {
419 replacements->push_back(Replacement(GOOGLE_ACCEPTED_SUGGESTION, start)); 431 replacements->push_back(Replacement(GOOGLE_ACCEPTED_SUGGESTION, start));
432 } else if (parameter == kGoogleAssistedQueryStatsParameter) {
433 replacements->push_back(Replacement(GOOGLE_ASSISTED_QUERY_STATS, start));
420 } else if (parameter == kGoogleBaseURLParameter) { 434 } else if (parameter == kGoogleBaseURLParameter) {
421 replacements->push_back(Replacement(GOOGLE_BASE_URL, start)); 435 replacements->push_back(Replacement(GOOGLE_BASE_URL, start));
422 } else if (parameter == kGoogleBaseSuggestURLParameter) { 436 } else if (parameter == kGoogleBaseSuggestURLParameter) {
423 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start)); 437 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start));
424 } else if (parameter == kGoogleInstantEnabledParameter) { 438 } else if (parameter == kGoogleInstantEnabledParameter) {
425 replacements->push_back(Replacement(GOOGLE_INSTANT_ENABLED, start)); 439 replacements->push_back(Replacement(GOOGLE_INSTANT_ENABLED, start));
426 } else if (parameter == kGoogleOriginalQueryForSuggestionParameter) { 440 } else if (parameter == kGoogleOriginalQueryForSuggestionParameter) {
427 replacements->push_back(Replacement(GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION, 441 replacements->push_back(Replacement(GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION,
428 start)); 442 start));
429 } else if (parameter == kGoogleRLZParameter) { 443 } else if (parameter == kGoogleRLZParameter) {
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } 693 }
680 694
681 void TemplateURL::ResetKeywordIfNecessary(bool force) { 695 void TemplateURL::ResetKeywordIfNecessary(bool force) {
682 if (IsGoogleSearchURLWithReplaceableKeyword() || force) { 696 if (IsGoogleSearchURLWithReplaceableKeyword() || force) {
683 DCHECK(!IsExtensionKeyword()); 697 DCHECK(!IsExtensionKeyword());
684 GURL url(TemplateURLService::GenerateSearchURL(this)); 698 GURL url(TemplateURLService::GenerateSearchURL(this));
685 if (url.is_valid()) 699 if (url.is_valid())
686 data_.SetKeyword(TemplateURLService::GenerateKeyword(url)); 700 data_.SetKeyword(TemplateURLService::GenerateKeyword(url));
687 } 701 }
688 } 702 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698