summaryrefslogtreecommitdiffstats
path: root/chrome/browser/search_engines
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-01 18:18:31 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-01 18:18:31 +0000
commitf9d0d4e7fdbc1af24863ea6f3c747b91c9f4d1ab (patch)
tree3c11f946209a676f96fd57620636b68b69e30e31 /chrome/browser/search_engines
parent0d475f27b6240d8003fdbf2f22aa4d223259b7b0 (diff)
downloadchromium_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.cc6
-rw-r--r--chrome/browser/search_engines/template_url_prepopulate_data_unittest.cc10
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) {