Index: Source/web/FrameLoaderClientImpl.cpp |
diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp |
index a6c41a64410c84aff12b9259375fbd5e85e31dd5..3298d236ce8544be12f66dc4175f374b8cc72219 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; |