| Index: Source/web/WebHelperPluginImpl.cpp
 | 
| diff --git a/Source/web/WebHelperPluginImpl.cpp b/Source/web/WebHelperPluginImpl.cpp
 | 
| index a86759cf6e17703560e9a96973867079b9f5f179..28c2e0a7b868809aacafafcb49e080e8ced87d47 100644
 | 
| --- a/Source/web/WebHelperPluginImpl.cpp
 | 
| +++ b/Source/web/WebHelperPluginImpl.cpp
 | 
| @@ -57,6 +57,14 @@ WebHelperPluginImpl::WebHelperPluginImpl()
 | 
|  
 | 
|  WebHelperPluginImpl::~WebHelperPluginImpl()
 | 
|  {
 | 
| +#if ENABLE(OILPAN)
 | 
| +    // FIXME: Oilpan: it is potentially problematic to support plugin
 | 
| +    // disposal during an Oilpan GC. If it happens, we need to know
 | 
| +    // and evaluate possible ways to handle it.
 | 
| +    ASSERT(!ThreadState::current()->isSweepInProgress());
 | 
| +    if (m_pluginContainer)
 | 
| +        m_pluginContainer->dispose();
 | 
| +#endif
 | 
|  }
 | 
|  
 | 
|  bool WebHelperPluginImpl::initialize(const String& pluginType, WebLocalFrameImpl* frame)
 | 
| @@ -69,7 +77,7 @@ bool WebHelperPluginImpl::initialize(const String& pluginType, WebLocalFrameImpl
 | 
|      Vector<String> attributeNames;
 | 
|      Vector<String> attributeValues;
 | 
|      ASSERT(frame->frame()->document()->url().isValid());
 | 
| -    m_pluginContainer = adoptRef(toWebPluginContainerImpl(frame->frame()->loader().client()->createPlugin(
 | 
| +    m_pluginContainer = adoptRefWillBeNoop(toWebPluginContainerImpl(frame->frame()->loader().client()->createPlugin(
 | 
|          m_objectElement.get(),
 | 
|          frame->frame()->document()->url(),
 | 
|          attributeNames,
 | 
| 
 |