| OLD | NEW |
| 1 /** | 1 /** |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
| 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 newLogicalVisualOverflowRect.setWidth(markerLogicalLeft + m_
marker->logicalWidth() - newLogicalVisualOverflowRect.x()); | 368 newLogicalVisualOverflowRect.setWidth(markerLogicalLeft + m_
marker->logicalWidth() - newLogicalVisualOverflowRect.x()); |
| 369 if (box == root) | 369 if (box == root) |
| 370 adjustOverflow = true; | 370 adjustOverflow = true; |
| 371 } | 371 } |
| 372 if (markerLogicalLeft + m_marker->logicalWidth() > newLogicalLay
outOverflowRect.maxX()) { | 372 if (markerLogicalLeft + m_marker->logicalWidth() > newLogicalLay
outOverflowRect.maxX()) { |
| 373 newLogicalLayoutOverflowRect.setWidth(markerLogicalLeft + m_
marker->logicalWidth() - newLogicalLayoutOverflowRect.x()); | 373 newLogicalLayoutOverflowRect.setWidth(markerLogicalLeft + m_
marker->logicalWidth() - newLogicalLayoutOverflowRect.x()); |
| 374 if (box == root) | 374 if (box == root) |
| 375 adjustOverflow = true; | 375 adjustOverflow = true; |
| 376 } | 376 } |
| 377 box->setOverflowFromLogicalRects(newLogicalLayoutOverflowRect, n
ewLogicalVisualOverflowRect, lineTop, lineBottom); | 377 box->setOverflowFromLogicalRects(newLogicalLayoutOverflowRect, n
ewLogicalVisualOverflowRect, lineTop, lineBottom); |
| 378 | 378 |
| 379 if (box->boxModelObject()->hasSelfPaintingLayer()) | 379 if (box->boxModelObject()->hasSelfPaintingLayer()) |
| 380 hitSelfPaintingLayer = true; | 380 hitSelfPaintingLayer = true; |
| 381 } | 381 } |
| 382 } | 382 } |
| 383 | 383 |
| 384 if (adjustOverflow) { | 384 if (adjustOverflow) { |
| 385 LayoutRect markerRect(markerLogicalLeft + lineOffset, blockOffset, m
_marker->width(), m_marker->height()); | 385 LayoutRect markerRect(markerLogicalLeft + lineOffset, blockOffset, m
_marker->width(), m_marker->height()); |
| 386 if (!style()->isHorizontalWritingMode()) | 386 if (!style()->isHorizontalWritingMode()) |
| 387 markerRect = markerRect.transposedRect(); | 387 markerRect = markerRect.transposedRect(); |
| 388 RenderBox* o = m_marker; | 388 RenderBox* o = m_marker; |
| 389 bool propagateVisualOverflow = true; | 389 bool propagateVisualOverflow = true; |
| 390 bool propagateLayoutOverflow = true; | 390 bool propagateLayoutOverflow = true; |
| 391 do { | 391 do { |
| 392 o = o->parentBox(); | 392 o = o->parentBox(); |
| 393 if (o->hasOverflowClip()) | |
| 394 propagateVisualOverflow = false; | |
| 395 if (o->isRenderBlock()) { | 393 if (o->isRenderBlock()) { |
| 396 if (propagateVisualOverflow) | 394 if (propagateVisualOverflow) |
| 397 toRenderBlock(o)->addVisualOverflow(markerRect); | 395 toRenderBlock(o)->addVisualOverflow(markerRect, VisualOv
erflowClippedByContentsClip); |
| 398 if (propagateLayoutOverflow) | 396 if (propagateLayoutOverflow) |
| 399 toRenderBlock(o)->addLayoutOverflow(markerRect); | 397 toRenderBlock(o)->addLayoutOverflow(markerRect); |
| 400 } | 398 } |
| 401 if (o->hasOverflowClip()) | 399 if (o->hasOverflowClip()) { |
| 400 propagateVisualOverflow = false; |
| 402 propagateLayoutOverflow = false; | 401 propagateLayoutOverflow = false; |
| 402 } |
| 403 if (o->hasSelfPaintingLayer()) | 403 if (o->hasSelfPaintingLayer()) |
| 404 propagateVisualOverflow = false; | 404 propagateVisualOverflow = false; |
| 405 markerRect.moveBy(-o->location()); | 405 markerRect.moveBy(-o->location()); |
| 406 } while (o != this && propagateVisualOverflow && propagateLayoutOver
flow); | 406 } while (o != this && propagateVisualOverflow && propagateLayoutOver
flow); |
| 407 } | 407 } |
| 408 } | 408 } |
| 409 } | 409 } |
| 410 | 410 |
| 411 void RenderListItem::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) | 411 void RenderListItem::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) |
| 412 { | 412 { |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 // assume that all the following ones have too. | 503 // assume that all the following ones have too. |
| 504 // This gives us the opportunity to stop here and avoid | 504 // This gives us the opportunity to stop here and avoid |
| 505 // marking the same nodes again. | 505 // marking the same nodes again. |
| 506 break; | 506 break; |
| 507 } | 507 } |
| 508 item->updateValue(); | 508 item->updateValue(); |
| 509 } | 509 } |
| 510 } | 510 } |
| 511 | 511 |
| 512 } // namespace WebCore | 512 } // namespace WebCore |
| OLD | NEW |