--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp Fri Apr 16 15:50:13 2010 +0300
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp Mon May 03 13:17:34 2010 +0300
@@ -1260,9 +1260,11 @@
ASSERT(renderer->node()->hasTagName(objectTag) || renderer->node()->hasTagName(embedTag));
HTMLPlugInElement* element = static_cast<HTMLPlugInElement*>(renderer->node());
-
- // FIXME: OK to always make a new frame? When does the old frame get removed?
- return loadSubframe(element, completedURL, frameName, m_outgoingReferrer);
+
+ // If the plug-in element already contains a subframe, requestFrame will re-use it. Otherwise,
+ // it will create a new frame and set it as the RenderPart's widget, causing what was previously
+ // in the widget to be torn down.
+ return requestFrame(element, completedURL, frameName);
}
bool FrameLoader::shouldUsePlugin(const KURL& url, const String& mimeType, bool hasFallback, bool& useFallback)