Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/search_engines/template_url_service.h" | 5 #include "chrome/browser/search_engines/template_url_service.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 #include "chrome/browser/extensions/extension_service.h" | 26 #include "chrome/browser/extensions/extension_service.h" |
| 27 #include "chrome/browser/google/google_url_tracker.h" | 27 #include "chrome/browser/google/google_url_tracker.h" |
| 28 #include "chrome/browser/history/history_notifications.h" | 28 #include "chrome/browser/history/history_notifications.h" |
| 29 #include "chrome/browser/history/history_service.h" | 29 #include "chrome/browser/history/history_service.h" |
| 30 #include "chrome/browser/history/history_service_factory.h" | 30 #include "chrome/browser/history/history_service_factory.h" |
| 31 #include "chrome/browser/profiles/profile.h" | 31 #include "chrome/browser/profiles/profile.h" |
| 32 #include "chrome/browser/rlz/rlz.h" | 32 #include "chrome/browser/rlz/rlz.h" |
| 33 #include "chrome/browser/search_engines/search_host_to_urls_map.h" | 33 #include "chrome/browser/search_engines/search_host_to_urls_map.h" |
| 34 #include "chrome/browser/search_engines/search_terms_data.h" | 34 #include "chrome/browser/search_engines/search_terms_data.h" |
| 35 #include "chrome/browser/search_engines/template_url.h" | 35 #include "chrome/browser/search_engines/template_url.h" |
| 36 #include "chrome/browser/search_engines/template_url_keys.h" | |
| 36 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" | 37 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" |
| 37 #include "chrome/browser/search_engines/template_url_service_observer.h" | 38 #include "chrome/browser/search_engines/template_url_service_observer.h" |
| 38 #include "chrome/browser/search_engines/util.h" | 39 #include "chrome/browser/search_engines/util.h" |
| 39 #include "chrome/browser/webdata/web_data_service.h" | 40 #include "chrome/browser/webdata/web_data_service.h" |
| 40 #include "chrome/common/chrome_switches.h" | 41 #include "chrome/common/chrome_switches.h" |
| 41 #include "chrome/common/env_vars.h" | 42 #include "chrome/common/env_vars.h" |
| 42 #include "chrome/common/extensions/api/omnibox/omnibox_handler.h" | 43 #include "chrome/common/extensions/api/omnibox/omnibox_handler.h" |
| 43 #include "chrome/common/net/url_fixer_upper.h" | 44 #include "chrome/common/net/url_fixer_upper.h" |
| 44 #include "chrome/common/pref_names.h" | 45 #include "chrome/common/pref_names.h" |
| 45 #include "chrome/common/url_constants.h" | 46 #include "chrome/common/url_constants.h" |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 284 load_handle_(0), | 285 load_handle_(0), |
| 285 default_search_provider_(NULL), | 286 default_search_provider_(NULL), |
| 286 is_default_search_managed_(false), | 287 is_default_search_managed_(false), |
| 287 next_id_(kInvalidTemplateURLID + 1), | 288 next_id_(kInvalidTemplateURLID + 1), |
| 288 time_provider_(&base::Time::Now), | 289 time_provider_(&base::Time::Now), |
| 289 models_associated_(false), | 290 models_associated_(false), |
| 290 processing_syncer_changes_(false), | 291 processing_syncer_changes_(false), |
| 291 pending_synced_default_search_(false), | 292 pending_synced_default_search_(false), |
| 292 dsp_change_origin_(DSP_CHANGE_OTHER) { | 293 dsp_change_origin_(DSP_CHANGE_OTHER) { |
| 293 DCHECK(profile_); | 294 DCHECK(profile_); |
| 295 default_search_manager_.reset(new DefaultSearchManager(GetPrefs())); | |
| 294 Init(NULL, 0); | 296 Init(NULL, 0); |
| 295 } | 297 } |
| 296 | 298 |
| 297 TemplateURLService::TemplateURLService(const Initializer* initializers, | 299 TemplateURLService::TemplateURLService(const Initializer* initializers, |
| 298 const int count) | 300 const int count) |
| 299 : provider_map_(new SearchHostToURLsMap), | 301 : provider_map_(new SearchHostToURLsMap), |
| 300 profile_(NULL), | 302 profile_(NULL), |
| 301 loaded_(false), | 303 loaded_(false), |
| 302 load_failed_(false), | 304 load_failed_(false), |
| 303 load_handle_(0), | 305 load_handle_(0), |
| 304 service_(NULL), | 306 service_(NULL), |
| 305 default_search_provider_(NULL), | 307 default_search_provider_(NULL), |
| 306 is_default_search_managed_(false), | 308 is_default_search_managed_(false), |
| 307 next_id_(kInvalidTemplateURLID + 1), | 309 next_id_(kInvalidTemplateURLID + 1), |
| 308 time_provider_(&base::Time::Now), | 310 time_provider_(&base::Time::Now), |
| 309 models_associated_(false), | 311 models_associated_(false), |
| 310 processing_syncer_changes_(false), | 312 processing_syncer_changes_(false), |
| 311 pending_synced_default_search_(false), | 313 pending_synced_default_search_(false), |
| 312 dsp_change_origin_(DSP_CHANGE_OTHER) { | 314 dsp_change_origin_(DSP_CHANGE_OTHER) { |
| 315 default_search_manager_.reset(new DefaultSearchManager(GetPrefs())); | |
|
gab
2014/04/23 20:00:18
Initialize in initializer lists rather than in the
Cait (Slow)
2014/04/23 23:26:55
DefaultSearchManager takes a PrefService as input,
| |
| 313 Init(initializers, count); | 316 Init(initializers, count); |
| 314 } | 317 } |
| 315 | 318 |
| 316 TemplateURLService::~TemplateURLService() { | 319 TemplateURLService::~TemplateURLService() { |
| 317 // |service_| should be deleted during Shutdown(). | 320 // |service_| should be deleted during Shutdown(). |
| 318 DCHECK(!service_); | 321 DCHECK(!service_); |
| 319 STLDeleteElements(&template_urls_); | 322 STLDeleteElements(&template_urls_); |
| 320 } | 323 } |
| 321 | 324 |
| 322 // static | 325 // static |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 671 return !is_default_search_managed() && | 674 return !is_default_search_managed() && |
| 672 !IsExtensionControlledDefaultSearch() && | 675 !IsExtensionControlledDefaultSearch() && |
| 673 (url != GetDefaultSearchProvider()) && | 676 (url != GetDefaultSearchProvider()) && |
| 674 url->url_ref().SupportsReplacement() && | 677 url->url_ref().SupportsReplacement() && |
| 675 (url->GetType() == TemplateURL::NORMAL); | 678 (url->GetType() == TemplateURL::NORMAL); |
| 676 } | 679 } |
| 677 | 680 |
| 678 void TemplateURLService::SetUserSelectedDefaultSearchProvider( | 681 void TemplateURLService::SetUserSelectedDefaultSearchProvider( |
| 679 TemplateURL* url) { | 682 TemplateURL* url) { |
| 680 SetDefaultSearchProvider(url); | 683 SetDefaultSearchProvider(url); |
| 684 default_search_manager_->SaveToPrefService(url->data()); | |
| 681 } | 685 } |
| 682 | 686 |
| 683 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { | 687 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { |
| 684 if (loaded_ && !load_failed_) | 688 if (loaded_ && !load_failed_) |
| 685 return default_search_provider_; | 689 return default_search_provider_; |
| 686 // We're not loaded, rely on the default search provider stored in prefs. | 690 // We're not loaded, rely on the default search provider stored in prefs. |
| 687 return initial_default_search_provider_.get(); | 691 return initial_default_search_provider_.get(); |
| 688 } | 692 } |
| 689 | 693 |
| 690 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( | 694 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( |
| (...skipping 2056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2747 new_dse = *i; | 2751 new_dse = *i; |
| 2748 break; | 2752 break; |
| 2749 } | 2753 } |
| 2750 } | 2754 } |
| 2751 } | 2755 } |
| 2752 } | 2756 } |
| 2753 if (!new_dse) | 2757 if (!new_dse) |
| 2754 new_dse = FindNewDefaultSearchProvider(); | 2758 new_dse = FindNewDefaultSearchProvider(); |
| 2755 SetDefaultSearchProviderNoNotify(new_dse); | 2759 SetDefaultSearchProviderNoNotify(new_dse); |
| 2756 } | 2760 } |
| OLD | NEW |