summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp')
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
index 96d26ea08a..48659f7061 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
@@ -68,9 +68,9 @@ RenderMarquee::RenderMarquee(RenderLayer* l)
int RenderMarquee::marqueeSpeed() const
{
int result = m_layer->renderer()->style()->marqueeSpeed();
- Node* elt = m_layer->renderer()->element();
- if (elt && elt->hasTagName(marqueeTag)) {
- HTMLMarqueeElement* marqueeElt = static_cast<HTMLMarqueeElement*>(elt);
+ Node* n = m_layer->renderer()->node();
+ if (n && n->hasTagName(marqueeTag)) {
+ HTMLMarqueeElement* marqueeElt = static_cast<HTMLMarqueeElement*>(n);
result = max(result, marqueeElt->minimumDelay());
}
return result;
@@ -105,17 +105,18 @@ bool RenderMarquee::isHorizontal() const
int RenderMarquee::computePosition(EMarqueeDirection dir, bool stopAtContentEdge)
{
- RenderObject* o = m_layer->renderer();
- RenderStyle* s = o->style();
+ RenderBox* box = m_layer->renderBox();
+ ASSERT(box);
+ RenderStyle* s = box->style();
if (isHorizontal()) {
bool ltr = s->direction() == LTR;
- int clientWidth = o->clientWidth();
- int contentWidth = ltr ? o->rightmostPosition(true, false) : o->leftmostPosition(true, false);
+ int clientWidth = box->clientWidth();
+ int contentWidth = ltr ? box->rightmostPosition(true, false) : box->leftmostPosition(true, false);
if (ltr)
- contentWidth += (o->paddingRight() - o->borderLeft());
+ contentWidth += (box->paddingRight() - box->borderLeft());
else {
- contentWidth = o->width() - contentWidth;
- contentWidth += (o->paddingLeft() - o->borderRight());
+ contentWidth = box->width() - contentWidth;
+ contentWidth += (box->paddingLeft() - box->borderRight());
}
if (dir == MRIGHT) {
if (stopAtContentEdge)
@@ -131,9 +132,9 @@ int RenderMarquee::computePosition(EMarqueeDirection dir, bool stopAtContentEdge
}
}
else {
- int contentHeight = m_layer->renderer()->lowestPosition(true, false) -
- m_layer->renderer()->borderTop() + m_layer->renderer()->paddingBottom();
- int clientHeight = m_layer->renderer()->clientHeight();
+ int contentHeight = box->lowestPosition(true, false) -
+ box->borderTop() + box->paddingBottom();
+ int clientHeight = box->clientHeight();
if (dir == MUP) {
if (stopAtContentEdge)
return min(contentHeight - clientHeight, 0);
@@ -283,7 +284,7 @@ void RenderMarquee::timerFired(Timer<RenderMarquee>*)
addIncrement = !addIncrement;
}
bool positive = range > 0;
- int clientSize = (isHorizontal() ? m_layer->renderer()->clientWidth() : m_layer->renderer()->clientHeight());
+ int clientSize = (isHorizontal() ? m_layer->renderBox()->clientWidth() : m_layer->renderBox()->clientHeight());
int increment = max(1, abs(m_layer->renderer()->style()->marqueeIncrement().calcValue(clientSize)));
int currentPos = (isHorizontal() ? m_layer->scrollXOffset() : m_layer->scrollYOffset());
newPos = currentPos + (addIncrement ? increment : -increment);