diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp | 29 |
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); |