| Index: Source/web/FrameLoaderClientImpl.cpp
 | 
| diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp
 | 
| index 8e8767ebea7e03fe88bdf797d09beec1c29fcbe1..32effe13c20ed436598c48b2e05695dbf64df91f 100644
 | 
| --- a/Source/web/FrameLoaderClientImpl.cpp
 | 
| +++ b/Source/web/FrameLoaderClientImpl.cpp
 | 
| @@ -600,6 +600,14 @@ PassRefPtr<Frame> FrameLoaderClientImpl::createFrame(
 | 
|      return m_webFrame->createChildFrame(frameRequest, ownerElement);
 | 
|  }
 | 
|  
 | 
| +bool FrameLoaderClientImpl::canCreatePluginWithoutRenderer(const String& mimeType) const
 | 
| +{
 | 
| +    if (!m_webFrame->client())
 | 
| +        return false;
 | 
| +
 | 
| +    return m_webFrame->client()->canCreatePluginWithoutRenderer(mimeType);
 | 
| +}
 | 
| +
 | 
|  PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
 | 
|      const IntSize& size, // FIXME: how do we use this?
 | 
|      HTMLPlugInElement* element,
 | 
| @@ -607,7 +615,8 @@ PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
 | 
|      const Vector<String>& paramNames,
 | 
|      const Vector<String>& paramValues,
 | 
|      const String& mimeType,
 | 
| -    bool loadManually)
 | 
| +    bool loadManually,
 | 
| +    PluginLoadType loadType)
 | 
|  {
 | 
|      if (!m_webFrame->client())
 | 
|          return 0;
 | 
| @@ -631,7 +640,7 @@ PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
 | 
|          return 0;
 | 
|  
 | 
|      // The element might have been removed during plugin initialization!
 | 
| -    if (!element->renderer())
 | 
| +    if (!element->renderer() && loadType != PluginLoadWithoutRenderer)
 | 
|          return 0;
 | 
|  
 | 
|      return container;
 | 
| 
 |