Index: chrome/browser/protector/protector_service.h |
diff --git a/chrome/browser/protector/protector_service.h b/chrome/browser/protector/protector_service.h |
deleted file mode 100644 |
index 7ad0b1faa3ecfa9ddcc32a4ebd4bcfc90279da09..0000000000000000000000000000000000000000 |
--- a/chrome/browser/protector/protector_service.h |
+++ /dev/null |
@@ -1,152 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_PROTECTOR_PROTECTOR_SERVICE_H_ |
-#define CHROME_BROWSER_PROTECTOR_PROTECTOR_SERVICE_H_ |
- |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/linked_ptr.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/sequenced_task_runner_helpers.h" |
-#include "chrome/browser/profiles/profile_keyed_service.h" |
-#include "chrome/browser/protector/base_setting_change.h" |
-#include "chrome/browser/protector/settings_change_global_error_delegate.h" |
- |
-class GURL; |
-class PrefService; |
-class Profile; |
-class TemplateURLService; |
- |
-namespace protector { |
- |
-class ProtectedPrefsWatcher; |
-class SettingsChangeGlobalError; |
- |
-// Presents a SettingChange to user and handles possible user actions. |
-class ProtectorService : public ProfileKeyedService, |
- public SettingsChangeGlobalErrorDelegate { |
- public: |
- explicit ProtectorService(Profile* profile); |
- virtual ~ProtectorService(); |
- |
- // Shows global error about the specified change. Owns |change|. May be called |
- // multiple times in which case subsequent bubbles will be displayed. |
- virtual void ShowChange(BaseSettingChange* change); |
- |
- // Returns |true| if a change is currently active (shown by a ShowChange call |
- // and not yet applied or discarded). |
- virtual bool IsShowingChange() const; |
- |
- // Removes corresponding global error (including the bubbble if one is shown) |
- // and deletes the change instance (without calling Apply or Discard on it). |
- virtual void DismissChange(BaseSettingChange* change); |
- |
- // Persists |change| and removes corresponding global error. |browser| is the |
- // Browser instance from which the user action originates. |
- virtual void ApplyChange(BaseSettingChange* change, Browser* browser); |
- |
- // Discards |change| and removes corresponding global error. |browser| is the |
- // Browser instance from which the user action originates. |
- virtual void DiscardChange(BaseSettingChange* change, Browser* browser); |
- |
- // Opens a tab with specified URL in the browser window we've shown error |
- // bubble for. |
- virtual void OpenTab(const GURL& url, Browser* browser); |
- |
- // Returns the ProtectedPrefsWatcher instance for access to protected prefs |
- // backup. |
- ProtectedPrefsWatcher* GetPrefsWatcher(); |
- |
- // Stops observing pref changes and updating the backup. Should be used in |
- // tests only. |
- void StopWatchingPrefsForTesting(); |
- |
- // Returns the most recent change instance or NULL if there are no changes. |
- BaseSettingChange* GetLastChange(); |
- |
- // Returns the Profile instance for this service. |
- Profile* profile() { return profile_; } |
- |
- private: |
- friend class ProtectorServiceTest; |
- |
- // Each item consists of an error and corresponding change instance. |
- // linked_ptr is used because Item instances are stored in a std::vector and |
- // must be copyable. |
- struct Item { |
- Item(); |
- ~Item(); |
- linked_ptr<BaseSettingChange> change; |
- linked_ptr<SettingsChangeGlobalError> error; |
- // When true, this means |change| was merged with another instance and |
- // |error| is in process of being removed from GlobalErrorService. |
- bool was_merged; |
- // Meaningful only when |was_merged| is true. In that case, true means that |
- // the new merged GlobalError instance will be immediately shown. |
- bool show_when_merged; |
- }; |
- |
- typedef std::vector<Item> Items; |
- |
- // Matches Item by |change| field. |
- class MatchItemByChange { |
- public: |
- explicit MatchItemByChange(const BaseSettingChange* other); |
- |
- bool operator()(const Item& item); |
- |
- private: |
- const BaseSettingChange* other_; |
- }; |
- |
- // Matches Item by |error| field. |
- class MatchItemByError { |
- public: |
- explicit MatchItemByError(const SettingsChangeGlobalError* other); |
- |
- bool operator()(const Item& item); |
- |
- private: |
- const SettingsChangeGlobalError* other_; |
- }; |
- |
- // Returns an Item instance whose change can be merged with |change|, if any. |
- // Otherwise returns |NULL|. Provided that the merge strategy is transitive, |
- // there can be only one such instance. |
- Item* FindItemToMergeWith(const BaseSettingChange* change); |
- |
- // ProfileKeyedService implementation. |
- virtual void Shutdown() OVERRIDE; |
- |
- // SettingsChangeGlobalErrorDelegate implementation. |
- virtual void OnApplyChange(SettingsChangeGlobalError* error, |
- Browser* browser) OVERRIDE; |
- virtual void OnDiscardChange(SettingsChangeGlobalError* error, |
- Browser* browser) OVERRIDE; |
- virtual void OnDecisionTimeout(SettingsChangeGlobalError* error) OVERRIDE; |
- virtual void OnRemovedFromProfile(SettingsChangeGlobalError* error) OVERRIDE; |
- |
- // Pointers to error bubble controllers and corresponding changes in the order |
- // added. |
- Items items_; |
- |
- // Profile which settings we are protecting. |
- Profile* profile_; |
- |
- // True if there is a change that has been shown and not yet accepted or |
- // discarded by user. |
- bool has_active_change_; |
- |
- // Observes changes to protected prefs and updates the backup. |
- scoped_ptr<ProtectedPrefsWatcher> prefs_watcher_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ProtectorService); |
-}; |
- |
-} // namespace protector |
- |
-#endif // CHROME_BROWSER_PROTECTOR_PROTECTOR_SERVICE_H_ |