Home | History | Annotate | Download | only in fileapi
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef WEBKIT_BROWSER_FILEAPI_MOCK_FILE_UPDATE_OBSERVER_H_
      6 #define WEBKIT_BROWSER_FILEAPI_MOCK_FILE_UPDATE_OBSERVER_H_
      7 
      8 #include <map>
      9 
     10 #include "base/basictypes.h"
     11 #include "base/compiler_specific.h"
     12 #include "storage/browser/fileapi/file_observers.h"
     13 #include "storage/browser/fileapi/file_system_url.h"
     14 #include "storage/browser/fileapi/task_runner_bound_observer_list.h"
     15 
     16 namespace storage {
     17 
     18 // Mock file change observer.
     19 class MockFileUpdateObserver : public FileUpdateObserver {
     20  public:
     21   MockFileUpdateObserver();
     22   virtual ~MockFileUpdateObserver();
     23 
     24   // Creates a ChangeObserverList which only contains given |observer|.
     25   static UpdateObserverList CreateList(MockFileUpdateObserver* observer);
     26 
     27   // FileUpdateObserver overrides.
     28   virtual void OnStartUpdate(const FileSystemURL& url) OVERRIDE;
     29   virtual void OnUpdate(const FileSystemURL& url, int64 delta) OVERRIDE;
     30   virtual void OnEndUpdate(const FileSystemURL& url) OVERRIDE;
     31 
     32   void Enable() { is_ready_ = true; }
     33 
     34   void Disable() {
     35     start_update_count_.clear();
     36     end_update_count_.clear();
     37     is_ready_ = false;
     38   }
     39 
     40  private:
     41   std::map<FileSystemURL, int, FileSystemURL::Comparator> start_update_count_;
     42   std::map<FileSystemURL, int, FileSystemURL::Comparator> end_update_count_;
     43   bool is_ready_;
     44 
     45   DISALLOW_COPY_AND_ASSIGN(MockFileUpdateObserver);
     46 };
     47 
     48 }  // namespace storage
     49 
     50 #endif  // WEBKIT_BROWSER_FILEAPI_MOCK_FILE_UPDATE_OBSERVER_H_
     51