Title: [123811] trunk/Source/WebCore
Revision
123811
Author
ander...@apple.com
Date
2012-07-26 16:08:49 -0700 (Thu, 26 Jul 2012)

Log Message

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:

Modified Paths

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; }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to