Index: chrome/browser/renderer_host/chrome_render_message_filter.cc |
=================================================================== |
--- chrome/browser/renderer_host/chrome_render_message_filter.cc (revision 83945) |
+++ chrome/browser/renderer_host/chrome_render_message_filter.cc (working copy) |
@@ -23,6 +23,7 @@ |
#include "chrome/common/pref_names.h" |
#include "chrome/common/render_messages.h" |
#include "content/browser/renderer_host/render_process_host.h" |
+#include "content/browser/renderer_host/render_view_host_notification_task.h" |
#include "content/browser/renderer_host/resource_dispatcher_host.h" |
#if defined(USE_TCMALLOC) |
@@ -71,9 +72,9 @@ |
#if defined(USE_TCMALLOC) |
IPC_MESSAGE_HANDLER(ViewHostMsg_RendererTcmalloc, OnRendererTcmalloc) |
#endif |
- IPC_MESSAGE_HANDLER(ViewHostMsg_GetPluginPolicies, |
- OnGetPluginPolicies) |
+ IPC_MESSAGE_HANDLER(ViewHostMsg_GetPluginPolicies, OnGetPluginPolicies) |
IPC_MESSAGE_HANDLER(ViewHostMsg_AllowDatabase, OnAllowDatabase) |
+ IPC_MESSAGE_HANDLER(ViewHostMsg_AllowDOMStorage, OnAllowDOMStorage) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
@@ -304,11 +305,24 @@ |
unsigned long estimated_size, |
bool* result) { |
GURL url(origin_url); |
- ContentSetting content_setting = |
- host_content_settings_map_->GetContentSetting( |
- url, CONTENT_SETTINGS_TYPE_COOKIES, ""); |
- DCHECK((content_setting == CONTENT_SETTING_ALLOW) || |
- (content_setting == CONTENT_SETTING_BLOCK) || |
- (content_setting == CONTENT_SETTING_SESSION_ONLY)); |
- *result = content_setting != CONTENT_SETTING_BLOCK; |
+ ContentSetting setting = host_content_settings_map_->GetContentSetting( |
+ url, CONTENT_SETTINGS_TYPE_COOKIES, ""); |
+ DCHECK((setting == CONTENT_SETTING_ALLOW) || |
+ (setting == CONTENT_SETTING_BLOCK) || |
+ (setting == CONTENT_SETTING_SESSION_ONLY)); |
+ *result = setting != CONTENT_SETTING_BLOCK; |
} |
+ |
+void ChromeRenderMessageFilter::OnAllowDOMStorage(int render_view_id, |
+ const GURL& url, |
+ DOMStorageType type, |
+ bool* result) { |
+ ContentSetting setting = host_content_settings_map_->GetContentSetting( |
+ url, CONTENT_SETTINGS_TYPE_COOKIES, ""); |
+ *result = setting != CONTENT_SETTING_BLOCK; |
+ // If content was blocked, tell the UI to display the blocked content icon. |
+ CallRenderViewHostContentSettingsDelegate( |
+ render_process_id_, render_view_id, |
+ &RenderViewHostDelegate::ContentSettings::OnLocalStorageAccessed, |
+ url, type, *result); |
+} |