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 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
282 loaded_(false), | 282 loaded_(false), |
283 load_failed_(false), | 283 load_failed_(false), |
284 load_handle_(0), | 284 load_handle_(0), |
285 default_search_provider_(NULL), | 285 default_search_provider_(NULL), |
286 is_default_search_managed_(false), | 286 is_default_search_managed_(false), |
287 next_id_(kInvalidTemplateURLID + 1), | 287 next_id_(kInvalidTemplateURLID + 1), |
288 time_provider_(&base::Time::Now), | 288 time_provider_(&base::Time::Now), |
289 models_associated_(false), | 289 models_associated_(false), |
290 processing_syncer_changes_(false), | 290 processing_syncer_changes_(false), |
291 pending_synced_default_search_(false), | 291 pending_synced_default_search_(false), |
292 dsp_change_origin_(DSP_CHANGE_OTHER) { | 292 dsp_change_origin_(DSP_CHANGE_OTHER), |
293 default_search_manager_(new DefaultSearchManager(GetPrefs())) { | |
293 DCHECK(profile_); | 294 DCHECK(profile_); |
294 Init(NULL, 0); | 295 Init(NULL, 0); |
295 } | 296 } |
296 | 297 |
297 TemplateURLService::TemplateURLService(const Initializer* initializers, | 298 TemplateURLService::TemplateURLService(const Initializer* initializers, |
298 const int count) | 299 const int count) |
299 : provider_map_(new SearchHostToURLsMap), | 300 : provider_map_(new SearchHostToURLsMap), |
300 profile_(NULL), | 301 profile_(NULL), |
301 loaded_(false), | 302 loaded_(false), |
302 load_failed_(false), | 303 load_failed_(false), |
303 load_handle_(0), | 304 load_handle_(0), |
304 service_(NULL), | 305 service_(NULL), |
305 default_search_provider_(NULL), | 306 default_search_provider_(NULL), |
306 is_default_search_managed_(false), | 307 is_default_search_managed_(false), |
307 next_id_(kInvalidTemplateURLID + 1), | 308 next_id_(kInvalidTemplateURLID + 1), |
308 time_provider_(&base::Time::Now), | 309 time_provider_(&base::Time::Now), |
309 models_associated_(false), | 310 models_associated_(false), |
310 processing_syncer_changes_(false), | 311 processing_syncer_changes_(false), |
311 pending_synced_default_search_(false), | 312 pending_synced_default_search_(false), |
312 dsp_change_origin_(DSP_CHANGE_OTHER) { | 313 dsp_change_origin_(DSP_CHANGE_OTHER) { |
gab
2014/04/24 15:00:44
Why not set it in the test constructor? (apologies
| |
313 Init(initializers, count); | 314 Init(initializers, count); |
314 } | 315 } |
315 | 316 |
316 TemplateURLService::~TemplateURLService() { | 317 TemplateURLService::~TemplateURLService() { |
317 // |service_| should be deleted during Shutdown(). | 318 // |service_| should be deleted during Shutdown(). |
318 DCHECK(!service_); | 319 DCHECK(!service_); |
319 STLDeleteElements(&template_urls_); | 320 STLDeleteElements(&template_urls_); |
320 } | 321 } |
321 | 322 |
322 // static | 323 // static |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
671 return !is_default_search_managed() && | 672 return !is_default_search_managed() && |
672 !IsExtensionControlledDefaultSearch() && | 673 !IsExtensionControlledDefaultSearch() && |
673 (url != GetDefaultSearchProvider()) && | 674 (url != GetDefaultSearchProvider()) && |
674 url->url_ref().SupportsReplacement() && | 675 url->url_ref().SupportsReplacement() && |
675 (url->GetType() == TemplateURL::NORMAL); | 676 (url->GetType() == TemplateURL::NORMAL); |
676 } | 677 } |
677 | 678 |
678 void TemplateURLService::SetUserSelectedDefaultSearchProvider( | 679 void TemplateURLService::SetUserSelectedDefaultSearchProvider( |
679 TemplateURL* url) { | 680 TemplateURL* url) { |
680 SetDefaultSearchProvider(url); | 681 SetDefaultSearchProvider(url); |
682 if (default_search_manager_) | |
683 default_search_manager_->SetUserSelectedDefaultSearchEngine(url->data()); | |
681 } | 684 } |
682 | 685 |
683 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { | 686 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { |
684 if (loaded_ && !load_failed_) | 687 if (loaded_ && !load_failed_) |
685 return default_search_provider_; | 688 return default_search_provider_; |
686 // We're not loaded, rely on the default search provider stored in prefs. | 689 // We're not loaded, rely on the default search provider stored in prefs. |
687 return initial_default_search_provider_.get(); | 690 return initial_default_search_provider_.get(); |
688 } | 691 } |
689 | 692 |
690 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( | 693 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( |
(...skipping 2056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2747 new_dse = *i; | 2750 new_dse = *i; |
2748 break; | 2751 break; |
2749 } | 2752 } |
2750 } | 2753 } |
2751 } | 2754 } |
2752 } | 2755 } |
2753 if (!new_dse) | 2756 if (!new_dse) |
2754 new_dse = FindNewDefaultSearchProvider(); | 2757 new_dse = FindNewDefaultSearchProvider(); |
2755 SetDefaultSearchProviderNoNotify(new_dse); | 2758 SetDefaultSearchProviderNoNotify(new_dse); |
2756 } | 2759 } |
OLD | NEW |