Index: Source/core/html/HTMLNameCollection.cpp |
diff --git a/Source/core/html/HTMLNameCollection.cpp b/Source/core/html/HTMLNameCollection.cpp |
index 1dc5242539e21b70e6ac34e5767da4c6ec5db638..b11ca18dd1733f2afd1c7008f92cc83e43dcb2cd 100644 |
--- a/Source/core/html/HTMLNameCollection.cpp |
+++ b/Source/core/html/HTMLNameCollection.cpp |
@@ -27,6 +27,7 @@ |
#include "core/dom/Element.h" |
#include "core/dom/ElementTraversal.h" |
#include "core/dom/NodeRareData.h" |
+#include "core/html/HTMLObjectElement.h" |
namespace WebCore { |
@@ -81,9 +82,13 @@ Element* HTMLNameCollection::virtualItemAfter(unsigned& offsetInArray, Element* |
if (current->hasTagName(formTag) || current->hasTagName(embedTag) || current->hasTagName(iframeTag)) { |
if (current->getNameAttribute() == m_name) |
return current; |
- } else if (current->hasTagName(appletTag) || current->hasTagName(objectTag)) { |
+ } else if (current->hasTagName(appletTag)) { |
if (current->getNameAttribute() == m_name || current->getIdAttribute() == m_name) |
return current; |
+ } else if (current->hasTagName(objectTag)) { |
+ if ((current->getNameAttribute() == m_name || current->getIdAttribute() == m_name) |
+ && toHTMLObjectElement(current)->isDocNamedItem()) |
+ return current; |
} else if (current->hasTagName(imgTag)) { |
if (current->getNameAttribute() == m_name || (current->getIdAttribute() == m_name && current->hasName())) |
return current; |