summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-27 14:41:27 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-27 14:41:27 +0000
commit4b66898e0f7fc5864af489676cea60a9bf3e6e7f (patch)
tree40a8a7d439c9126f1bcfaefbd27ef6593f5ffb84
parent476c6d05c1abc015ff3b479f8f2132a0fc604b9e (diff)
downloadchromium_src-4b66898e0f7fc5864af489676cea60a9bf3e6e7f.zip
chromium_src-4b66898e0f7fc5864af489676cea60a9bf3e6e7f.tar.gz
chromium_src-4b66898e0f7fc5864af489676cea60a9bf3e6e7f.tar.bz2
Handle IDBDatabase sync calls.
Remove modify_database flag. Make sure we delete data structures on the WebKit thread. Handle single process mode. Review URL: http://codereview.chromium.org/2125017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48387 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc121
-rw-r--r--chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h18
-rw-r--r--chrome/browser/in_process_webkit/webkit_context.cc6
-rw-r--r--chrome/common/render_messages.h9
-rw-r--r--chrome/common/render_messages_internal.h20
-rw-r--r--chrome/renderer/indexed_db_dispatcher.cc3
-rw-r--r--chrome/renderer/indexed_db_dispatcher.h2
-rw-r--r--chrome/renderer/renderer_webidbdatabase_impl.cc38
-rw-r--r--chrome/renderer/renderer_webidbdatabase_impl.h12
-rw-r--r--chrome/renderer/renderer_webindexeddatabase_impl.cc4
-rw-r--r--chrome/renderer/renderer_webindexeddatabase_impl.h8
11 files changed, 209 insertions, 32 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 2e32dfb..e478219 100644
--- a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
+++ b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
@@ -4,24 +4,30 @@
#include "chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h"
+#include "base/command_line.h"
#include "chrome/browser/chrome_thread.h"
#include "chrome/browser/in_process_webkit/indexed_db_callbacks.h"
+#include "chrome/browser/renderer_host/browser_render_process_host.h"
#include "chrome/browser/renderer_host/resource_message_filter.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/render_messages.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBCallbacks.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabase.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabaseError.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIndexedDatabase.h"
#include "third_party/WebKit/WebKit/chromium/public/WebSecurityOrigin.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebDOMStringList.h"
using WebKit::WebIDBDatabase;
using WebKit::WebIDBDatabaseError;
using WebKit::WebSecurityOrigin;
+using WebKit::WebDOMStringList;
IndexedDBDispatcherHost::IndexedDBDispatcherHost(
IPC::Message::Sender* sender, WebKitContext* webkit_context)
: sender_(sender),
webkit_context_(webkit_context),
+ idb_database_map_(new IDMap<WebKit::WebIDBDatabase, IDMapOwnPointer>()),
process_handle_(0) {
DCHECK(sender_);
DCHECK(webkit_context_.get());
@@ -47,14 +53,15 @@ void IndexedDBDispatcherHost::Shutdown() {
bool success = ChromeThread::PostTask(
ChromeThread::WEBKIT, FROM_HERE,
NewRunnableMethod(this, &IndexedDBDispatcherHost::Shutdown));
- DCHECK(success); // The WebKit thread is always shutdown after the IO.
- return;
+ if (success)
+ return;
}
- DCHECK(ChromeThread::CurrentlyOn(ChromeThread::WEBKIT));
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::WEBKIT) ||
+ CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess));
DCHECK(!sender_);
- // TODO(jorlow): Do we still need this?
+ idb_database_map_.reset();
}
bool IndexedDBDispatcherHost::OnMessageReceived(const IPC::Message& message,
@@ -65,6 +72,14 @@ bool IndexedDBDispatcherHost::OnMessageReceived(const IPC::Message& message,
bool handled = true;
IPC_BEGIN_MESSAGE_MAP_EX(IndexedDBDispatcherHost, message, *msg_is_ok)
IPC_MESSAGE_HANDLER(ViewHostMsg_IndexedDatabaseOpen, OnIndexedDatabaseOpen)
+ IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_IDBDatabaseName,
+ OnIDBDatabaseName)
+ IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_IDBDatabaseDescription,
+ OnIDBDatabaseDescription)
+ IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_IDBDatabaseVersion,
+ OnIDBDatabaseVersion)
+ IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_IDBDatabaseObjectStores,
+ OnIDBDatabaseObjectStores)
IPC_MESSAGE_HANDLER(ViewHostMsg_IDBDatabaseDestroyed,
OnIDBDatabaseDestroyed)
IPC_MESSAGE_UNHANDLED(handled = false)
@@ -95,7 +110,7 @@ void IndexedDBDispatcherHost::Send(IPC::Message* message) {
}
int32 IndexedDBDispatcherHost::AddIDBDatabase(WebIDBDatabase* idb_database) {
- return idb_database_map_.Add(idb_database);
+ return idb_database_map_->Add(idb_database);
}
class IndexedDatabaseOpenCallbacks : public IndexedDBCallbacks {
@@ -131,7 +146,7 @@ void IndexedDBDispatcherHost::OnIndexedDatabaseOpen(
DCHECK(ChromeThread::CurrentlyOn(ChromeThread::WEBKIT));
int exception_code = 0;
Context()->GetIndexedDatabase()->open(
- params.name_, params.description_, params.modify_database_,
+ params.name_, params.description_,
new IndexedDatabaseOpenCallbacks(this, params.response_id_),
WebSecurityOrigin::createFromDatabaseIdentifier(params.origin_), NULL,
exception_code);
@@ -140,6 +155,86 @@ void IndexedDBDispatcherHost::OnIndexedDatabaseOpen(
DCHECK(exception_code == 0);
}
+void IndexedDBDispatcherHost::OnIDBDatabaseName(
+ int32 idb_database_id, IPC::Message* reply_msg) {
+ if (ChromeThread::CurrentlyOn(ChromeThread::IO)) {
+ ChromeThread::PostTask(ChromeThread::WEBKIT, FROM_HERE, NewRunnableMethod(
+ this, &IndexedDBDispatcherHost::OnIDBDatabaseName,
+ idb_database_id, reply_msg));
+ return;
+ }
+
+ WebIDBDatabase* idb_database = GetDatabaseOrTerminateProcess(
+ idb_database_id, reply_msg);
+ if (!idb_database)
+ return;
+
+ const string16& name = idb_database->name();
+ ViewHostMsg_IDBDatabaseName::WriteReplyParams(reply_msg, name);
+ Send(reply_msg);
+}
+
+void IndexedDBDispatcherHost::OnIDBDatabaseDescription(
+ int32 idb_database_id, IPC::Message* reply_msg) {
+ if (ChromeThread::CurrentlyOn(ChromeThread::IO)) {
+ ChromeThread::PostTask(ChromeThread::WEBKIT, FROM_HERE, NewRunnableMethod(
+ this, &IndexedDBDispatcherHost::OnIDBDatabaseDescription,
+ idb_database_id, reply_msg));
+ return;
+ }
+
+ WebIDBDatabase* idb_database = GetDatabaseOrTerminateProcess(
+ idb_database_id, reply_msg);
+ if (!idb_database)
+ return;
+
+ const string16& description = idb_database->description();
+ ViewHostMsg_IDBDatabaseDescription::WriteReplyParams(reply_msg, description);
+ Send(reply_msg);
+}
+
+void IndexedDBDispatcherHost::OnIDBDatabaseVersion(
+ int32 idb_database_id, IPC::Message* reply_msg) {
+ if (ChromeThread::CurrentlyOn(ChromeThread::IO)) {
+ ChromeThread::PostTask(ChromeThread::WEBKIT, FROM_HERE, NewRunnableMethod(
+ this, &IndexedDBDispatcherHost::OnIDBDatabaseVersion,
+ idb_database_id, reply_msg));
+ return;
+ }
+
+ WebIDBDatabase* idb_database = GetDatabaseOrTerminateProcess(
+ idb_database_id, reply_msg);
+ if (!idb_database)
+ return;
+
+ const string16& version = idb_database->version();
+ ViewHostMsg_IDBDatabaseVersion::WriteReplyParams(reply_msg, version);
+ Send(reply_msg);
+}
+
+void IndexedDBDispatcherHost::OnIDBDatabaseObjectStores(
+ int32 idb_database_id, IPC::Message* reply_msg) {
+ if (ChromeThread::CurrentlyOn(ChromeThread::IO)) {
+ ChromeThread::PostTask(ChromeThread::WEBKIT, FROM_HERE, NewRunnableMethod(
+ this, &IndexedDBDispatcherHost::OnIDBDatabaseObjectStores,
+ idb_database_id, reply_msg));
+ return;
+ }
+
+ WebIDBDatabase* idb_database = GetDatabaseOrTerminateProcess(
+ idb_database_id, reply_msg);
+ if (!idb_database)
+ return;
+
+ WebDOMStringList web_object_stores = idb_database->objectStores();
+ std::vector<string16> object_stores;
+ for (unsigned i = 0; i < web_object_stores.length(); ++i)
+ object_stores[i] = web_object_stores.item(i);
+ ViewHostMsg_IDBDatabaseObjectStores::WriteReplyParams(reply_msg,
+ object_stores);
+ Send(reply_msg);
+}
+
void IndexedDBDispatcherHost::OnIDBDatabaseDestroyed(int32 idb_database_id) {
if (ChromeThread::CurrentlyOn(ChromeThread::IO)) {
ChromeThread::PostTask(ChromeThread::WEBKIT, FROM_HERE, NewRunnableMethod(
@@ -149,5 +244,17 @@ void IndexedDBDispatcherHost::OnIDBDatabaseDestroyed(int32 idb_database_id) {
}
DCHECK(ChromeThread::CurrentlyOn(ChromeThread::WEBKIT));
- idb_database_map_.Remove(idb_database_id);
+ idb_database_map_->Remove(idb_database_id);
+}
+
+WebIDBDatabase* IndexedDBDispatcherHost::GetDatabaseOrTerminateProcess(
+ int32 idb_database_id, IPC::Message* reply_msg) {
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::WEBKIT));
+ WebIDBDatabase* idb_database = idb_database_map_->Lookup(idb_database_id);
+ if (!idb_database) {
+ BrowserRenderProcessHost::BadMessageTerminateProcess(
+ ViewHostMsg_DOMStorageGetItem::ID, process_handle_);
+ delete reply_msg;
+ }
+ return idb_database;
}
diff --git a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
index 2a70748..68e8141 100644
--- a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
+++ b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
@@ -1,6 +1,6 @@
-// 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.
+// 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 CHROME_BROWSER_IN_PROCESS_WEBKIT_INDEXED_DB_DISPATCHER_HOST_H_
#define CHROME_BROWSER_IN_PROCESS_WEBKIT_INDEXED_DB_DISPATCHER_HOST_H_
@@ -58,6 +58,14 @@ class IndexedDBDispatcherHost
void OnIndexedDatabaseOpen(
const ViewHostMsg_IndexedDatabaseOpen_Params& params);
void OnIDBDatabaseDestroyed(int32 idb_database_id);
+ void OnIDBDatabaseName(int32 idb_database_id, IPC::Message* reply_msg);
+ void OnIDBDatabaseDescription(int32 idb_database_id, IPC::Message* reply_msg);
+ void OnIDBDatabaseVersion(int32 idb_database_id, IPC::Message* reply_msg);
+ void OnIDBDatabaseObjectStores(int32 idb_database_id,
+ IPC::Message* reply_msg);
+
+ WebKit::WebIDBDatabase* GetDatabaseOrTerminateProcess(
+ int32 idb_database_id, IPC::Message* reply_msg);
// Only use on the IO thread.
IPC::Message::Sender* sender_;
@@ -67,8 +75,8 @@ class IndexedDBDispatcherHost
// Maps from IDs we pass to the renderer and the actual WebKit objects.
// The map takes ownership and returns an ID. That ID is passed to the
- // renderer and used to reference it.
- IDMap<WebKit::WebIDBDatabase, IDMapOwnPointer>
+ // renderer and used to reference it. All access must be on WebKit thread.
+ scoped_ptr<IDMap<WebKit::WebIDBDatabase, IDMapOwnPointer> >
idb_database_map_;
// TODO(andreip/jorlow): Add other maps here.
diff --git a/chrome/browser/in_process_webkit/webkit_context.cc b/chrome/browser/in_process_webkit/webkit_context.cc
index b9cf36f..a5db03f 100644
--- a/chrome/browser/in_process_webkit/webkit_context.cc
+++ b/chrome/browser/in_process_webkit/webkit_context.cc
@@ -26,6 +26,12 @@ WebKitContext::~WebKitContext() {
// freeing the DOMStorageContext, so delete it manually.
delete dom_storage_context;
}
+
+ IndexedDBContext* indexed_db_context = indexed_db_context_.release();
+ if (!ChromeThread::DeleteSoon(
+ ChromeThread::WEBKIT, FROM_HERE, indexed_db_context)) {
+ delete indexed_db_context;
+ }
}
void WebKitContext::PurgeMemory() {
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 74c2f165..3a224e0 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -543,9 +543,6 @@ struct ViewHostMsg_IndexedDatabaseOpen_Params {
// The description of the database.
string16 description_;
-
- // Should the database be modified if it doesn't match the above params.
- bool modify_database_;
};
// Allows an extension to execute code in a tab.
@@ -2338,7 +2335,6 @@ struct ParamTraits<ViewHostMsg_IndexedDatabaseOpen_Params> {
WriteParam(m, p.origin_);
WriteParam(m, p.name_);
WriteParam(m, p.description_);
- WriteParam(m, p.modify_database_);
}
static bool Read(const Message* m, void** iter, param_type* p) {
return
@@ -2346,8 +2342,7 @@ struct ParamTraits<ViewHostMsg_IndexedDatabaseOpen_Params> {
ReadParam(m, iter, &p->response_id_) &&
ReadParam(m, iter, &p->origin_) &&
ReadParam(m, iter, &p->name_) &&
- ReadParam(m, iter, &p->description_) &&
- ReadParam(m, iter, &p->modify_database_);
+ ReadParam(m, iter, &p->description_);
}
static void Log(const param_type& p, std::wstring* l) {
l->append(L"(");
@@ -2360,8 +2355,6 @@ struct ParamTraits<ViewHostMsg_IndexedDatabaseOpen_Params> {
LogParam(p.name_, l);
l->append(L", ");
LogParam(p.description_, l);
- l->append(L", ");
- LogParam(p.modify_database_, l);
l->append(L")");
}
};
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index 48d198e..5cf4697 100644
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -2176,6 +2176,26 @@ IPC_BEGIN_MESSAGES(ViewHost)
IPC_MESSAGE_CONTROL1(ViewHostMsg_IndexedDatabaseOpen,
ViewHostMsg_IndexedDatabaseOpen_Params)
+ // IDBDatabase::name() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseName,
+ int32, /* idb_database_id */
+ string16 /* vesion */)
+
+ // IDBDatabase::description() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseDescription,
+ int32, /* idb_database_id */
+ string16 /* description */)
+
+ // IDBDatabase::version() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseVersion,
+ int32, /* idb_database_id */
+ string16 /* vesion */)
+
+ // IDBDatabase::objectStores() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseObjectStores,
+ int32, /* idb_database_id */
+ std::vector<string16> /* objectStores */)
+
// IDBDatabase::~IDBDatabase() message.
IPC_MESSAGE_CONTROL1(ViewHostMsg_IDBDatabaseDestroyed,
int32 /* idb_database_id */)
diff --git a/chrome/renderer/indexed_db_dispatcher.cc b/chrome/renderer/indexed_db_dispatcher.cc
index 3dbaf0b..cee495a 100644
--- a/chrome/renderer/indexed_db_dispatcher.cc
+++ b/chrome/renderer/indexed_db_dispatcher.cc
@@ -37,7 +37,7 @@ bool IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) {
}
void IndexedDBDispatcher::RequestIndexedDatabaseOpen(
- const string16& name, const string16& description, bool modify_database,
+ const string16& name, const string16& description,
WebIDBCallbacks* callbacks_ptr, const string16& origin, WebFrame* web_frame,
int* exception_code) {
scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
@@ -56,7 +56,6 @@ void IndexedDBDispatcher::RequestIndexedDatabaseOpen(
params.origin_ = origin;
params.name_ = name;
params.description_ = description;
- params.modify_database_ = modify_database;
RenderThread::current()->Send(new ViewHostMsg_IndexedDatabaseOpen(params));
}
diff --git a/chrome/renderer/indexed_db_dispatcher.h b/chrome/renderer/indexed_db_dispatcher.h
index 78bb80b..6243075 100644
--- a/chrome/renderer/indexed_db_dispatcher.h
+++ b/chrome/renderer/indexed_db_dispatcher.h
@@ -26,7 +26,7 @@ class IndexedDBDispatcher {
bool OnMessageReceived(const IPC::Message& msg);
void RequestIndexedDatabaseOpen(
- const string16& name, const string16& description, bool modify_database,
+ const string16& name, const string16& description,
WebKit::WebIDBCallbacks* callbacks, const string16& origin,
WebKit::WebFrame* web_frame, int* exception_code);
diff --git a/chrome/renderer/renderer_webidbdatabase_impl.cc b/chrome/renderer/renderer_webidbdatabase_impl.cc
index 1c8e114..8229cef 100644
--- a/chrome/renderer/renderer_webidbdatabase_impl.cc
+++ b/chrome/renderer/renderer_webidbdatabase_impl.cc
@@ -4,9 +4,14 @@
#include "chrome/renderer/renderer_webidbdatabase_impl.h"
+#include "chrome/common/render_messages.h"
#include "chrome/renderer/render_thread.h"
#include "chrome/renderer/indexed_db_dispatcher.h"
+using WebKit::WebDOMStringList;
+using WebKit::WebString;
+using WebKit::WebVector;
+
RendererWebIDBDatabaseImpl::RendererWebIDBDatabaseImpl(int32 idb_database_id)
: idb_database_id_(idb_database_id) {
}
@@ -16,3 +21,36 @@ RendererWebIDBDatabaseImpl::~RendererWebIDBDatabaseImpl() {
RenderThread::current()->indexed_db_dispatcher();
dispatcher->SendIDBDatabaseDestroyed(idb_database_id_);
}
+
+WebString RendererWebIDBDatabaseImpl::name() {
+ string16 result;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBDatabaseName(idb_database_id_, &result));
+ return result;
+}
+
+WebString RendererWebIDBDatabaseImpl::description() {
+ string16 result;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBDatabaseDescription(idb_database_id_, &result));
+ return result;
+}
+
+WebString RendererWebIDBDatabaseImpl::version() {
+ string16 result;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBDatabaseVersion(idb_database_id_, &result));
+ return result;
+}
+
+WebDOMStringList RendererWebIDBDatabaseImpl::objectStores() {
+ std::vector<string16> result;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBDatabaseObjectStores(idb_database_id_, &result));
+ WebDOMStringList webResult;
+ for (std::vector<string16>::const_iterator it = result.begin();
+ it != result.end(); ++it) {
+ webResult.append(*it);
+ }
+ return webResult;
+}
diff --git a/chrome/renderer/renderer_webidbdatabase_impl.h b/chrome/renderer/renderer_webidbdatabase_impl.h
index f4fe7fc..b0dfa9a 100644
--- a/chrome/renderer/renderer_webidbdatabase_impl.h
+++ b/chrome/renderer/renderer_webidbdatabase_impl.h
@@ -1,6 +1,6 @@
-// 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.
+// 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 CHROME_RENDERER_RENDERER_WEBIDBDATABASE_IMPL_H_
#define CHROME_RENDERER_RENDERER_WEBIDBDATABASE_IMPL_H_
@@ -14,6 +14,12 @@ class RendererWebIDBDatabaseImpl : public WebKit::WebIDBDatabase {
explicit RendererWebIDBDatabaseImpl(int32 idb_database_id);
virtual ~RendererWebIDBDatabaseImpl();
+ // WebKit::WebIDBDatabase
+ virtual WebKit::WebString name();
+ virtual WebKit::WebString description();
+ virtual WebKit::WebString version();
+ virtual WebKit::WebDOMStringList objectStores();
+
private:
int32 idb_database_id_;
};
diff --git a/chrome/renderer/renderer_webindexeddatabase_impl.cc b/chrome/renderer/renderer_webindexeddatabase_impl.cc
index 668823f..ea56e6e 100644
--- a/chrome/renderer/renderer_webindexeddatabase_impl.cc
+++ b/chrome/renderer/renderer_webindexeddatabase_impl.cc
@@ -21,12 +21,12 @@ RendererWebIndexedDatabaseImpl::~RendererWebIndexedDatabaseImpl() {
}
void RendererWebIndexedDatabaseImpl::open(
- const WebString& name, const WebString& description, bool modify_database,
+ const WebString& name, const WebString& description,
WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin,
WebFrame* web_frame, int& exception_code) {
IndexedDBDispatcher* dispatcher =
RenderThread::current()->indexed_db_dispatcher();
dispatcher->RequestIndexedDatabaseOpen(
- name, description, modify_database, callbacks,
+ name, description, callbacks,
origin.databaseIdentifier(), web_frame, &exception_code);
}
diff --git a/chrome/renderer/renderer_webindexeddatabase_impl.h b/chrome/renderer/renderer_webindexeddatabase_impl.h
index 06a6ee0..97c1010 100644
--- a/chrome/renderer/renderer_webindexeddatabase_impl.h
+++ b/chrome/renderer/renderer_webindexeddatabase_impl.h
@@ -1,6 +1,6 @@
-// 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.
+// 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 CHROME_RENDERER_RENDERER_WEBINDEXEDDATABASE_IMPL_H_
#define CHROME_RENDERER_RENDERER_WEBINDEXEDDATABASE_IMPL_H_
@@ -23,7 +23,7 @@ class RendererWebIndexedDatabaseImpl : public WebKit::WebIndexedDatabase {
// See WebIndexedDatabase.h for documentation on these functions.
virtual void open(
const WebKit::WebString& name, const WebKit::WebString& description,
- bool modify_database, WebKit::WebIDBCallbacks* callbacks,
+ WebKit::WebIDBCallbacks* callbacks,
const WebKit::WebSecurityOrigin& origin, WebKit::WebFrame* web_frame,
int& exception_code);
};