blob: 6467960366999b5561f8b34a6b4898eec404e4a5 [file] [log] [blame]
// Copyright (c) 2010 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.
#ifndef CONTENT_RENDERER_RENDERER_WEBIDBOBJECTSTORE_IMPL_H_
#define CONTENT_RENDERER_RENDERER_WEBIDBOBJECTSTORE_IMPL_H_
#pragma once
#include "base/basictypes.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBCallbacks.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBObjectStore.h"
namespace WebKit {
class WebFrame;
class WebIDBCallbacks;
class WebIDBIndex;
class WebIDBKey;
class WebIDBKeyRange;
class WebString;
}
class RendererWebIDBObjectStoreImpl : public WebKit::WebIDBObjectStore {
public:
explicit RendererWebIDBObjectStoreImpl(int32 idb_object_store_id);
virtual ~RendererWebIDBObjectStoreImpl();
// WebKit::WebIDBObjectStore
virtual WebKit::WebString name() const;
virtual WebKit::WebString keyPath() const;
virtual WebKit::WebDOMStringList indexNames() const;
virtual void get(const WebKit::WebIDBKey& key,
WebKit::WebIDBCallbacks* callbacks,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
virtual void put(const WebKit::WebSerializedScriptValue& value,
const WebKit::WebIDBKey& key,
PutMode put_mode,
WebKit::WebIDBCallbacks* callbacks,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
virtual void deleteFunction(const WebKit::WebIDBKey& key,
WebKit::WebIDBCallbacks* callbacks,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
virtual void clear(WebKit::WebIDBCallbacks* callbacks,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
virtual WebKit::WebIDBIndex* createIndex(
const WebKit::WebString& name,
const WebKit::WebString& key_path,
bool unique,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
// Transfers ownership of the WebIDBIndex to the caller.
virtual WebKit::WebIDBIndex* index(const WebKit::WebString& name,
WebKit::WebExceptionCode& ec);
virtual void deleteIndex(const WebKit::WebString& name,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
virtual void openCursor(const WebKit::WebIDBKeyRange& idb_key_range,
unsigned short direction,
WebKit::WebIDBCallbacks* callbacks,
const WebKit::WebIDBTransaction& transaction,
WebKit::WebExceptionCode& ec);
private:
int32 idb_object_store_id_;
};
#endif // CONTENT_RENDERER_RENDERER_WEBIDBOBJECTSTORE_IMPL_H_