summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandreip@chromium.org <andreip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-24 14:38:58 +0000
committerandreip@chromium.org <andreip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-24 14:38:58 +0000
commitf098e9a3ca9b2666e4db66a003e862950929247c (patch)
treec0833e809a9289482369eb57123d97abc27a0e05
parentdd352a2862975505f0214082ae003c85b14569da (diff)
downloadchromium_src-f098e9a3ca9b2666e4db66a003e862950929247c.zip
chromium_src-f098e9a3ca9b2666e4db66a003e862950929247c.tar.gz
chromium_src-f098e9a3ca9b2666e4db66a003e862950929247c.tar.bz2
Fix IDBDatabase::removeObjectStore for multiprocess mode
Review URL: http://codereview.chromium.org/3134029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57183 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc2
-rw-r--r--chrome/renderer/renderer_webidbdatabase_impl.cc8
-rw-r--r--chrome/renderer/renderer_webidbdatabase_impl.h2
3 files changed, 11 insertions, 1 deletions
diff --git a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
index d0af866..d1f79bb 100644
--- a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
+++ b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
@@ -392,7 +392,7 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnRemoveObjectStore(
if (!idb_database)
return;
idb_database->removeObjectStore(
- name, new IndexedDBCallbacks<WebIDBObjectStore>(parent_, response_id));
+ name, new IndexedDBCallbacks<void>(parent_, response_id));
}
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnTransaction(
diff --git a/chrome/renderer/renderer_webidbdatabase_impl.cc b/chrome/renderer/renderer_webidbdatabase_impl.cc
index 7bfaf5c..0c69d85 100644
--- a/chrome/renderer/renderer_webidbdatabase_impl.cc
+++ b/chrome/renderer/renderer_webidbdatabase_impl.cc
@@ -70,6 +70,14 @@ void RendererWebIDBDatabaseImpl::createObjectStore(
name, key_path, auto_increment, callbacks, idb_database_id_);
}
+void RendererWebIDBDatabaseImpl::removeObjectStore(
+ const WebString& name, WebIDBCallbacks* callbacks) {
+ IndexedDBDispatcher* dispatcher =
+ RenderThread::current()->indexed_db_dispatcher();
+ dispatcher->RequestIDBDatabaseRemoveObjectStore(
+ name, callbacks, idb_database_id_);
+}
+
WebKit::WebIDBTransaction* RendererWebIDBDatabaseImpl::transaction(
const WebDOMStringList& names, unsigned short mode,
unsigned long timeout) {
diff --git a/chrome/renderer/renderer_webidbdatabase_impl.h b/chrome/renderer/renderer_webidbdatabase_impl.h
index 2ce55b1..dfd054e 100644
--- a/chrome/renderer/renderer_webidbdatabase_impl.h
+++ b/chrome/renderer/renderer_webidbdatabase_impl.h
@@ -30,6 +30,8 @@ class RendererWebIDBDatabaseImpl : public WebKit::WebIDBDatabase {
virtual void createObjectStore(
const WebKit::WebString& name, const WebKit::WebString& key_path,
bool auto_increment, WebKit::WebIDBCallbacks* callbacks);
+ virtual void removeObjectStore(
+ const WebKit::WebString& name, WebKit::WebIDBCallbacks* callbacks);
virtual WebKit::WebIDBTransaction* transaction(
const WebKit::WebDOMStringList& names,
unsigned short mode, unsigned long timeout);