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 |