summaryrefslogtreecommitdiffstats
path: root/WebCore/html/HTMLObjectElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/html/HTMLObjectElement.cpp')
-rw-r--r--WebCore/html/HTMLObjectElement.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/WebCore/html/HTMLObjectElement.cpp b/WebCore/html/HTMLObjectElement.cpp
index 6f85d18..a41e037 100644
--- a/WebCore/html/HTMLObjectElement.cpp
+++ b/WebCore/html/HTMLObjectElement.cpp
@@ -119,14 +119,15 @@ void HTMLObjectElement::parseMappedAttribute(MappedAttribute *attr)
bool HTMLObjectElement::rendererIsNeeded(RenderStyle* style)
{
- if (m_useFallbackContent || isImageType())
- return HTMLPlugInElement::rendererIsNeeded(style);
-
Frame* frame = document()->frame();
if (!frame)
return false;
- return true;
+ // Temporary Workaround for Gears plugin - see bug 24215 for details and bug 24346 to track removal.
+ // Gears expects the plugin to be instantiated even if display:none is set
+ // for the object element.
+ bool isGearsPlugin = equalIgnoringCase(getAttribute(typeAttr), "application/x-googlegears");
+ return isGearsPlugin || HTMLPlugInElement::rendererIsNeeded(style);
}
RenderObject *HTMLObjectElement::createRenderer(RenderArena* arena, RenderStyle* style)
@@ -156,7 +157,7 @@ void HTMLObjectElement::attach()
return;
if (renderer())
- static_cast<RenderImage*>(renderer())->setCachedImage(m_imageLoader->image());
+ toRenderImage(renderer())->setCachedImage(m_imageLoader->image());
}
}