diff options
author | Ben Murdoch <benm@google.com> | 2010-10-22 13:02:20 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-10-26 15:21:41 +0100 |
commit | a94275402997c11dd2e778633dacf4b7e630a35d (patch) | |
tree | e66f56c67e3b01f22c9c23cd932271ee9ac558ed /WebCore/html/HTMLPlugInElement.cpp | |
parent | 09e26c78506587b3f5d930d7bc72a23287ffbec0 (diff) | |
download | external_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.cpp | 9 |
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; |