Index: chrome/browser/renderer_host/render_view_host.cc |
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc |
index d028db54df7a65377946bde395254674345f9a97..7206dfc962fc25493ab0d92a1c467e94aca81fc2 100644 |
--- a/chrome/browser/renderer_host/render_view_host.cc |
+++ b/chrome/browser/renderer_host/render_view_host.cc |
@@ -208,10 +208,20 @@ bool RenderViewHost::CreateRenderView() { |
modal_dialog_event.event = modal_dialog_event_handle; |
#endif |
+ // Force local storage to be enabled for extensions. This is so that we can |
+ // enable extensions by default before databases, if necessary. |
+ // TODO(aa): This should be removed when local storage and databases are |
+ // enabled by default (bugs 4359 and 4360). |
+ WebPreferences webkit_prefs = delegate_->GetWebkitPrefs(); |
+ if (delegate_->GetURL().SchemeIs(chrome::kExtensionScheme)) { |
+ webkit_prefs.local_storage_enabled = true; |
+ webkit_prefs.databases_enabled = true; |
+ } |
+ |
Send(new ViewMsg_New(GetNativeViewId(), |
modal_dialog_event, |
delegate_->GetRendererPrefs(), |
- delegate_->GetWebkitPrefs(), |
+ webkit_prefs, |
routing_id())); |
// Set the alternate error page, which is profile specific, in the renderer. |