summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderApplet.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-30 11:37:48 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-30 11:38:52 +0200
commit89e2486a48b739f8d771d69ede5a6a1b244a10fc (patch)
tree503b1a7812cf97d93704c32437eb5f62dc1a1ff9 /Source/WebCore/rendering/RenderApplet.cpp
parent625f028249cb37c55bbbd153f3902afd0b0756d9 (diff)
downloadqtwebkit-89e2486a48b739f8d771d69ede5a6a1b244a10fc.tar.gz
Imported WebKit commit 0282df8ca7c11d8c8a66ea18543695c69f545a27 (http://svn.webkit.org/repository/webkit/trunk@124002)
New snapshot with prospective Mountain Lion build fix
Diffstat (limited to 'Source/WebCore/rendering/RenderApplet.cpp')
-rw-r--r--Source/WebCore/rendering/RenderApplet.cpp77
1 files changed, 3 insertions, 74 deletions
diff --git a/Source/WebCore/rendering/RenderApplet.cpp b/Source/WebCore/rendering/RenderApplet.cpp
index 1b8b75e17..120808420 100644
--- a/Source/WebCore/rendering/RenderApplet.cpp
+++ b/Source/WebCore/rendering/RenderApplet.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@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 @@ RenderApplet::~RenderApplet()
{
}
-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