summaryrefslogtreecommitdiffstats
path: root/webkit/api/src/WebPluginContainerImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/api/src/WebPluginContainerImpl.cpp')
-rw-r--r--webkit/api/src/WebPluginContainerImpl.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/webkit/api/src/WebPluginContainerImpl.cpp b/webkit/api/src/WebPluginContainerImpl.cpp
index fb1e416..6e2dc42 100644
--- a/webkit/api/src/WebPluginContainerImpl.cpp
+++ b/webkit/api/src/WebPluginContainerImpl.cpp
@@ -255,8 +255,10 @@ void WebPluginContainerImpl::loadFrameRequest(
// FIXME: This is a bit of hack to allow us to observe completion of
// our frame request. It would be better to evolve FrameLoader to
// support a completion callback instead.
- WebDataSourceImpl::setNextPluginLoadObserver(
- new WebPluginLoadObserver(this, request.url(), notifyData));
+ WebPluginLoadObserver* observer =
+ new WebPluginLoadObserver(this, request.url(), notifyData);
+ m_pluginLoadObservers.append(observer);
+ WebDataSourceImpl::setNextPluginLoadObserver(observer);
}
FrameLoadRequest frameRequest(request.toResourceRequest());
@@ -312,6 +314,8 @@ void WebPluginContainerImpl::willDestroyPluginLoadObserver(WebPluginLoadObserver
WebPluginContainerImpl::~WebPluginContainerImpl()
{
+ for (size_t i = 0; i < m_pluginLoadObservers.size(); ++i)
+ m_pluginLoadObservers[i]->clearPluginContainer();
m_webPlugin->destroy();
}