summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/extensions/extension_storage_apitest.cc3
-rw-r--r--chrome/browser/renderer_host/browser_render_process_host.cc4
-rw-r--r--chrome/browser/renderer_host/browser_render_process_host.h2
-rw-r--r--chrome/browser/renderer_host/mock_render_process_host.cc2
-rw-r--r--chrome/browser/renderer_host/mock_render_process_host.h2
-rw-r--r--chrome/browser/renderer_host/render_process_host.h2
-rw-r--r--chrome/browser/renderer_host/render_view_host.cc6
7 files changed, 12 insertions, 9 deletions
diff --git a/chrome/browser/extensions/extension_storage_apitest.cc b/chrome/browser/extensions/extension_storage_apitest.cc
index 849b78b..b75cc0e 100644
--- a/chrome/browser/extensions/extension_storage_apitest.cc
+++ b/chrome/browser/extensions/extension_storage_apitest.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/extensions/extension_apitest.h"
-// Started failing with r29947. WebKit merge 49961:49992.
-IN_PROC_BROWSER_TEST_F(ExtensionApiTest, DISABLED_Storage) {
+IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Storage) {
ASSERT_TRUE(RunExtensionTest("storage")) << message_;
}
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/chrome/browser/renderer_host/browser_render_process_host.cc
index 7831ab5..fa44f14 100644
--- a/chrome/browser/renderer_host/browser_render_process_host.cc
+++ b/chrome/browser/renderer_host/browser_render_process_host.cc
@@ -243,7 +243,7 @@ BrowserRenderProcessHost::~BrowserRenderProcessHost() {
NotificationService::NoDetails());
}
-bool BrowserRenderProcessHost::Init() {
+bool BrowserRenderProcessHost::Init(bool is_extensions_process) {
// calling Init() more than once does nothing, this makes it more convenient
// for the view host which may not be sure in some cases
if (channel_.get())
@@ -290,6 +290,8 @@ bool BrowserRenderProcessHost::Init() {
CommandLine cmd_line(renderer_path);
cmd_line.AppendSwitchWithValue(switches::kProcessChannelID,
ASCIIToWide(channel_id));
+ if (is_extensions_process)
+ cmd_line.AppendSwitch(switches::kEnableDatabases);
bool has_cmd_prefix;
AppendRendererCommandLine(&cmd_line, &has_cmd_prefix);
diff --git a/chrome/browser/renderer_host/browser_render_process_host.h b/chrome/browser/renderer_host/browser_render_process_host.h
index b7c6803..8005e2c 100644
--- a/chrome/browser/renderer_host/browser_render_process_host.h
+++ b/chrome/browser/renderer_host/browser_render_process_host.h
@@ -54,7 +54,7 @@ class BrowserRenderProcessHost : public RenderProcessHost,
~BrowserRenderProcessHost();
// RenderProcessHost implementation (public portion).
- virtual bool Init();
+ virtual bool Init(bool is_extensions_process);
virtual int GetNextRoutingID();
virtual void CancelResourceRequests(int render_widget_id);
virtual void CrossSiteClosePageACK(const ViewMsg_ClosePage_Params& params);
diff --git a/chrome/browser/renderer_host/mock_render_process_host.cc b/chrome/browser/renderer_host/mock_render_process_host.cc
index 8e3dd3f..55fd014 100644
--- a/chrome/browser/renderer_host/mock_render_process_host.cc
+++ b/chrome/browser/renderer_host/mock_render_process_host.cc
@@ -14,7 +14,7 @@ MockRenderProcessHost::~MockRenderProcessHost() {
delete transport_dib_;
}
-bool MockRenderProcessHost::Init() {
+bool MockRenderProcessHost::Init(bool is_extensions_process) {
return true;
}
diff --git a/chrome/browser/renderer_host/mock_render_process_host.h b/chrome/browser/renderer_host/mock_render_process_host.h
index e28ac68..79f1539 100644
--- a/chrome/browser/renderer_host/mock_render_process_host.h
+++ b/chrome/browser/renderer_host/mock_render_process_host.h
@@ -30,7 +30,7 @@ class MockRenderProcessHost : public RenderProcessHost {
int bad_msg_count() const { return bad_msg_count_; }
// RenderProcessHost implementation (public portion).
- virtual bool Init();
+ virtual bool Init(bool is_extensions_process);
virtual int GetNextRoutingID();
virtual void CancelResourceRequests(int render_widget_id);
virtual void CrossSiteClosePageACK(const ViewMsg_ClosePage_Params& params);
diff --git a/chrome/browser/renderer_host/render_process_host.h b/chrome/browser/renderer_host/render_process_host.h
index 5c15b1c..e3e068f 100644
--- a/chrome/browser/renderer_host/render_process_host.h
+++ b/chrome/browser/renderer_host/render_process_host.h
@@ -138,7 +138,7 @@ class RenderProcessHost : public IPC::Channel::Sender,
// be called once before the object can be used, but can be called after
// that with no effect. Therefore, if the caller isn't sure about whether
// the process has been created, it should just call Init().
- virtual bool Init() = 0;
+ virtual bool Init(bool is_extensions_process) = 0;
// Gets the next available routing id.
virtual int GetNextRoutingID() = 0;
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc
index 5d3e350..78c7fb0 100644
--- a/chrome/browser/renderer_host/render_view_host.cc
+++ b/chrome/browser/renderer_host/render_view_host.cc
@@ -175,7 +175,9 @@ bool RenderViewHost::CreateRenderView() {
// initialized it) or may not (we have our own process or the old process
// crashed) have been initialized. Calling Init multiple times will be
// ignored, so this is safe.
- if (!process()->Init())
+ bool is_extensions_process =
+ BindingsPolicy::is_extension_enabled(enabled_bindings_);
+ if (!process()->Init(is_extensions_process))
return false;
DCHECK(process()->HasConnection());
DCHECK(process()->profile());
@@ -185,7 +187,7 @@ bool RenderViewHost::CreateRenderView() {
process()->id());
}
- if (BindingsPolicy::is_extension_enabled(enabled_bindings_)) {
+ if (is_extensions_process) {
ChildProcessSecurityPolicy::GetInstance()->GrantExtensionBindings(
process()->id());
}