Changeset 21363 in webkit
- Timestamp:
- May 10, 2007 3:14:21 AM (17 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r21360 r21363 1 2007-05-10 David Hyatt <hyatt@apple.com> 2 3 Fix for: 4 5 <rdar://problem/4778099> Links with nested continuations fail to 6 paint their outlines (11255) 7 8 http://bugs.webkit.org/show_bug.cgi?id=11255 9 10 Fix multiple bugs with outline painting of continuations to ensure that 11 all combos work (empty/full inline - block with/without margins - 12 empty/full inline). 13 14 Reviewed by mitz 15 16 fast/inline/continuation-outlines.html 17 18 * rendering/RenderBlock.cpp: 19 (WebCore::RenderBlock::paintObject): 20 * rendering/RenderFlow.cpp: 21 (WebCore::RenderFlow::addFocusRingRects): 22 1 23 2007-05-10 David Hyatt <hyatt@apple.com> 2 24 -
trunk/WebCore/rendering/RenderBlock.cpp
r21360 r21363 1541 1541 1542 1542 // 5. paint outline. 1543 if (!inlineFlow && (paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseSelfOutline) 1544 && hasOutline() && style()->visibility() == VISIBLE) 1545 RenderObject::paintOutline(paintInfo.context, tx, ty, width(), height(), style()); 1543 if (!inlineFlow && (paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseSelfOutline) && style()->visibility() == VISIBLE) { 1544 if (continuation() && continuation()->hasOutline()) { 1545 RenderFlow* inlineFlow = static_cast<RenderFlow*>(continuation()->element()->renderer()); 1546 inlineFlow->paintOutline(paintInfo.context, tx - xPos() + inlineFlow->containingBlock()->xPos(), 1547 ty - yPos() + inlineFlow->containingBlock()->yPos()); 1548 } else if (hasOutline()) 1549 RenderObject::paintOutline(paintInfo.context, tx, ty, width(), height(), style()); 1550 } 1546 1551 1547 1552 // 6. paint caret. -
trunk/WebCore/rendering/RenderFlow.cpp
r21183 r21363 672 672 void RenderFlow::addFocusRingRects(GraphicsContext* graphicsContext, int tx, int ty) 673 673 { 674 if (isRenderBlock()) 675 graphicsContext->addFocusRingRect(IntRect(tx, ty, width(), height())); 674 if (isRenderBlock()) { 675 // Continuations should include their margins in the outline rect. 676 if (continuation()) 677 graphicsContext->addFocusRingRect(IntRect(tx, ty - collapsedMarginTop(), width(), height() + collapsedMarginTop() + collapsedMarginBottom())); 678 else 679 graphicsContext->addFocusRingRect(IntRect(tx, ty, width(), height())); 680 } 676 681 677 682 if (!hasOverflowClip() && !hasControlClip()) { … … 684 689 } 685 690 686 if (continuation()) 687 continuation()->addFocusRingRects(graphicsContext, 688 tx - containingBlock()->xPos() + continuation()->xPos(), 689 ty - containingBlock()->yPos() + continuation()->yPos()); 691 if (continuation()) { 692 if (isInline()) 693 continuation()->addFocusRingRects(graphicsContext, 694 tx - containingBlock()->xPos() + continuation()->xPos(), 695 ty - containingBlock()->yPos() + continuation()->yPos()); 696 else 697 continuation()->addFocusRingRects(graphicsContext, 698 tx - xPos() + continuation()->containingBlock()->xPos(), 699 ty - yPos() + continuation()->containingBlock()->yPos()); 700 } 690 701 } 691 702
Note: See TracChangeset
for help on using the changeset viewer.