| Index: webkit/browser/quota/storage_monitor.h | 
| diff --git a/webkit/browser/quota/storage_monitor.h b/webkit/browser/quota/storage_monitor.h | 
| index 66a7e8ae0ea8421653937cfc32b2d02ed2bfe83d..48992e48738a3fd2d7ea5975caf95333b2726fc6 100644 | 
| --- a/webkit/browser/quota/storage_monitor.h | 
| +++ b/webkit/browser/quota/storage_monitor.h | 
| @@ -2,179 +2,4 @@ | 
| // Use of this source code is governed by a BSD-style license that can be | 
| // found in the LICENSE file. | 
|  | 
| -#ifndef WEBKIT_BROWSER_QUOTA_STORAGE_MONITOR_H_ | 
| -#define WEBKIT_BROWSER_QUOTA_STORAGE_MONITOR_H_ | 
| - | 
| -#include <map> | 
| - | 
| -#include "base/memory/weak_ptr.h" | 
| -#include "base/time/time.h" | 
| -#include "base/timer/timer.h" | 
| -#include "webkit/browser/quota/storage_observer.h" | 
| - | 
| -namespace content { | 
| -class StorageMonitorTestBase; | 
| -} | 
| - | 
| -namespace storage { | 
| - | 
| -class QuotaManager; | 
| - | 
| -// This class dispatches storage events to observers of a common | 
| -// StorageObserver::Filter. | 
| -class STORAGE_EXPORT_PRIVATE StorageObserverList { | 
| - public: | 
| -  StorageObserverList(); | 
| -  virtual ~StorageObserverList(); | 
| - | 
| -  // Adds/removes an observer. | 
| -  void AddObserver(StorageObserver* observer, | 
| -                   const StorageObserver::MonitorParams& params); | 
| -  void RemoveObserver(StorageObserver* observer); | 
| - | 
| -  // Returns the number of observers. | 
| -  int ObserverCount() const; | 
| - | 
| -  // Forwards a storage change to observers. The event may be dispatched | 
| -  // immediately to an observer or after a delay, depending on the desired event | 
| -  // rate of the observer. | 
| -  void OnStorageChange(const StorageObserver::Event& event); | 
| - | 
| -  // Dispatch an event to observers that require it. | 
| -  void MaybeDispatchEvent(const StorageObserver::Event& event); | 
| - | 
| -  // Ensure the specified observer receives the next dispatched event. | 
| -  void ScheduleUpdateForObserver(StorageObserver* observer); | 
| - | 
| - private: | 
| -  struct STORAGE_EXPORT_PRIVATE ObserverState { | 
| -    GURL origin; | 
| -    base::TimeTicks last_notification_time; | 
| -    base::TimeDelta rate; | 
| -    bool requires_update; | 
| - | 
| -    ObserverState(); | 
| -  }; | 
| -  typedef std::map<StorageObserver*, ObserverState> StorageObserverStateMap; | 
| - | 
| -  void DispatchPendingEvent(); | 
| - | 
| -  StorageObserverStateMap observers_; | 
| -  base::OneShotTimer<StorageObserverList> notification_timer_; | 
| -  StorageObserver::Event pending_event_; | 
| - | 
| -  friend class content::StorageMonitorTestBase; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(StorageObserverList); | 
| -}; | 
| - | 
| - | 
| -// Manages the storage observers of a common host. Caches the usage and quota of | 
| -// the host to avoid accumulating for every change. | 
| -class STORAGE_EXPORT_PRIVATE HostStorageObservers { | 
| - public: | 
| -  explicit HostStorageObservers(QuotaManager* quota_manager); | 
| -  virtual ~HostStorageObservers(); | 
| - | 
| -  bool is_initialized() const { return initialized_; } | 
| - | 
| -  // Adds/removes an observer. | 
| -  void AddObserver( | 
| -      StorageObserver* observer, | 
| -      const StorageObserver::MonitorParams& params); | 
| -  void RemoveObserver(StorageObserver* observer); | 
| -  bool ContainsObservers() const; | 
| - | 
| -  // Handles a usage change. | 
| -  void NotifyUsageChange(const StorageObserver::Filter& filter, int64 delta); | 
| - | 
| - private: | 
| -  void StartInitialization(const StorageObserver::Filter& filter); | 
| -  void GotHostUsageAndQuota(const StorageObserver::Filter& filter, | 
| -                            QuotaStatusCode status, | 
| -                            int64 usage, | 
| -                            int64 quota); | 
| -  void DispatchEvent(const StorageObserver::Filter& filter, bool is_update); | 
| - | 
| -  QuotaManager* quota_manager_; | 
| -  StorageObserverList observers_; | 
| - | 
| -  // Flags used during initialization of the cached properties. | 
| -  bool initialized_; | 
| -  bool initializing_; | 
| -  bool event_occurred_before_init_; | 
| -  int64 usage_deltas_during_init_; | 
| - | 
| -  // Cached accumulated usage and quota for the host. | 
| -  int64 cached_usage_; | 
| -  int64 cached_quota_; | 
| - | 
| -  base::WeakPtrFactory<HostStorageObservers> weak_factory_; | 
| - | 
| -  friend class content::StorageMonitorTestBase; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(HostStorageObservers); | 
| -}; | 
| - | 
| - | 
| -// Manages the observers of a common storage type. | 
| -class STORAGE_EXPORT_PRIVATE StorageTypeObservers { | 
| - public: | 
| -  explicit StorageTypeObservers(QuotaManager* quota_manager); | 
| -  virtual ~StorageTypeObservers(); | 
| - | 
| -  // Adds and removes an observer. | 
| -  void AddObserver(StorageObserver* observer, | 
| -                   const StorageObserver::MonitorParams& params); | 
| -  void RemoveObserver(StorageObserver* observer); | 
| -  void RemoveObserverForFilter(StorageObserver* observer, | 
| -                               const StorageObserver::Filter& filter); | 
| - | 
| -  // Returns the observers of a specific host. | 
| -  const HostStorageObservers* GetHostObservers(const std::string& host) const; | 
| - | 
| -  // Handles a usage change. | 
| -  void NotifyUsageChange(const StorageObserver::Filter& filter, int64 delta); | 
| - | 
| - private: | 
| -  typedef std::map<std::string, HostStorageObservers*> HostObserversMap; | 
| - | 
| -  QuotaManager* quota_manager_; | 
| -  HostObserversMap host_observers_map_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(StorageTypeObservers); | 
| -}; | 
| - | 
| - | 
| -// Storage monitor manages observers and dispatches storage events to them. | 
| -class STORAGE_EXPORT_PRIVATE StorageMonitor { | 
| - public: | 
| -  explicit StorageMonitor(QuotaManager* quota_manager); | 
| -  virtual ~StorageMonitor(); | 
| - | 
| -  // Adds and removes an observer. | 
| -  void AddObserver(StorageObserver* observer, | 
| -                   const StorageObserver::MonitorParams& params); | 
| -  void RemoveObserver(StorageObserver* observer); | 
| -  void RemoveObserverForFilter(StorageObserver* observer, | 
| -                               const StorageObserver::Filter& filter); | 
| - | 
| -  // Returns the observers of a specific storage type. | 
| -  const StorageTypeObservers* GetStorageTypeObservers( | 
| -      StorageType storage_type) const; | 
| - | 
| -  // Handles a usage change. | 
| -  void NotifyUsageChange(const StorageObserver::Filter& filter, int64 delta); | 
| - | 
| - private: | 
| -  typedef std::map<StorageType, StorageTypeObservers*> StorageTypeObserversMap; | 
| - | 
| -  QuotaManager* quota_manager_; | 
| -  StorageTypeObserversMap storage_type_observers_map_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(StorageMonitor); | 
| -}; | 
| - | 
| -}  // namespace storage | 
| - | 
| -#endif  // WEBKIT_BROWSER_QUOTA_STORAGE_MONITOR_H_ | 
| +#include "storage/browser/quota/storage_monitor.h" | 
|  |