Diff
Modified: trunk/Source/WebCore/ChangeLog (123810 => 123811)
--- trunk/Source/WebCore/ChangeLog 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/ChangeLog 2012-07-26 23:08:49 UTC (rev 123811)
@@ -1,3 +1,52 @@
+2012-07-26 Anders Carlsson <ander...@apple.com>
+
+ HTMLAppletElement should inherit from HTMLPlugInImageElement
+ https://bugs.webkit.org/show_bug.cgi?id=92320
+
+ Reviewed by Eric Seidel.
+
+ In order to simplify the class hierarchy and eventually merge HTMLPlugInImageElement and HMTLPlugInElement,
+ make HTMLAppletElement inherit from HTMLPlugInImageElement. While this does mean that HTMLAppletElement will grow by
+ a couple of words, in practice it won't matter.
+
+ Also, make RenderApplet inherit from RenderEmbeddedObject and move the plug-in instantiation to HTMLAppletElement which matches
+ both HTMLEmbedElement and HTMLObjectElement.
+
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::HTMLAppletElement):
+ (WebCore::HTMLAppletElement::create):
+ (WebCore::HTMLAppletElement::parseAttribute):
+ (WebCore::HTMLAppletElement::rendererIsNeeded):
+ (WebCore::HTMLAppletElement::createRenderer):
+ (WebCore):
+ (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
+ (WebCore::HTMLAppletElement::updateWidget):
+ * html/HTMLAppletElement.h:
+ (HTMLAppletElement):
+ * html/HTMLTagNames.in:
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::createJavaAppletWidget):
+ * loader/SubframeLoader.h:
+ (SubframeLoader):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateWidget):
+ * rendering/RenderApplet.cpp:
+ (WebCore::RenderApplet::RenderApplet):
+ * rendering/RenderApplet.h:
+ (RenderApplet):
+ * rendering/RenderEmbeddedObject.h:
+ (WebCore::toRenderEmbeddedObject):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly):
+ (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::setStyle):
+ * rendering/RenderObject.h:
+
2012-07-26 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r123799.
Modified: trunk/Source/WebCore/html/HTMLAppletElement.cpp (123810 => 123811)
--- trunk/Source/WebCore/html/HTMLAppletElement.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/html/HTMLAppletElement.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (kn...@kde.org)
* (C) 1999 Antti Koivisto (koivi...@kde.org)
* (C) 2000 Stefan Schimanski (1st...@gmx.de)
- * Copyright (C) 2004, 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2012 Apple Inc. All rights reserved.
* Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
*
* This library is free software; you can redistribute it and/or
@@ -25,8 +25,10 @@
#include "HTMLAppletElement.h"
#include "Attribute.h"
+#include "Frame.h"
#include "HTMLDocument.h"
#include "HTMLNames.h"
+#include "HTMLParamElement.h"
#include "RenderApplet.h"
#include "SecurityOrigin.h"
#include "Settings.h"
@@ -36,15 +38,15 @@
using namespace HTMLNames;
-inline HTMLAppletElement::HTMLAppletElement(const QualifiedName& tagName, Document* document)
- : HTMLPlugInElement(tagName, document)
+HTMLAppletElement::HTMLAppletElement(const QualifiedName& tagName, Document* document, bool createdByParser)
+ : HTMLPlugInImageElement(tagName, document, createdByParser, ShouldNotPreferPlugInsForImages)
{
ASSERT(hasTagName(appletTag));
}
-PassRefPtr<HTMLAppletElement> HTMLAppletElement::create(const QualifiedName& tagName, Document* document)
+PassRefPtr<HTMLAppletElement> HTMLAppletElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
{
- return adoptRef(new HTMLAppletElement(tagName, document));
+ return adoptRef(new HTMLAppletElement(tagName, document, createdByParser));
}
void HTMLAppletElement::parseAttribute(const Attribute& attribute)
@@ -56,71 +58,99 @@
|| attribute.name() == mayscriptAttr
|| attribute.name() == objectAttr) {
// Do nothing.
- } else
- HTMLPlugInElement::parseAttribute(attribute);
+ return;
+ }
+
+ HTMLPlugInImageElement::parseAttribute(attribute);
}
bool HTMLAppletElement::rendererIsNeeded(const NodeRenderingContext& context)
{
if (!fastHasAttribute(codeAttr))
return false;
- return HTMLPlugInElement::rendererIsNeeded(context);
+ return HTMLPlugInImageElement::rendererIsNeeded(context);
}
RenderObject* HTMLAppletElement::createRenderer(RenderArena*, RenderStyle* style)
{
- if (canEmbedJava()) {
- HashMap<String, String> args;
+ if (!canEmbedJava())
+ return RenderObject::createObject(this, style);
- args.set("code", getAttribute(codeAttr));
+ return new (document()->renderArena()) RenderApplet(this);
+}
- const AtomicString& codeBase = ""
- if (!codeBase.isNull())
- args.set("codeBase", codeBase);
+RenderWidget* HTMLAppletElement::renderWidgetForJSBindings()
+{
+ if (!canEmbedJava())
+ return 0;
- const AtomicString& name = document()->isHTMLDocument() ? getNameAttribute() : getIdAttribute();
- if (!name.isNull())
- args.set("name", name);
- const AtomicString& archive = getAttribute(archiveAttr);
- if (!archive.isNull())
- args.set("archive", archive);
+ document()->updateLayoutIgnorePendingStylesheets();
+ return renderPart();
+}
- args.set("baseURL", document()->baseURL().string());
+void HTMLAppletElement::updateWidget(PluginCreationOption)
+{
+ setNeedsWidgetUpdate(false);
+ // FIXME: This should ASSERT isFinishedParsingChildren() instead.
+ if (!isFinishedParsingChildren())
+ return;
- const AtomicString& mayScript = getAttribute(mayscriptAttr);
- if (!mayScript.isNull())
- args.set("mayScript", mayScript);
+ RenderEmbeddedObject* renderer = renderEmbeddedObject();
- // Other arguments (from <PARAM> tags) are added later.
-
- return new (document()->renderArena()) RenderApplet(this, args);
+ LayoutUnit contentWidth = renderer->style()->width().isFixed() ? LayoutUnit(renderer->style()->width().value()) :
+ renderer->width() - renderer->borderAndPaddingWidth();
+ LayoutUnit contentHeight = renderer->style()->height().isFixed() ? LayoutUnit(renderer->style()->height().value()) :
+ renderer->height() - renderer->borderAndPaddingHeight();
+
+ Vector<String> paramNames;
+ Vector<String> paramValues;
+
+ paramNames.append("code");
+ paramValues.append(getAttribute(codeAttr).string());
+
+ const AtomicString& codeBase = ""
+ if (!codeBase.isNull()) {
+ paramNames.append("codeBase");
+ paramValues.append(codeBase);
}
- return RenderObject::createObject(this, style);
-}
+ const AtomicString& name = document()->isHTMLDocument() ? getNameAttribute() : getIdAttribute();
+ if (!name.isNull()) {
+ paramNames.append("name");
+ paramValues.append(name);
+ }
-void HTMLAppletElement::defaultEventHandler(Event* event)
-{
- RenderObject* r = renderer();
- if (!r || !r->isWidget())
- return;
- Widget* widget = toRenderWidget(r)->widget();
- if (!widget)
- return;
- widget->handleEvent(event);
-}
+ const AtomicString& archive = getAttribute(archiveAttr);
+ if (!archive.isNull()) {
+ paramNames.append("archive");
+ paramValues.append(archive);
+ }
-RenderWidget* HTMLAppletElement::renderWidgetForJSBindings()
-{
- if (!canEmbedJava())
- return 0;
+ paramNames.append("baseURL");
+ paramValues.append(document()->baseURL().string());
- if (!renderer() || !renderer()->isApplet())
- return 0;
+ const AtomicString& mayScript = getAttribute(mayscriptAttr);
+ if (!mayScript.isNull()) {
+ paramNames.append("mayScript");
+ paramValues.append(mayScript);
+ }
- RenderApplet* applet = toRenderApplet(renderer());
- applet->createWidgetIfNecessary();
- return applet;
+ for (Node* child = firstChild(); child; child = child->nextSibling()) {
+ if (!child->hasTagName(paramTag))
+ continue;
+
+ HTMLParamElement* param = static_cast<HTMLParamElement*>(child);
+ if (param->name().isEmpty())
+ continue;
+
+ paramNames.append(param->name());
+ paramValues.append(param->value());
+ }
+
+ Frame* frame = document()->frame();
+ ASSERT(frame);
+
+ renderer->setWidget(frame->loader()->subframeLoader()->createJavaAppletWidget(roundedIntSize(LayoutSize(contentWidth, contentHeight)), this, paramNames, paramValues));
}
bool HTMLAppletElement::canEmbedJava() const
@@ -141,12 +171,4 @@
return true;
}
-void HTMLAppletElement::finishParsingChildren()
-{
- // The parser just reached </applet>, so all the params are available now.
- HTMLPlugInElement::finishParsingChildren();
- if (renderer())
- renderer()->setNeedsLayout(true); // This will cause it to create its widget & the Java applet
}
-
-}
Modified: trunk/Source/WebCore/html/HTMLAppletElement.h (123810 => 123811)
--- trunk/Source/WebCore/html/HTMLAppletElement.h 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/html/HTMLAppletElement.h 2012-07-26 23:08:49 UTC (rev 123811)
@@ -23,28 +23,25 @@
#ifndef HTMLAppletElement_h
#define HTMLAppletElement_h
-#include "HTMLPlugInElement.h"
+#include "HTMLPlugInImageElement.h"
namespace WebCore {
-class HTMLAppletElement : public HTMLPlugInElement {
+class HTMLAppletElement : public HTMLPlugInImageElement {
public:
- static PassRefPtr<HTMLAppletElement> create(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLAppletElement> create(const QualifiedName&, Document*, bool createdByParser);
private:
- HTMLAppletElement(const QualifiedName&, Document*);
+ HTMLAppletElement(const QualifiedName&, Document*, bool createdByParser);
virtual void parseAttribute(const Attribute&) OVERRIDE;
- virtual bool rendererIsNeeded(const NodeRenderingContext&);
- virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
- virtual void finishParsingChildren();
+ virtual bool rendererIsNeeded(const NodeRenderingContext&) OVERRIDE;
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
- virtual void defaultEventHandler(Event*);
-
virtual RenderWidget* renderWidgetForJSBindings();
+ virtual void updateWidget(PluginCreationOption) OVERRIDE;
- void setupApplet() const;
bool canEmbedJava() const;
virtual bool shouldRegisterAsNamedItem() const OVERRIDE { return true; }
Modified: trunk/Source/WebCore/html/HTMLTagNames.in (123810 => 123811)
--- trunk/Source/WebCore/html/HTMLTagNames.in 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/html/HTMLTagNames.in 2012-07-26 23:08:49 UTC (rev 123811)
@@ -7,7 +7,7 @@
abbr interfaceName=HTMLElement
acronym interfaceName=HTMLElement
address interfaceName=HTMLElement
-applet
+applet constructorNeedsCreatedByParser
area
article interfaceName=HTMLElement
aside interfaceName=HTMLElement
Modified: trunk/Source/WebCore/loader/SubframeLoader.cpp (123810 => 123811)
--- trunk/Source/WebCore/loader/SubframeLoader.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/loader/SubframeLoader.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -199,20 +199,16 @@
}
#endif // ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-PassRefPtr<Widget> SubframeLoader::createJavaAppletWidget(const LayoutSize& size, HTMLAppletElement* element, const HashMap<String, String>& args)
+PassRefPtr<Widget> SubframeLoader::createJavaAppletWidget(const IntSize& size, HTMLAppletElement* element, const Vector<String>& paramNames, const Vector<String>& paramValues)
{
String baseURLString;
String codeBaseURLString;
- Vector<String> paramNames;
- Vector<String> paramValues;
- HashMap<String, String>::const_iterator end = args.end();
- for (HashMap<String, String>::const_iterator it = args.begin(); it != end; ++it) {
- if (equalIgnoringCase(it->first, "baseurl"))
- baseURLString = it->second;
- else if (equalIgnoringCase(it->first, "codebase"))
- codeBaseURLString = it->second;
- paramNames.append(it->first);
- paramValues.append(it->second);
+
+ for (size_t i = 0; i < paramNames.size(); ++i) {
+ if (equalIgnoringCase(paramNames[i], "baseurl"))
+ baseURLString = paramValues[i];
+ else if (equalIgnoringCase(paramNames[i], "codebase"))
+ codeBaseURLString = paramValues[i];
}
if (!codeBaseURLString.isEmpty()) {
@@ -232,7 +228,7 @@
RefPtr<Widget> widget;
if (allowPlugins(AboutToInstantiatePlugin))
- widget = m_frame->loader()->client()->createJavaAppletWidget(roundedIntSize(size), element, baseURL, paramNames, paramValues);
+ widget = m_frame->loader()->client()->createJavaAppletWidget(size, element, baseURL, paramNames, paramValues);
if (!widget)
return 0;
Modified: trunk/Source/WebCore/loader/SubframeLoader.h (123810 => 123811)
--- trunk/Source/WebCore/loader/SubframeLoader.h 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/loader/SubframeLoader.h 2012-07-26 23:08:49 UTC (rev 123811)
@@ -72,7 +72,7 @@
PassRefPtr<Widget> loadMediaPlayerProxyPlugin(Node*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues);
#endif
- PassRefPtr<Widget> createJavaAppletWidget(const LayoutSize&, HTMLAppletElement*, const HashMap<String, String>& args);
+ PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const Vector<String>& paramNames, const Vector<String>& paramValues);
bool allowPlugins(ReasonForCallingAllowPlugins);
Modified: trunk/Source/WebCore/page/FrameView.cpp (123810 => 123811)
--- trunk/Source/WebCore/page/FrameView.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/page/FrameView.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -2296,7 +2296,7 @@
// FIXME: This could turn into a real virtual dispatch if we defined
// updateWidget(PluginCreationOption) on HTMLElement.
- if (ownerElement->hasTagName(objectTag) || ownerElement->hasTagName(embedTag)) {
+ if (ownerElement->hasTagName(objectTag) || ownerElement->hasTagName(embedTag) || ownerElement->hasTagName(appletTag)) {
HTMLPlugInImageElement* pluginElement = static_cast<HTMLPlugInImageElement*>(ownerElement);
if (pluginElement->needsWidgetUpdate())
pluginElement->updateWidget(CreateAnyWidgetType);
Modified: trunk/Source/WebCore/rendering/RenderApplet.cpp (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderApplet.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderApplet.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -1,6 +1,6 @@
/*
* Copyright (C) 1999 Lars Knoll (kn...@kde.org)
- * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2006, 2009, 2012 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -22,20 +22,12 @@
#include "config.h"
#include "RenderApplet.h"
-#include "Frame.h"
#include "HTMLAppletElement.h"
-#include "HTMLNames.h"
-#include "HTMLParamElement.h"
-#include "PluginViewBase.h"
-#include "Widget.h"
namespace WebCore {
-using namespace HTMLNames;
-
-RenderApplet::RenderApplet(HTMLAppletElement* applet, const HashMap<String, String>& args)
- : RenderWidget(applet)
- , m_args(args)
+RenderApplet::RenderApplet(HTMLAppletElement* applet)
+ : RenderEmbeddedObject(applet)
{
setInline(true);
}
@@ -44,67 +36,4 @@
{
}
-IntSize RenderApplet::intrinsicSize() const
-{
- // FIXME: This doesn't make sense. We can't just start returning
- // a different size once we've created the widget and expect
- // layout and sizing to be correct. We should remove this and
- // pass the appropriate intrinsic size in the constructor.
- return widget() ? IntSize(50, 50) : IntSize(150, 150);
-}
-
-void RenderApplet::createWidgetIfNecessary()
-{
- HTMLAppletElement* element = static_cast<HTMLAppletElement*>(node());
- if (widget() || !element->isFinishedParsingChildren())
- return;
-
- // FIXME: Java applets can't be resized (this is a bug in Apple's Java implementation).
- // In order to work around this problem and have a correct size from the start, we will
- // use fixed widths/heights from the style system when we can, since the widget might
- // not have an accurate m_width/m_height.
- LayoutUnit contentWidth = style()->width().isFixed() ? LayoutUnit(style()->width().value()) :
- width() - borderAndPaddingWidth();
- LayoutUnit contentHeight = style()->height().isFixed() ? LayoutUnit(style()->height().value()) :
- height() - borderAndPaddingHeight();
- for (Node* child = element->firstChild(); child; child = child->nextSibling()) {
- if (child->hasTagName(paramTag)) {
- HTMLParamElement* p = static_cast<HTMLParamElement*>(child);
- if (!p->name().isEmpty())
- m_args.set(p->name(), p->value());
- }
- }
-
- Frame* frame = this->frame();
- ASSERT(frame);
- setWidget(frame->loader()->subframeLoader()->createJavaAppletWidget(LayoutSize(contentWidth, contentHeight), element, m_args));
-}
-
-void RenderApplet::layout()
-{
- ASSERT(needsLayout());
-
- computeLogicalWidth();
- computeLogicalHeight();
-
- // The applet's widget gets created lazily upon first layout.
- createWidgetIfNecessary();
- setNeedsLayout(false);
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-bool RenderApplet::requiresLayer() const
-{
- if (RenderWidget::requiresLayer())
- return true;
-
- return allowsAcceleratedCompositing();
-}
-
-bool RenderApplet::allowsAcceleratedCompositing() const
-{
- return widget() && widget()->isPluginViewBase() && static_cast<PluginViewBase*>(widget())->platformLayer();
-}
-#endif
-
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/RenderApplet.h (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderApplet.h 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderApplet.h 2012-07-26 23:08:49 UTC (rev 123811)
@@ -22,48 +22,21 @@
#ifndef RenderApplet_h
#define RenderApplet_h
-#include "RenderWidget.h"
-#include <wtf/text/StringHash.h>
+#include "RenderEmbeddedObject.h"
namespace WebCore {
class HTMLAppletElement;
-class RenderApplet : public RenderWidget {
+class RenderApplet : public RenderEmbeddedObject {
public:
- RenderApplet(HTMLAppletElement*, const HashMap<String, String>& args);
+ RenderApplet(HTMLAppletElement*);
virtual ~RenderApplet();
- void createWidgetIfNecessary();
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual bool allowsAcceleratedCompositing() const;
-#endif
-
private:
virtual const char* renderName() const { return "RenderApplet"; }
-
- virtual bool isApplet() const { return true; }
-
- virtual void layout();
- virtual IntSize intrinsicSize() const;
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual bool requiresLayer() const;
-#endif
-
- HashMap<String, String> m_args;
};
-inline RenderApplet* toRenderApplet(RenderObject* object)
-{
- ASSERT(!object || object->isApplet());
- return static_cast<RenderApplet*>(object);
-}
-
-// This will catch anyone doing an unnecessary cast.
-void toRenderApplet(const RenderApplet*);
-
} // namespace WebCore
#endif // RenderApplet_h
Modified: trunk/Source/WebCore/rendering/RenderEmbeddedObject.h (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderEmbeddedObject.h 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderEmbeddedObject.h 2012-07-26 23:08:49 UTC (rev 123811)
@@ -90,7 +90,7 @@
inline RenderEmbeddedObject* toRenderEmbeddedObject(RenderObject* object)
{
- ASSERT(!object || !strcmp(object->renderName(), "RenderEmbeddedObject"));
+ ASSERT(!object || object->isEmbeddedObject());
return static_cast<RenderEmbeddedObject*>(object);
}
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -4747,7 +4747,6 @@
|| renderer()->isCanvas()
|| renderer()->isVideo()
|| renderer()->isEmbeddedObject()
- || renderer()->isApplet()
|| renderer()->isRenderIFrame()
|| renderer()->style()->specifiesColumns())
&& !renderer()->isOutOfFlowPositioned()
@@ -4769,7 +4768,6 @@
|| renderer()->isCanvas()
|| renderer()->isVideo()
|| renderer()->isEmbeddedObject()
- || renderer()->isApplet()
|| renderer()->isRenderIFrame();
}
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -381,8 +381,7 @@
if (isDirectlyCompositedImage())
updateImageContents();
- if ((renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->allowsAcceleratedCompositing())
- || (renderer->isApplet() && toRenderApplet(renderer)->allowsAcceleratedCompositing())) {
+ if (renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->allowsAcceleratedCompositing()) {
PluginViewBase* pluginViewBase = static_cast<PluginViewBase*>(toRenderWidget(renderer)->widget());
m_graphicsLayer->setContentsToMedia(pluginViewBase->platformLayer());
}
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -1701,8 +1701,7 @@
if (!(m_compositingTriggers & ChromeClient::PluginTrigger))
return false;
- bool composite = (renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->allowsAcceleratedCompositing())
- || (renderer->isApplet() && toRenderApplet(renderer)->allowsAcceleratedCompositing());
+ bool composite = renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->allowsAcceleratedCompositing();
if (!composite)
return false;
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2012-07-26 23:08:49 UTC (rev 123811)
@@ -1711,7 +1711,7 @@
#if USE(ACCELERATED_COMPOSITING)
// We need to run through adjustStyleDifference() for iframes and plugins, so
// style sharing is disabled for them. That should ensure that we never hit this code path.
- ASSERT(!isRenderIFrame() && !isEmbeddedObject() &&!isApplet());
+ ASSERT(!isRenderIFrame() && !isEmbeddedObject());
#endif
return;
}
Modified: trunk/Source/WebCore/rendering/RenderObject.h (123810 => 123811)
--- trunk/Source/WebCore/rendering/RenderObject.h 2012-07-26 23:06:44 UTC (rev 123810)
+++ trunk/Source/WebCore/rendering/RenderObject.h 2012-07-26 23:08:49 UTC (rev 123811)
@@ -296,7 +296,6 @@
public:
RenderArena* renderArena() const { return document()->renderArena(); }
- virtual bool isApplet() const { return false; }
virtual bool isBR() const { return false; }
virtual bool isBlockFlow() const { return false; }
virtual bool isBoxModelObject() const { return false; }