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 CONTENT_BROWSER_INDEXED_DB_MOCK_INDEXED_DB_FACTORY_H_ 6#define CONTENT_BROWSER_INDEXED_DB_MOCK_INDEXED_DB_FACTORY_H_ 7 8#include <string> 9 10#include "content/browser/indexed_db/indexed_db_factory.h" 11#include "testing/gmock/include/gmock/gmock.h" 12 13namespace content { 14 15class MockIndexedDBFactory : public IndexedDBFactory { 16 public: 17 MockIndexedDBFactory(); 18 MOCK_METHOD2(ReleaseDatabase, 19 void(const IndexedDBDatabase::Identifier& identifier, 20 bool forcedClose)); 21 MOCK_METHOD4(GetDatabaseNames, 22 void(scoped_refptr<IndexedDBCallbacks> callbacks, 23 const GURL& origin_url, 24 const base::FilePath& data_directory, 25 net::URLRequestContext* request_context)); 26 MOCK_METHOD5(Open, 27 void(const base::string16& name, 28 const IndexedDBPendingConnection& connection, 29 net::URLRequestContext* request_context, 30 const GURL& origin_url, 31 const base::FilePath& data_directory)); 32 MOCK_METHOD5(DeleteDatabase, 33 void(const base::string16& name, 34 net::URLRequestContext* request_context, 35 scoped_refptr<IndexedDBCallbacks> callbacks, 36 const GURL& origin_url, 37 const base::FilePath& data_directory)); 38 MOCK_METHOD1(HandleBackingStoreFailure, void(const GURL& origin_url)); 39 MOCK_METHOD2(HandleBackingStoreCorruption, 40 void(const GURL& origin_url, 41 const IndexedDBDatabaseError& error)); 42 // The Android NDK implements a subset of STL, and the gtest templates can't 43 // deal with std::pair's. This means we can't use GoogleMock for this method 44 virtual OriginDBs GetOpenDatabasesForOrigin( 45 const GURL& origin_url) const OVERRIDE; 46 MOCK_METHOD1(ForceClose, void(const GURL& origin_url)); 47 MOCK_METHOD0(ContextDestroyed, void()); 48 MOCK_METHOD1(DatabaseDeleted, 49 void(const IndexedDBDatabase::Identifier& identifier)); 50 MOCK_CONST_METHOD1(GetConnectionCount, size_t(const GURL& origin_url)); 51 52 MOCK_METHOD2(ReportOutstandingBlobs, 53 void(const GURL& origin_url, bool blobs_outstanding)); 54 55 protected: 56 virtual ~MockIndexedDBFactory(); 57 58 MOCK_METHOD7(OpenBackingStore, 59 scoped_refptr<IndexedDBBackingStore>( 60 const GURL& origin_url, 61 const base::FilePath& data_directory, 62 net::URLRequestContext* request_context, 63 blink::WebIDBDataLoss* data_loss, 64 std::string* data_loss_reason, 65 bool* disk_full, 66 leveldb::Status* s)); 67 68 MOCK_METHOD8(OpenBackingStoreHelper, 69 scoped_refptr<IndexedDBBackingStore>( 70 const GURL& origin_url, 71 const base::FilePath& data_directory, 72 net::URLRequestContext* request_context, 73 blink::WebIDBDataLoss* data_loss, 74 std::string* data_loss_message, 75 bool* disk_full, 76 bool first_time, 77 leveldb::Status* s)); 78 79 private: 80 DISALLOW_COPY_AND_ASSIGN(MockIndexedDBFactory); 81}; 82 83} // namespace content 84 85#endif // CONTENT_BROWSER_INDEXED_DB_MOCK_INDEXED_DB_FACTORY_H_ 86