1563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark/* 22daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch * Copyright (C) 2011 Google Inc. All rights reserved. 3563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 4563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * Redistribution and use in source and binary forms, with or without 5563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * modification, are permitted provided that the following conditions 6563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * are met: 7563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 8563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 1. Redistributions of source code must retain the above copyright 9563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * notice, this list of conditions and the following disclaimer. 10563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 2. Redistributions in binary form must reproduce the above copyright 11563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * notice, this list of conditions and the following disclaimer in the 12563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * documentation and/or other materials provided with the distribution. 13563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 14563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * its contributors may be used to endorse or promote products derived 15563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * from this software without specific prior written permission. 16563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 17563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 18563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 21563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark */ 28dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 29db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#ifndef IDBFactoryBackendProxy_h 30db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#define IDBFactoryBackendProxy_h 31dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 32d0825bca7fe65beaee391d30da42e937db621564Steve Block#if ENABLE(INDEXED_DATABASE) 33563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 342daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include "IDBFactoryBackendInterface.h" 352daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 362daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochnamespace WebCore { class DOMStringList; } 37563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 382daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochnamespace WebKit { 39d0825bca7fe65beaee391d30da42e937db621564Steve Block 402daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass WebIDBFactory; 41db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block 422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass IDBFactoryBackendProxy : public WebCore::IDBFactoryBackendInterface { 43dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockpublic: 442daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch static PassRefPtr<WebCore::IDBFactoryBackendInterface> create(); 45db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block virtual ~IDBFactoryBackendProxy(); 46d0825bca7fe65beaee391d30da42e937db621564Steve Block 472daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch PassRefPtr<WebCore::DOMStringList> databases(void) const; 482daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void open(const String& name, PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::SecurityOrigin>, WebCore::Frame*, const String& dataDir, int64_t maximumSize, BackingStoreType); 49d0825bca7fe65beaee391d30da42e937db621564Steve Block 50dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprivate: 51db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block IDBFactoryBackendProxy(); 52d0825bca7fe65beaee391d30da42e937db621564Steve Block 53dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // We don't own this pointer (unlike all the other proxy classes which do). 542daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch WebIDBFactory* m_webIDBFactory; 55dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 56d0825bca7fe65beaee391d30da42e937db621564Steve Block 572daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch} // namespace WebKit 580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 59dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 60dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 61db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#endif // IDBFactoryBackendProxy_h 62