summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/browser_main.cc')
-rw-r--r--chrome/browser/browser_main.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
index 76c94fd..c26ff0f 100644
--- a/chrome/browser/browser_main.cc
+++ b/chrome/browser/browser_main.cc
@@ -1506,11 +1506,16 @@ int BrowserMain(const MainFunctionParams& parameters) {
if (FirstRun::InSearchExperimentLocale() && record_search_engine) {
const TemplateURL* default_search_engine =
profile->GetTemplateURLModel()->GetDefaultSearchProvider();
+ // The default engine can be NULL if the administrator has disabled
+ // default search.
+ TemplateURLPrepopulateData::SearchEngineType search_engine_type =
+ default_search_engine ? default_search_engine->search_engine_type() :
+ TemplateURLPrepopulateData::SEARCH_ENGINE_OTHER;
// Record the search engine chosen.
if (master_prefs.run_search_engine_experiment) {
UMA_HISTOGRAM_ENUMERATION(
"Chrome.SearchSelectExperiment",
- default_search_engine->search_engine_type(),
+ search_engine_type,
TemplateURLPrepopulateData::SEARCH_ENGINE_MAX);
// If the selection has been randomized, also record the winner by slot.
if (master_prefs.randomize_search_engine_experiment) {
@@ -1522,7 +1527,7 @@ int BrowserMain(const MainFunctionParams& parameters) {
experiment_type.push_back('1' + engine_pos);
UMA_HISTOGRAM_ENUMERATION(
experiment_type,
- default_search_engine->search_engine_type(),
+ search_engine_type,
TemplateURLPrepopulateData::SEARCH_ENGINE_MAX);
} else {
NOTREACHED() << "Invalid search engine selection slot.";
@@ -1531,7 +1536,7 @@ int BrowserMain(const MainFunctionParams& parameters) {
} else {
UMA_HISTOGRAM_ENUMERATION(
"Chrome.SearchSelectExempt",
- default_search_engine->search_engine_type(),
+ search_engine_type,
TemplateURLPrepopulateData::SEARCH_ENGINE_MAX);
}
}