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), |
(...skipping 368 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 if (url) |
| 684 default_search_manager_->SetUserSelectedDefaultSearchEngine(url->data()); |
| 685 else |
| 686 default_search_manager_->ClearUserSelectedDefaultSearchEngine(); |
| 687 } |
681 } | 688 } |
682 | 689 |
683 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { | 690 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { |
684 if (loaded_ && !load_failed_) | 691 if (loaded_ && !load_failed_) |
685 return default_search_provider_; | 692 return default_search_provider_; |
686 // We're not loaded, rely on the default search provider stored in prefs. | 693 // We're not loaded, rely on the default search provider stored in prefs. |
687 return initial_default_search_provider_.get(); | 694 return initial_default_search_provider_.get(); |
688 } | 695 } |
689 | 696 |
690 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( | 697 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( |
(...skipping 2056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2747 new_dse = *i; | 2754 new_dse = *i; |
2748 break; | 2755 break; |
2749 } | 2756 } |
2750 } | 2757 } |
2751 } | 2758 } |
2752 } | 2759 } |
2753 if (!new_dse) | 2760 if (!new_dse) |
2754 new_dse = FindNewDefaultSearchProvider(); | 2761 new_dse = FindNewDefaultSearchProvider(); |
2755 SetDefaultSearchProviderNoNotify(new_dse); | 2762 SetDefaultSearchProviderNoNotify(new_dse); |
2756 } | 2763 } |
OLD | NEW |