diff options
author | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-01 18:18:31 +0000 |
---|---|---|
committer | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-01 18:18:31 +0000 |
commit | f9d0d4e7fdbc1af24863ea6f3c747b91c9f4d1ab (patch) | |
tree | 3c11f946209a676f96fd57620636b68b69e30e31 /chrome/browser/search_engines | |
parent | 0d475f27b6240d8003fdbf2f22aa4d223259b7b0 (diff) | |
download | chromium_src-f9d0d4e7fdbc1af24863ea6f3c747b91c9f4d1ab.zip chromium_src-f9d0d4e7fdbc1af24863ea6f3c747b91c9f4d1ab.tar.gz chromium_src-f9d0d4e7fdbc1af24863ea6f3c747b91c9f4d1ab.tar.bz2 |
Add --google-base-url, which sets the Google base URL used in various
search/suggest/instant URLs.
BUG=249197
TEST=Run with --google-base-url=http://foo.com/, try to search from the omnibox, see it try to load URLs on foo.com
R=jered@chromium.org
Review URL: https://codereview.chromium.org/18100003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209457 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/search_engines')
-rw-r--r-- | chrome/browser/search_engines/search_terms_data.cc | 6 | ||||
-rw-r--r-- | chrome/browser/search_engines/template_url_prepopulate_data_unittest.cc | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/search_engines/search_terms_data.cc b/chrome/browser/search_engines/search_terms_data.cc index 86f72be..ee1043f 100644 --- a/chrome/browser/search_engines/search_terms_data.cc +++ b/chrome/browser/search_engines/search_terms_data.cc @@ -4,6 +4,7 @@ #include "chrome/browser/search_engines/search_terms_data.h" +#include "base/command_line.h" #include "base/logging.h" #include "base/metrics/field_trial.h" #include "base/prefs/pref_service.h" @@ -15,6 +16,7 @@ #include "chrome/browser/search/search.h" #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" +#include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "content/public/browser/browser_thread.h" #include "googleurl/src/gurl.h" @@ -97,6 +99,10 @@ std::string UIThreadSearchTermsData::GoogleBaseURLValue() const { BrowserThread::CurrentlyOn(BrowserThread::UI)); if (google_base_url_) return *google_base_url_; + std::string base_url = CommandLine::ForCurrentProcess()-> + GetSwitchValueASCII(switches::kGoogleBaseURL); + if (!base_url.empty()) + return base_url; return profile_ ? GoogleURLTracker::GoogleURL(profile_).spec() : SearchTermsData::GoogleBaseURLValue(); } diff --git a/chrome/browser/search_engines/template_url_prepopulate_data_unittest.cc b/chrome/browser/search_engines/template_url_prepopulate_data_unittest.cc index cf6799f..1c1245b 100644 --- a/chrome/browser/search_engines/template_url_prepopulate_data_unittest.cc +++ b/chrome/browser/search_engines/template_url_prepopulate_data_unittest.cc @@ -313,6 +313,16 @@ TEST_F(TemplateURLPrepopulateDataTest, GetEngineTypeAdvanced) { "http://example.net/search?q={searchTerms}")); EXPECT_EQ(SEARCH_ENGINE_OTHER, TemplateURLPrepopulateData::GetEngineType("invalid:search:url")); + + // URL that doesn't look Google-related, but matches a Google base URL + // specified on the command line. + const std::string foo_url("http://www.foo.com/search?q={searchTerms}"); + EXPECT_EQ(SEARCH_ENGINE_OTHER, + TemplateURLPrepopulateData::GetEngineType(foo_url)); + CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kGoogleBaseURL, + "http://www.foo.com/"); + EXPECT_EQ(SEARCH_ENGINE_GOOGLE, + TemplateURLPrepopulateData::GetEngineType(foo_url)); } TEST(TemplateURLPrepopulateDataTest, GetLogoURLGoogle) { |