summaryrefslogtreecommitdiffstats
path: root/chrome/browser/idbbindingutilities_browsertest.cc
diff options
context:
space:
mode:
authorlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-01 22:12:18 +0000
committerlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-01 22:12:18 +0000
commit0cef904cec62f1aa0191fd36980c6bd3e1e3e896 (patch)
tree8d3ec26fc924c85c22ee2958b09c77c8a0a24cfe /chrome/browser/idbbindingutilities_browsertest.cc
parent3c05547dc9fd08c0ca1089102b41e2d5254fd3e2 (diff)
downloadchromium_src-0cef904cec62f1aa0191fd36980c6bd3e1e3e896.zip
chromium_src-0cef904cec62f1aa0191fd36980c6bd3e1e3e896.tar.gz
chromium_src-0cef904cec62f1aa0191fd36980c6bd3e1e3e896.tar.bz2
Make Index DB code that accesses WebKit initialize WebKit first.
BUG=None TEST=InProcessBrowserTest,IDBKeyPathWithoutSandbox after https://bugs.webkit.org/show_bug.cgi?id=64577 is landed. Review URL: http://codereview.chromium.org/7483001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94991 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/idbbindingutilities_browsertest.cc')
-rw-r--r--chrome/browser/idbbindingutilities_browsertest.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/chrome/browser/idbbindingutilities_browsertest.cc b/chrome/browser/idbbindingutilities_browsertest.cc
index c4ffc9b..327b723 100644
--- a/chrome/browser/idbbindingutilities_browsertest.cc
+++ b/chrome/browser/idbbindingutilities_browsertest.cc
@@ -13,14 +13,34 @@
#include "content/common/utility_messages.h"
#include "googleurl/src/gurl.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebSerializedScriptValue.h"
#include "webkit/glue/idb_bindings.h"
#include "webkit/glue/web_io_operators.h"
+#include "webkit/glue/webkitclient_impl.h"
using WebKit::WebSerializedScriptValue;
+// Enables calling WebKit::shutdown no matter where a "return" happens.
+class ScopedShutdownWebKit {
+ public:
+ ScopedShutdownWebKit() {
+ }
+
+ ~ScopedShutdownWebKit() {
+ WebKit::shutdown();
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ScopedShutdownWebKit);
+};
+
// Sanity test, check the function call directly outside the sandbox.
TEST(IDBKeyPathWithoutSandbox, Value) {
+ webkit_glue::WebKitClientImpl webkit_client;
+ WebKit::initialize(&webkit_client);
+ ScopedShutdownWebKit shutdown_webkit;
+
char16 data[] = {0x0353,0x6f66,0x536f,0x7a03,0x6f6f,0x017b};
std::vector<WebSerializedScriptValue> serialized_values;
serialized_values.push_back(