Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/search_engines/detect_desktop_search_win.h" | 5 #include "components/search_engines/desktop_search_win.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/prefs/pref_service.h" | |
| 10 #include "base/strings/string_util.h" | 11 #include "base/strings/string_util.h" |
| 12 #include "components/pref_registry/pref_registry_syncable.h" | |
| 11 #include "components/search_engines/prepopulated_engines.h" | 13 #include "components/search_engines/prepopulated_engines.h" |
| 12 #include "components/search_engines/template_url.h" | 14 #include "components/search_engines/template_url.h" |
| 13 #include "components/search_engines/template_url_prepopulate_data.h" | 15 #include "components/search_engines/template_url_prepopulate_data.h" |
| 14 #include "net/base/url_util.h" | 16 #include "net/base/url_util.h" |
| 15 | 17 |
| 18 namespace { | |
| 19 // Name of the Windows desktop search redirection preference. | |
| 20 const char kWindowsDesktopSearchRedirectionPref[] = | |
| 21 "windows_desktop_search_redirection"; | |
| 22 } // namespace | |
| 23 | |
| 24 const base::Feature kWindowsDesktopSearchRedirectionFeature = { | |
|
Peter Kasting
2015/12/01 02:23:05
Nit: If you remove the .h declaration, you can dec
fdoray
2015/12/02 17:28:27
See other comment. It needs to be declared in the
| |
| 25 "WindowsDesktopSearchRedirection", base::FEATURE_DISABLED_BY_DEFAULT | |
| 26 }; | |
| 27 | |
| 28 void RegisterWindowsDesktopSearchRedirectionPref( | |
| 29 user_prefs::PrefRegistrySyncable* registry) { | |
| 30 registry->RegisterBooleanPref(kWindowsDesktopSearchRedirectionPref, false); | |
| 31 } | |
| 32 | |
| 33 WindowsDesktopSearchRedirectionPref GetWindowsDesktopSearchRedirectionPref( | |
| 34 PrefService* pref_service) { | |
| 35 const PrefService::Preference* preference = | |
| 36 pref_service->FindPreference(kWindowsDesktopSearchRedirectionPref); | |
| 37 DCHECK(preference); | |
| 38 if (preference->IsDefaultValue()) | |
| 39 return WindowsDesktopSearchRedirectionPref::UNSET; | |
| 40 | |
| 41 bool pref_value = false; | |
| 42 const bool has_boolean_value = | |
| 43 preference->GetValue()->GetAsBoolean(&pref_value); | |
| 44 DCHECK(has_boolean_value); | |
| 45 | |
| 46 if (pref_value) | |
| 47 return WindowsDesktopSearchRedirectionPref::ENABLED; | |
| 48 return WindowsDesktopSearchRedirectionPref::DISABLED; | |
|
Peter Kasting
2015/12/01 02:23:05
Nit: Simpler:
return pref_value ? WindowsDeskto
fdoray
2015/12/02 17:28:27
This code is gone now.
| |
| 49 } | |
| 50 | |
| 51 bool WindowsDesktopSearchRedirectionFeatureIsEnabled() { | |
| 52 return base::FeatureList::IsEnabled(kWindowsDesktopSearchRedirectionFeature); | |
| 53 } | |
| 54 | |
| 16 bool DetectWindowsDesktopSearch(const GURL& url, | 55 bool DetectWindowsDesktopSearch(const GURL& url, |
| 17 const SearchTermsData& search_terms_data, | 56 const SearchTermsData& search_terms_data, |
| 18 base::string16* search_terms) { | 57 base::string16* search_terms) { |
| 19 DCHECK(search_terms); | 58 DCHECK(search_terms); |
| 20 | 59 |
| 21 scoped_ptr<TemplateURLData> template_url_data = | 60 scoped_ptr<TemplateURLData> template_url_data = |
| 22 TemplateURLPrepopulateData::MakeTemplateURLDataFromPrepopulatedEngine( | 61 TemplateURLPrepopulateData::MakeTemplateURLDataFromPrepopulatedEngine( |
| 23 TemplateURLPrepopulateData::bing); | 62 TemplateURLPrepopulateData::bing); |
| 24 TemplateURL template_url(*template_url_data); | 63 TemplateURL template_url(*template_url_data); |
| 25 | 64 |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 39 if (base::EqualsCaseInsensitiveASCII(it.GetKey(), kBingSourceQueryKey)) { | 78 if (base::EqualsCaseInsensitiveASCII(it.GetKey(), kBingSourceQueryKey)) { |
| 40 std::string source = it.GetValue(); | 79 std::string source = it.GetValue(); |
| 41 if (source == kBingSourceDesktopText || source == kBingSourceDesktopVoice) | 80 if (source == kBingSourceDesktopText || source == kBingSourceDesktopVoice) |
| 42 return true; | 81 return true; |
| 43 } | 82 } |
| 44 } | 83 } |
| 45 | 84 |
| 46 search_terms->clear(); | 85 search_terms->clear(); |
| 47 return false; | 86 return false; |
| 48 } | 87 } |
| OLD | NEW |