// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/child/indexed_db/webidbfactory_impl.h" #include "content/child/indexed_db/indexed_db_dispatcher.h" #include "content/child/thread_safe_sender.h" #include "third_party/WebKit/public/platform/WebCString.h" #include "third_party/WebKit/public/platform/WebString.h" using blink::WebIDBCallbacks; using blink::WebIDBDatabase; using blink::WebIDBDatabaseCallbacks; using blink::WebString; namespace content { WebIDBFactoryImpl::WebIDBFactoryImpl(ThreadSafeSender* thread_safe_sender) : thread_safe_sender_(thread_safe_sender) {} WebIDBFactoryImpl::~WebIDBFactoryImpl() {} void WebIDBFactoryImpl::getDatabaseNames(WebIDBCallbacks* callbacks, const WebString& database_identifier) { IndexedDBDispatcher* dispatcher = IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get()); dispatcher->RequestIDBFactoryGetDatabaseNames(callbacks, database_identifier.utf8()); } void WebIDBFactoryImpl::open(const WebString& name, long long version, long long transaction_id, WebIDBCallbacks* callbacks, WebIDBDatabaseCallbacks* database_callbacks, const WebString& database_identifier) { IndexedDBDispatcher* dispatcher = IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get()); dispatcher->RequestIDBFactoryOpen(name, version, transaction_id, callbacks, database_callbacks, database_identifier.utf8()); } void WebIDBFactoryImpl::deleteDatabase(const WebString& name, WebIDBCallbacks* callbacks, const WebString& database_identifier) { IndexedDBDispatcher* dispatcher = IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get()); dispatcher->RequestIDBFactoryDeleteDatabase( name, callbacks, database_identifier.utf8()); } } // namespace content