diff options
author | Steve Block <steveblock@google.com> | 2010-09-09 11:17:57 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-09-09 12:20:26 +0100 |
commit | 6dba6e09f232d333432972b64d0074cbee59ca7a (patch) | |
tree | 3c3a51e681b5b6f86c8114b6e3908232222449c3 | |
parent | 3f2f7e2fd4924ef8eaf542740438ede42a81732e (diff) | |
download | external_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
-rw-r--r-- | WebCore/page/Page.cpp | 8 |
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()) { |