Home | History | Annotate | Download | only in browser
      1 // Copyright (c) 2010 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_DATABASE_HELPER_H_
      6 #define CHROME_BROWSER_MOCK_BROWSING_DATA_DATABASE_HELPER_H_
      7 #pragma once
      8 
      9 #include <map>
     10 #include <vector>
     11 
     12 #include "base/callback.h"
     13 
     14 #include "chrome/browser/browsing_data_database_helper.h"
     15 
     16 // Mock for BrowsingDataDatabaseHelper.
     17 // Use AddDatabaseSamples() or add directly to response_ vector, then call
     18 // Notify().
     19 class MockBrowsingDataDatabaseHelper : public BrowsingDataDatabaseHelper {
     20  public:
     21   explicit MockBrowsingDataDatabaseHelper(Profile* profile);
     22 
     23   virtual void StartFetching(
     24       Callback1<const std::vector<DatabaseInfo>& >::Type* callback);
     25 
     26   virtual void CancelNotification();
     27 
     28   virtual void DeleteDatabase(const std::string& origin,
     29       const std::string& name);
     30 
     31   // Adds some DatabaseInfo samples.
     32   void AddDatabaseSamples();
     33 
     34   // Notifies the callback.
     35   void Notify();
     36 
     37   // Marks all databases as existing.
     38   void Reset();
     39 
     40   // Returns true if all databases since the last Reset() invokation were
     41   // deleted.
     42   bool AllDeleted();
     43 
     44   std::string last_deleted_origin_;
     45 
     46   std::string last_deleted_db_;
     47 
     48  private:
     49   virtual ~MockBrowsingDataDatabaseHelper();
     50 
     51   Profile* profile_;
     52 
     53   scoped_ptr<Callback1<const std::vector<DatabaseInfo>& >::Type >
     54       callback_;
     55 
     56   // Stores which databases exist.
     57   std::map<const std::string, bool> databases_;
     58 
     59   std::vector<DatabaseInfo> response_;
     60 };
     61 
     62 #endif  // CHROME_BROWSER_MOCK_BROWSING_DATA_DATABASE_HELPER_H_
     63