Chromium Code Reviews| Index: content/browser/frame_host/render_frame_message_filter.cc |
| diff --git a/content/browser/frame_host/render_frame_message_filter.cc b/content/browser/frame_host/render_frame_message_filter.cc |
| index a4a91b09e4869065e1ba2ea995e6442ea2a7d189..22bdf086cd8a068b005fcc2063b8244910d147fd 100644 |
| --- a/content/browser/frame_host/render_frame_message_filter.cc |
| +++ b/content/browser/frame_host/render_frame_message_filter.cc |
| @@ -466,9 +466,9 @@ void RenderFrameMessageFilter::SetCookie(int32_t render_frame_id, |
| #if defined(ENABLE_PLUGINS) |
| -void RenderFrameMessageFilter::OnGetPlugins( |
| - bool refresh, |
| - IPC::Message* reply_msg) { |
| +void RenderFrameMessageFilter::OnGetPlugins(bool refresh, |
| + url::Origin main_frame_origin, |
| + IPC::Message* reply_msg) { |
| // Don't refresh if the specified threshold has not been passed. Note that |
| // this check is performed before off-loading to the file thread. The reason |
| // we do this is that some pages tend to request that the list of plugins be |
| @@ -486,12 +486,14 @@ void RenderFrameMessageFilter::OnGetPlugins( |
| } |
| } |
| - PluginServiceImpl::GetInstance()->GetPlugins(base::Bind( |
| - &RenderFrameMessageFilter::GetPluginsCallback, this, reply_msg)); |
| + PluginServiceImpl::GetInstance()->GetPlugins( |
| + base::Bind(&RenderFrameMessageFilter::GetPluginsCallback, this, reply_msg, |
| + main_frame_origin)); |
| } |
| void RenderFrameMessageFilter::GetPluginsCallback( |
| IPC::Message* reply_msg, |
| + url::Origin main_frame_origin, |
| const std::vector<WebPluginInfo>& all_plugins) { |
| // Filter the plugin list. |
| PluginServiceFilter* filter = PluginServiceImpl::GetInstance()->GetFilter(); |
| @@ -502,12 +504,10 @@ void RenderFrameMessageFilter::GetPluginsCallback( |
| // In this loop, copy the WebPluginInfo (and do not use a reference) because |
| // the filter might mutate it. |
| for (WebPluginInfo plugin : all_plugins) { |
| - if (!filter || filter->IsPluginAvailable(child_process_id, |
| - routing_id, |
| - resource_context_, |
| - GURL(), |
| - GURL(), |
| - &plugin)) { |
| + if (!filter || |
| + filter->IsPluginAvailable( |
|
alexmos
2016/08/02 22:06:27
Looking at IsPluginAvailable implementations, they
trizzofo
2016/08/03 00:08:37
Yes, we are working on it:
https://crrev.com/22084
|
| + child_process_id, routing_id, resource_context_, GURL(), |
| + GURL(main_frame_origin.Serialize()), &plugin)) { |
|
alexmos
2016/08/02 22:06:27
Is there a way to just use url::Origins in IsPlugi
trizzofo
2016/08/03 00:08:37
The only reason why we're using unique origins is
alexmos
2016/08/04 05:32:02
Ah, looking at your https://crrev.com/2208463002,
trizzofo
2016/08/05 02:04:25
Yes, I took a better look at url::Origin construct
|
| plugins.push_back(plugin); |
| } |
| } |