summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_thread.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 12:59:11 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 12:59:11 +0000
commit70c19a930beddde0e382777cb8799e7c8ebb1625 (patch)
tree887ab4d3962e19a5d114f205c0871ba2f9cf1e98 /chrome/renderer/render_thread.cc
parent7d754b0c3f04087aad0931141cdbdfbf1a82ba41 (diff)
downloadchromium_src-70c19a930beddde0e382777cb8799e7c8ebb1625.zip
chromium_src-70c19a930beddde0e382777cb8799e7c8ebb1625.tar.gz
chromium_src-70c19a930beddde0e382777cb8799e7c8ebb1625.tar.bz2
Implement IndexedDatabase::open up until re-entrance into WebKit. That (and the
rest of IndexedDB) will be done in subsequent patches. Included in this patch is a lot of other infrastructure for making IndexedDB work. Included is a conversion from the DOMStorageDispatcherHost into a dispatcher host for all APIs that have a backend in WebKit. I named it WebKitAPIDispatcherHost. Since it's in browser/in_process_webkit and it is for APIs that connect up to the WebKit API and it's used for APIs whose backend is implemented in WebKit I thought the name was decent and not _too_ confusing, but if you have better ideas, please let me know. This includes some code that you've already reviewed (darin), but a lot has changed so please take a look at all of it. TEST=Not much to test yet + behind a flag. BUG=none Review URL: http://codereview.chromium.org/1599009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47268 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_thread.cc')
-rw-r--r--chrome/renderer/render_thread.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc
index bccacf6..92b4b80 100644
--- a/chrome/renderer/render_thread.cc
+++ b/chrome/renderer/render_thread.cc
@@ -50,12 +50,14 @@
#include "chrome/renderer/extensions/js_only_v8_extensions.h"
#include "chrome/renderer/extensions/renderer_extension_bindings.h"
#include "chrome/renderer/external_extension.h"
+#include "chrome/renderer/indexed_db_dispatcher.h"
#include "chrome/renderer/loadtimes_extension_bindings.h"
#include "chrome/renderer/net/render_dns_master.h"
#include "chrome/renderer/plugin_channel_host.h"
#include "chrome/renderer/render_process_impl.h"
#include "chrome/renderer/render_view.h"
#include "chrome/renderer/render_view_visitor.h"
+#include "chrome/renderer/renderer_webindexeddatabase_impl.h"
#include "chrome/renderer/renderer_webkitclient_impl.h"
#include "chrome/renderer/spellchecker/spellcheck.h"
#include "chrome/renderer/user_script_slave.h"
@@ -234,6 +236,7 @@ void RenderThread::Init() {
dns_master_.reset(new RenderDnsMaster());
histogram_snapshots_.reset(new RendererHistogramSnapshots());
appcache_dispatcher_.reset(new AppCacheDispatcher(this));
+ indexed_db_dispatcher_.reset(new IndexedDBDispatcher());
spellchecker_.reset(new SpellCheck());
devtools_agent_filter_ = new DevToolsAgentFilter();
@@ -522,9 +525,11 @@ void RenderThread::OnDOMStorageEvent(
}
void RenderThread::OnControlMessageReceived(const IPC::Message& msg) {
- // App cache messages are handled by a delegate.
+ // Some messages are handled by delegates.
if (appcache_dispatcher_->OnMessageReceived(msg))
return;
+ if (indexed_db_dispatcher_->OnMessageReceived(msg))
+ return;
IPC_BEGIN_MESSAGE_MAP(RenderThread, msg)
IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_NewTable, OnUpdateVisitedLinks)