diff options
Diffstat (limited to 'WebCore/html/HTMLObjectElement.cpp')
-rw-r--r-- | WebCore/html/HTMLObjectElement.cpp | 11 |
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()); } } |