summaryrefslogtreecommitdiffstats
path: root/WebCore/html/HTMLPlugInElement.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-10-22 13:02:20 +0100
committerBen Murdoch <benm@google.com>2010-10-26 15:21:41 +0100
commita94275402997c11dd2e778633dacf4b7e630a35d (patch)
treee66f56c67e3b01f22c9c23cd932271ee9ac558ed /WebCore/html/HTMLPlugInElement.cpp
parent09e26c78506587b3f5d930d7bc72a23287ffbec0 (diff)
downloadexternal_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.zip
external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.tar.gz
external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.tar.bz2
Merge WebKit at r70209: Initial merge by Git
Change-Id: Id23a68efa36e9d1126bcce0b137872db00892c8e
Diffstat (limited to 'WebCore/html/HTMLPlugInElement.cpp')
-rw-r--r--WebCore/html/HTMLPlugInElement.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/WebCore/html/HTMLPlugInElement.cpp b/WebCore/html/HTMLPlugInElement.cpp
index 25ef751..bf2722b 100644
--- a/WebCore/html/HTMLPlugInElement.cpp
+++ b/WebCore/html/HTMLPlugInElement.cpp
@@ -49,10 +49,11 @@ using namespace HTMLNames;
HTMLPlugInElement::HTMLPlugInElement(const QualifiedName& tagName, Document* doc)
: HTMLFrameOwnerElement(tagName, doc)
+ , m_inBeforeLoadEventHandler(false)
#if ENABLE(NETSCAPE_PLUGIN_API)
, m_NPObject(0)
- , m_isCapturingMouseEvents(false)
#endif
+ , m_isCapturingMouseEvents(false)
{
}
@@ -100,6 +101,12 @@ PassScriptInstance HTMLPlugInElement::getInstance() const
Widget* HTMLPlugInElement::pluginWidget() const
{
+ if (m_inBeforeLoadEventHandler) {
+ // The plug-in hasn't loaded yet, and it makes no sense to try to load if beforeload handler happened to touch the plug-in element.
+ // That would recursively call beforeload for the same element.
+ return 0;
+ }
+
RenderWidget* renderWidget = renderWidgetForJSBindings();
if (!renderWidget)
return 0;