Index: Source/core/html/HTMLEmbedElement.cpp |
diff --git a/Source/core/html/HTMLEmbedElement.cpp b/Source/core/html/HTMLEmbedElement.cpp |
index 37fc29337b2512617bf2033cd0ba8b5899bf9deb..3d366eefbb05bc2a8a4d529984fdd9af777ec0ef 100644 |
--- a/Source/core/html/HTMLEmbedElement.cpp |
+++ b/Source/core/html/HTMLEmbedElement.cpp |
@@ -54,10 +54,11 @@ PassRefPtr<HTMLEmbedElement> HTMLEmbedElement::create(Document& document, bool c |
static inline RenderWidget* findWidgetRenderer(const Node* n) |
{ |
- if (!n->renderer()) |
- do |
+ if (!n->renderer()) { |
+ do { |
n = n->parentNode(); |
- while (n && !n->hasTagName(objectTag)); |
+ } while (n && !isHTMLObjectElement(*n)); |
+ } |
if (n && n->renderer() && n->renderer()->isWidget()) |
return toRenderWidget(n->renderer()); |
@@ -174,7 +175,7 @@ bool HTMLEmbedElement::rendererIsNeeded(const RenderStyle& style) |
// If my parent is an <object> and is not set to use fallback content, I |
// should be ignored and not get a renderer. |
ContainerNode* p = parentNode(); |
- if (p && p->hasTagName(objectTag)) { |
+ if (isHTMLObjectElement(p)) { |
ASSERT(p->renderer()); |
if (!toHTMLObjectElement(p)->useFallbackContent()) { |
ASSERT(!p->renderer()->isEmbeddedObject()); |
@@ -203,7 +204,7 @@ bool HTMLEmbedElement::isExposed() const |
{ |
// http://www.whatwg.org/specs/web-apps/current-work/#exposed |
for (Node* ancestor = parentNode(); ancestor; ancestor = ancestor->parentNode()) { |
- if (ancestor->hasTagName(objectTag) && toHTMLObjectElement(ancestor)->isExposed()) |
+ if (isHTMLObjectElement(*ancestor) && toHTMLObjectElement(*ancestor).isExposed()) |
return false; |
} |
return true; |