1 // Copyright 2013 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_CHILD_INDEXED_DB_WEBIDBFACTORY_IMPL_H_ 6 #define CONTENT_CHILD_INDEXED_DB_WEBIDBFACTORY_IMPL_H_ 7 8 #include "base/memory/ref_counted.h" 9 #include "third_party/WebKit/public/platform/WebIDBCallbacks.h" 10 #include "third_party/WebKit/public/platform/WebIDBDatabaseCallbacks.h" 11 #include "third_party/WebKit/public/platform/WebIDBFactory.h" 12 #include "third_party/WebKit/public/platform/WebVector.h" 13 14 namespace blink { 15 class WebString; 16 } 17 18 namespace content { 19 class ThreadSafeSender; 20 21 class WebIDBFactoryImpl : public blink::WebIDBFactory { 22 public: 23 explicit WebIDBFactoryImpl(ThreadSafeSender* thread_safe_sender); 24 virtual ~WebIDBFactoryImpl(); 25 26 // See WebIDBFactory.h for documentation on these functions. 27 virtual void getDatabaseNames(blink::WebIDBCallbacks* callbacks, 28 const blink::WebString& database_identifier); 29 virtual void open(const blink::WebString& name, 30 long long version, 31 long long transaction_id, 32 blink::WebIDBCallbacks* callbacks, 33 blink::WebIDBDatabaseCallbacks* databaseCallbacks, 34 const blink::WebString& database_identifier); 35 virtual void deleteDatabase(const blink::WebString& name, 36 blink::WebIDBCallbacks* callbacks, 37 const blink::WebString& database_identifier); 38 39 private: 40 scoped_refptr<ThreadSafeSender> thread_safe_sender_; 41 }; 42 43 } // namespace content 44 45 #endif // CONTENT_CHILD_INDEXED_DB_WEBIDBFACTORY_IMPL_H_ 46