Index: content/browser/renderer_host/pepper/pepper_message_filter.cc |
diff --git a/content/browser/renderer_host/pepper/pepper_message_filter.cc b/content/browser/renderer_host/pepper/pepper_message_filter.cc |
index 924176379ca38cfb751c9042ecd9c094fd42309c..25386e6c50556e2f1a53d4c9a5539f823591e049 100644 |
--- a/content/browser/renderer_host/pepper/pepper_message_filter.cc |
+++ b/content/browser/renderer_host/pepper/pepper_message_filter.cc |
@@ -182,6 +182,8 @@ if (process_type_ == PLUGIN) { |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_UpdateActivity, OnUpdateActivity) |
IPC_MESSAGE_HANDLER(PepperMsg_GetDeviceID, OnGetDeviceID) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlashDeviceID_Get, OnGetDeviceIDAsync) |
+ IPC_MESSAGE_HANDLER(PepperMsg_GetLocalDataRestrictions, |
+ OnGetLocalDataRestrictions) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP_EX() |
@@ -714,6 +716,26 @@ void PepperMessageFilter::OnGetDeviceIDAsync(int32_t routing_id, |
result)); |
} |
+void PepperMessageFilter::OnGetLocalDataRestrictions(int32_t render_view_id, |
+ const GURL& url, |
+ bool* block_access, |
+ bool* in_memory) { |
+ GURL site_url = url; |
+ RenderViewHostImpl* render_view_host = |
+ RenderViewHostImpl::FromID(process_id_, render_view_id); |
+ if (render_view_host) { |
+ content::SiteInstance* site_instance = render_view_host->GetSiteInstance(); |
+ if (site_instance) |
+ site_url = site_instance->GetSite(); |
+ } |
+ |
+ content::ContentBrowserClient* client = |
+ content::GetContentClient()->browser(); |
+ *block_access = !client->AllowPluginLocalDataAccess(site_url, url, |
+ resource_context_); |
+ *in_memory = client->AllowPluginLocalDataSessionOnly(url, resource_context_); |
+} |
+ |
void PepperMessageFilter::GetFontFamiliesComplete( |
IPC::Message* reply_msg, |
scoped_ptr<base::ListValue> result) { |