summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-09-09 11:17:57 +0100
committerSteve Block <steveblock@google.com>2010-09-09 12:20:26 +0100
commit6dba6e09f232d333432972b64d0074cbee59ca7a (patch)
tree3c3a51e681b5b6f86c8114b6e3908232222449c3 /WebCore
parent3f2f7e2fd4924ef8eaf542740438ede42a81732e (diff)
downloadexternal_webkit-6dba6e09f232d333432972b64d0074cbee59ca7a.zip
external_webkit-6dba6e09f232d333432972b64d0074cbee59ca7a.tar.gz
external_webkit-6dba6e09f232d333432972b64d0074cbee59ca7a.tar.bz2
Cherry-pick security fix in WebKit change 65280
See http://trac.webkit.org/changeset/65280 Bug: 2986936 Change-Id: Ia70edaa46747536a9e7adc05493ef70a9baec610
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/page/Page.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index c7d3de1..7de1a09 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -393,7 +393,13 @@ void Page::refreshPlugins(bool reload)
HashSet<Page*>::iterator end = allPages->end();
for (HashSet<Page*>::iterator it = allPages->begin(); it != end; ++it) {
- (*it)->m_pluginData = 0;
+ Page* page = *it;
+
+ // Clear out the page's plug-in data.
+ if (page->m_pluginData) {
+ page->m_pluginData->disconnectPage();
+ page->m_pluginData = 0;
+ }
if (reload) {
for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {