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

Side by Side Diff: chrome/browser/autocomplete/base_search_provider.cc

Issue 343523003: Remove AutocompleteInput Type and PageClassification. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/autocomplete/base_search_provider.h" 5 #include "chrome/browser/autocomplete/base_search_provider.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/json/json_string_value_serializer.h" 9 #include "base/json/json_string_value_serializer.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/search/search.h" 22 #include "chrome/browser/search/search.h"
23 #include "chrome/browser/search_engines/template_url.h" 23 #include "chrome/browser/search_engines/template_url.h"
24 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" 24 #include "chrome/browser/search_engines/template_url_prepopulate_data.h"
25 #include "chrome/browser/search_engines/template_url_service.h" 25 #include "chrome/browser/search_engines/template_url_service.h"
26 #include "chrome/browser/search_engines/template_url_service_factory.h" 26 #include "chrome/browser/search_engines/template_url_service_factory.h"
27 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h" 27 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h"
28 #include "chrome/browser/sync/profile_sync_service.h" 28 #include "chrome/browser/sync/profile_sync_service.h"
29 #include "chrome/browser/sync/profile_sync_service_factory.h" 29 #include "chrome/browser/sync/profile_sync_service_factory.h"
30 #include "chrome/common/pref_names.h" 30 #include "chrome/common/pref_names.h"
31 #include "components/autocomplete/url_prefix.h" 31 #include "components/autocomplete/url_prefix.h"
32 #include "components/metrics/proto/omnibox_event.pb.h"
32 #include "components/metrics/proto/omnibox_input_type.pb.h" 33 #include "components/metrics/proto/omnibox_input_type.pb.h"
33 #include "components/sync_driver/sync_prefs.h" 34 #include "components/sync_driver/sync_prefs.h"
34 #include "components/url_fixer/url_fixer.h" 35 #include "components/url_fixer/url_fixer.h"
35 #include "content/public/common/url_constants.h" 36 #include "content/public/common/url_constants.h"
36 #include "net/base/escape.h" 37 #include "net/base/escape.h"
37 #include "net/base/net_util.h" 38 #include "net/base/net_util.h"
38 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" 39 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
39 #include "net/http/http_response_headers.h" 40 #include "net/http/http_response_headers.h"
40 #include "net/url_request/url_fetcher.h" 41 #include "net/url_request/url_fetcher.h"
41 #include "net/url_request/url_fetcher_delegate.h" 42 #include "net/url_request/url_fetcher_delegate.h"
42 #include "url/gurl.h" 43 #include "url/gurl.h"
43 44
45 using metrics::OmniboxEventProto;
46
44 namespace { 47 namespace {
45 48
46 AutocompleteMatchType::Type GetAutocompleteMatchType(const std::string& type) { 49 AutocompleteMatchType::Type GetAutocompleteMatchType(const std::string& type) {
47 if (type == "ENTITY") 50 if (type == "ENTITY")
48 return AutocompleteMatchType::SEARCH_SUGGEST_ENTITY; 51 return AutocompleteMatchType::SEARCH_SUGGEST_ENTITY;
49 if (type == "INFINITE") 52 if (type == "INFINITE")
50 return AutocompleteMatchType::SEARCH_SUGGEST_INFINITE; 53 return AutocompleteMatchType::SEARCH_SUGGEST_INFINITE;
51 if (type == "PERSONALIZED_QUERY") 54 if (type == "PERSONALIZED_QUERY")
52 return AutocompleteMatchType::SEARCH_SUGGEST_PERSONALIZED; 55 return AutocompleteMatchType::SEARCH_SUGGEST_PERSONALIZED;
53 if (type == "PROFILE") 56 if (type == "PROFILE")
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 if (error_code == 0) 582 if (error_code == 0)
580 return data.Pass(); 583 return data.Pass();
581 } 584 }
582 return scoped_ptr<base::Value>(); 585 return scoped_ptr<base::Value>();
583 } 586 }
584 587
585 // static 588 // static
586 bool BaseSearchProvider::ZeroSuggestEnabled( 589 bool BaseSearchProvider::ZeroSuggestEnabled(
587 const GURL& suggest_url, 590 const GURL& suggest_url,
588 const TemplateURL* template_url, 591 const TemplateURL* template_url,
589 AutocompleteInput::PageClassification page_classification, 592 OmniboxEventProto::PageClassification page_classification,
590 Profile* profile) { 593 Profile* profile) {
591 if (!OmniboxFieldTrial::InZeroSuggestFieldTrial()) 594 if (!OmniboxFieldTrial::InZeroSuggestFieldTrial())
592 return false; 595 return false;
593 596
594 // Make sure we are sending the suggest request through HTTPS to prevent 597 // Make sure we are sending the suggest request through HTTPS to prevent
595 // exposing the current page URL or personalized results without encryption. 598 // exposing the current page URL or personalized results without encryption.
596 if (!suggest_url.SchemeIs(url::kHttpsScheme)) 599 if (!suggest_url.SchemeIs(url::kHttpsScheme))
597 return false; 600 return false;
598 601
599 // Don't show zero suggest on the NTP. 602 // Don't show zero suggest on the NTP.
600 // TODO(hfung): Experiment with showing MostVisited zero suggest on NTP 603 // TODO(hfung): Experiment with showing MostVisited zero suggest on NTP
601 // under the conditions described in crbug.com/305366. 604 // under the conditions described in crbug.com/305366.
602 if ((page_classification == 605 if ((page_classification ==
603 AutocompleteInput::INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS) || 606 OmniboxEventProto::INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS) ||
604 (page_classification == 607 (page_classification ==
605 AutocompleteInput::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS)) 608 OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS))
606 return false; 609 return false;
607 610
608 // Don't run if there's no profile or in incognito mode. 611 // Don't run if there's no profile or in incognito mode.
609 if (profile == NULL || profile->IsOffTheRecord()) 612 if (profile == NULL || profile->IsOffTheRecord())
610 return false; 613 return false;
611 614
612 // Don't run if we can't get preferences or search suggest is not enabled. 615 // Don't run if we can't get preferences or search suggest is not enabled.
613 PrefService* prefs = profile->GetPrefs(); 616 PrefService* prefs = profile->GetPrefs();
614 if (!prefs->GetBoolean(prefs::kSearchSuggestEnabled)) 617 if (!prefs->GetBoolean(prefs::kSearchSuggestEnabled))
615 return false; 618 return false;
616 619
617 // Only make the request if we know that the provider supports zero suggest 620 // Only make the request if we know that the provider supports zero suggest
618 // (currently only the prepopulated Google provider). 621 // (currently only the prepopulated Google provider).
619 UIThreadSearchTermsData search_terms_data(profile); 622 UIThreadSearchTermsData search_terms_data(profile);
620 if (template_url == NULL || 623 if (template_url == NULL ||
621 !template_url->SupportsReplacement(search_terms_data) || 624 !template_url->SupportsReplacement(search_terms_data) ||
622 TemplateURLPrepopulateData::GetEngineType( 625 TemplateURLPrepopulateData::GetEngineType(
623 *template_url, search_terms_data) != SEARCH_ENGINE_GOOGLE) 626 *template_url, search_terms_data) != SEARCH_ENGINE_GOOGLE)
624 return false; 627 return false;
625 628
626 return true; 629 return true;
627 } 630 }
628 631
629 // static 632 // static
630 bool BaseSearchProvider::CanSendURL( 633 bool BaseSearchProvider::CanSendURL(
631 const GURL& current_page_url, 634 const GURL& current_page_url,
632 const GURL& suggest_url, 635 const GURL& suggest_url,
633 const TemplateURL* template_url, 636 const TemplateURL* template_url,
634 AutocompleteInput::PageClassification page_classification, 637 OmniboxEventProto::PageClassification page_classification,
635 Profile* profile) { 638 Profile* profile) {
636 if (!ZeroSuggestEnabled(suggest_url, template_url, page_classification, 639 if (!ZeroSuggestEnabled(suggest_url, template_url, page_classification,
637 profile)) 640 profile))
638 return false; 641 return false;
639 642
640 if (!current_page_url.is_valid()) 643 if (!current_page_url.is_valid())
641 return false; 644 return false;
642 645
643 // Only allow HTTP URLs or HTTPS URLs for the same domain as the search 646 // Only allow HTTP URLs or HTTPS URLs for the same domain as the search
644 // provider. 647 // provider.
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 } 980 }
978 981
979 void BaseSearchProvider::OnDeletionComplete( 982 void BaseSearchProvider::OnDeletionComplete(
980 bool success, SuggestionDeletionHandler* handler) { 983 bool success, SuggestionDeletionHandler* handler) {
981 RecordDeletionResult(success); 984 RecordDeletionResult(success);
982 SuggestionDeletionHandlers::iterator it = std::find( 985 SuggestionDeletionHandlers::iterator it = std::find(
983 deletion_handlers_.begin(), deletion_handlers_.end(), handler); 986 deletion_handlers_.begin(), deletion_handlers_.end(), handler);
984 DCHECK(it != deletion_handlers_.end()); 987 DCHECK(it != deletion_handlers_.end());
985 deletion_handlers_.erase(it); 988 deletion_handlers_.erase(it);
986 } 989 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/base_search_provider.h ('k') | chrome/browser/autocomplete/bookmark_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698