Home | History | Annotate | Download | only in browser
      1 // Copyright (c) 2011 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 CHROME_BROWSER_MOCK_BROWSING_DATA_INDEXED_DB_HELPER_H_
      6 #define CHROME_BROWSER_MOCK_BROWSING_DATA_INDEXED_DB_HELPER_H_
      7 #pragma once
      8 
      9 #include <map>
     10 #include <vector>
     11 
     12 #include "base/callback.h"
     13 #include "base/memory/scoped_ptr.h"
     14 #include "chrome/browser/browsing_data_indexed_db_helper.h"
     15 
     16 // Mock for BrowsingDataIndexedDBHelper.
     17 // Use AddIndexedDBSamples() or add directly to response_ vector, then
     18 // call Notify().
     19 class MockBrowsingDataIndexedDBHelper
     20     : public BrowsingDataIndexedDBHelper {
     21  public:
     22   explicit MockBrowsingDataIndexedDBHelper(Profile* profile);
     23 
     24   // Adds some IndexedDBInfo samples.
     25   void AddIndexedDBSamples();
     26 
     27   // Notifies the callback.
     28   void Notify();
     29 
     30   // Marks all indexed db files as existing.
     31   void Reset();
     32 
     33   // Returns true if all indexed db files were deleted since the last
     34   // Reset() invokation.
     35   bool AllDeleted();
     36 
     37   // BrowsingDataIndexedDBHelper.
     38   virtual void StartFetching(
     39       Callback1<const std::vector<IndexedDBInfo>& >::Type* callback);
     40   virtual void CancelNotification();
     41   virtual void DeleteIndexedDBFile(const FilePath& file_path);
     42 
     43   FilePath last_deleted_file_;
     44 
     45  private:
     46   virtual ~MockBrowsingDataIndexedDBHelper();
     47 
     48   Profile* profile_;
     49 
     50   scoped_ptr<Callback1<const std::vector<IndexedDBInfo>& >::Type >
     51       callback_;
     52 
     53   std::map<const FilePath::StringType, bool> files_;
     54 
     55   std::vector<IndexedDBInfo> response_;
     56 };
     57 
     58 #endif  // CHROME_BROWSER_MOCK_BROWSING_DATA_INDEXED_DB_HELPER_H_
     59