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 887326eada4986fe5c4b1e09664b26df0716726a..9bc1f111be617b18510f0db6ad4de735ffa0e6b8 100644 |
--- a/third_party/WebKit/Source/core/page/Page.cpp |
+++ b/third_party/WebKit/Source/core/page/Page.cpp |
@@ -229,10 +229,7 @@ void Page::setNeedsRecalcStyleInAllFrames() |
void Page::refreshPlugins() |
{ |
- if (allPages().isEmpty()) |
- return; |
- |
- PluginData::refresh(); |
+ PluginData::refreshBrowserSidePluginCache(); |
for (const Page* page : allPages()) { |
// Clear out the page's plugin data. |
@@ -241,10 +238,10 @@ void Page::refreshPlugins() |
} |
} |
-PluginData* Page::pluginData() const |
+PluginData* Page::pluginData(SecurityOrigin* mainFrameOrigin) const |
{ |
- if (!m_pluginData) |
- m_pluginData = PluginData::create(this); |
+ if (!m_pluginData || !mainFrameOrigin->isSameSchemeHostPort(m_pluginData->origin())) |
+ m_pluginData = PluginData::create(mainFrameOrigin); |
return m_pluginData.get(); |
} |