Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index 62fc9409f759fbef9be22531dc946884bf407b15..659d78d02a8d7927463b0b3156e6d505d236052c 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -576,11 +576,18 @@ bool ChromeContentRendererClient::OverrideCreatePlugin( |
} |
#endif |
+ const WebSecurityOrigin top_level_security_origin = |
+ frame->top()->securityOrigin(); |
+ GURL top_level_frame_origin_url; |
+ // TODO(lazyboy): What happens if |top_level_security_origin| is NULL? |
+ if (!top_level_security_origin.isNull()) |
+ top_level_frame_origin_url = GURL(top_level_security_origin.toString()); |
+ |
ChromeViewHostMsg_GetPluginInfo_Output output; |
#if defined(ENABLE_PLUGINS) |
render_frame->Send(new ChromeViewHostMsg_GetPluginInfo( |
render_frame->GetRoutingID(), GURL(params.url), |
- frame->top()->document().url(), orig_mime_type, &output)); |
+ top_level_frame_origin_url, orig_mime_type, &output)); |
if (output.plugin.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) |
return false; |