summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webkitclient_impl.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-05 14:58:18 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-05 14:58:18 +0000
commitf1b873f51bda1b262f00bc0fc98814c28cb2250c (patch)
treec8762defdcf3f4d162274628a10858a5d22caef1 /chrome/renderer/renderer_webkitclient_impl.cc
parent2764785da139b0ac8a100da105c281b55489b3ae (diff)
downloadchromium_src-f1b873f51bda1b262f00bc0fc98814c28cb2250c.zip
chromium_src-f1b873f51bda1b262f00bc0fc98814c28cb2250c.tar.gz
chromium_src-f1b873f51bda1b262f00bc0fc98814c28cb2250c.tar.bz2
Land http://codereview.chromium.org/3167045/show
Make Marcus's KeyPath code work with single process mode for IndexedDB. TEST=none BUG=none Review URL: http://codereview.chromium.org/3296008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58607 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webkitclient_impl.cc')
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc
index ec5c08c..6830590 100644
--- a/chrome/renderer/renderer_webkitclient_impl.cc
+++ b/chrome/renderer/renderer_webkitclient_impl.cc
@@ -31,6 +31,9 @@
#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
#include "third_party/WebKit/WebKit/chromium/public/WebGraphicsContext3D.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBFactory.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebIDBKey.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebIDBKeyPath.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebSerializedScriptValue.h"
#include "third_party/WebKit/WebKit/chromium/public/WebStorageEventDispatcher.h"
#include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
#include "third_party/WebKit/WebKit/chromium/public/WebVector.h"
@@ -66,7 +69,10 @@ using WebKit::WebBlobRegistry;
using WebKit::WebFileSystem;
using WebKit::WebFrame;
using WebKit::WebIDBFactory;
+using WebKit::WebIDBKey;
+using WebKit::WebIDBKeyPath;
using WebKit::WebKitClient;
+using WebKit::WebSerializedScriptValue;
using WebKit::WebStorageArea;
using WebKit::WebStorageEventDispatcher;
using WebKit::WebStorageNamespace;
@@ -285,6 +291,19 @@ WebIDBFactory* RendererWebKitClientImpl::idbFactory() {
return web_idb_factory_.get();
}
+void RendererWebKitClientImpl::createIDBKeysFromSerializedValuesAndKeyPath(
+ const WebVector<WebSerializedScriptValue>& values,
+ const WebString& keyPath,
+ WebVector<WebIDBKey>& keys_out) {
+ DCHECK(CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess));
+ WebVector<WebIDBKey> keys(values.size());
+ for (size_t i = 0; i < values.size(); ++i) {
+ keys[i] = WebIDBKey::createFromValueAndKeyPath(
+ values[i], WebIDBKeyPath::create(keyPath));
+ }
+ keys_out.swap(keys);
+}
+
//------------------------------------------------------------------------------
WebFileSystem* RendererWebKitClientImpl::fileSystem() {