Index: third_party/WebKit/Source/core/page/Page.cpp |
diff --git a/third_party/WebKit/Source/core/page/Page.cpp b/third_party/WebKit/Source/core/page/Page.cpp |
index 4e2a89a2e20ff22690e5f00de814170cd6d4b0ce..9a8b1d37da5c4ce09bed84e7946b50022ecc130d 100644 |
--- a/third_party/WebKit/Source/core/page/Page.cpp |
+++ b/third_party/WebKit/Source/core/page/Page.cpp |
@@ -245,8 +245,10 @@ void Page::refreshPlugins() |
PluginData* Page::pluginData() const |
{ |
- if (!m_pluginData) |
- m_pluginData = PluginData::create(this); |
+ RefPtr<SecurityOrigin> mainFrameOrigin = mainFrame()->securityContext()->getSecurityOrigin(); |
+ |
+ if (!m_pluginData || !mainFrameOrigin->isSameSchemeHostPort(m_pluginData->origin())) |
+ m_pluginData = PluginData::create(mainFrameOrigin); |
return m_pluginData.get(); |
} |