Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: chrome/browser/search_engines/default_search_manager.h

Issue 268643002: Use the DefaultSearchManager as the exclusive authority on DSE, ignoring Web Data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix the KeywordEditorControllerTest. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/search_engines/default_search_manager.h
diff --git a/chrome/browser/search_engines/default_search_manager.h b/chrome/browser/search_engines/default_search_manager.h
index c8f08a4c30acb983bb88f40c7e22fd5e1d93a7ef..44abb81284572e886c4895efa255b41080bad74c 100644
--- a/chrome/browser/search_engines/default_search_manager.h
+++ b/chrome/browser/search_engines/default_search_manager.h
@@ -5,6 +5,7 @@
#ifndef CHROME_BROWSER_SEARCH_ENGINES_DEFAULT_SEARCH_MANAGER_H_
#define CHROME_BROWSER_SEARCH_ENGINES_DEFAULT_SEARCH_MANAGER_H_
+#include "base/callback.h"
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "base/prefs/pref_change_registrar.h"
@@ -30,6 +31,8 @@ struct TemplateURLData;
class DefaultSearchManager {
public:
+ static const char kDefaultSearchProviderDataPrefName[];
+
static const char kID[];
static const char kShortName[];
static const char kKeyword[];
@@ -68,7 +71,12 @@ class DefaultSearchManager {
FROM_POLICY,
};
- explicit DefaultSearchManager(PrefService* pref_service);
+
Peter Kasting 2014/05/03 00:28:18 Nit: Extra newline
erikwright (departed) 2014/05/05 01:49:38 Done.
+ typedef base::Callback<void(const TemplateURLData*, Source)> ObserverCallback;
+
+ DefaultSearchManager(PrefService* pref_service,
+ const ObserverCallback& change_observer);
+
~DefaultSearchManager();
// Register prefs needed for tracking the default search provider.
@@ -78,9 +86,10 @@ class DefaultSearchManager {
static void AddPrefValueToMap(base::DictionaryValue* value,
PrefValueMap* pref_value_map);
- // Gets a pointer to the current DefaultSearchEngine. If NULL, indicates that
- // Default Search is explicitly disabled.
- TemplateURLData* GetDefaultSearchEngine() const;
+ // Gets a pointer to the current Default Search Engine. If NULL, indicates
+ // that Default Search is explicitly disabled. |source|, if not NULL, will be
+ // filled in with the source of the result.
+ TemplateURLData* GetDefaultSearchEngine(Source* source) const;
// Write default search provider data to |pref_service_|.
void SetUserSelectedDefaultSearchEngine(const TemplateURLData& data);
@@ -99,28 +108,36 @@ class DefaultSearchManager {
// engine will be defined by policy, extensions, or pre-populated data.
void ClearUserSelectedDefaultSearchEngine();
- // Determines the source of the current default search provider value.
- Source GetDefaultSearchEngineSource() const;
-
private:
// Handle changes to kDefaultSearchProviderData pref. This includes sync and
- // policy changes.
+ // policy changes. Calls |LoadDefaultSearchEngineFromPrefs| and
Peter Kasting 2014/05/03 00:28:18 Nit: Don't put pipes around function names; use a
erikwright (departed) 2014/05/05 01:49:38 Done.
+ // |NotifyObserver| if the effective DSE might have changed.
void OnDefaultSearchPrefChanged();
- // Handle changes to kSearchProviderOverrides pref, and update necessary
- // members.
+ // Handle changes to kSearchProviderOverrides pref. Calls
Peter Kasting 2014/05/03 00:28:18 Nit: Handle -> Handles
erikwright (departed) 2014/05/05 01:49:38 Done.
+ // |LoadPrepopulatedDefaultSearch| and |NotifyObserver| if the effective DSE
+ // might have changed.
void OnOverridesPrefChanged();
- // Update |default_search_controlled_by_policy_|.
- void UpdatePolicyStatus();
-
- // Merge data from prefs with prepopulated data.
+ // Updates |prefs_default_search_| with values from its corresponding
+ // pre-populated search provider record, if any.
void MergePrefsDataWithPrepopulated();
- // Read default search provider data from |pref_service_|.
- bool ReadDefaultSearchEngineFromPrefs(TemplateURLData** data);
+ // Read default search provider data from |pref_service_|, updating
Peter Kasting 2014/05/03 00:28:18 Nit: Read -> Reads (2 places)
erikwright (departed) 2014/05/05 01:49:38 Done.
+ // |prefs_default_search_| and |default_search_controlled_by_policy_|.
+ // Will invoke |MergePrefsDataWithPrepopulated|.
Peter Kasting 2014/05/03 00:28:18 Nit: Will invoke -> Invokes (or Calls) (2 places)
erikwright (departed) 2014/05/05 01:49:38 Done.
+ void LoadDefaultSearchEngineFromPrefs();
+
+ // Read pre-populated search providers, which may be built-in or overridden by
+ // kSearchProviderOverrides. Updates |fallback_default_search_|. Will invoke
+ // |MergePrefsDataWithPrepopulated|.
+ void LoadPrepopulatedDefaultSearch();
+
+ // Invokes |change_observer_| if it is not NULL.
+ void NotifyObserver();
PrefService* pref_service_;
+ const ObserverCallback change_observer_;
PrefChangeRegistrar pref_change_registrar_;
scoped_ptr<TemplateURLData> fallback_default_search_;

Powered by Google App Engine
This is Rietveld 408576698