⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 92152 in webkit


Ignore:
Timestamp:
Aug 1, 2011, 4:49:54 PM (15 years ago)
Author:
timothy_horton@apple.com
Message:

Severe shadow repaint issues with SVGText elements
https://bugs.webkit.org/show_bug.cgi?id=63648
<rdar://problem/7632269>

Reviewed by Darin Adler.

Make SVG elements which inherit from RenderSVGBlock take text-shadow
overflow into account when determining whether or not they should draw

Test: svg/custom/repaint-shadow.svg

  • rendering/RenderBox.h:

(WebCore::RenderBox::visualOverflowRect):

  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::visualOverflowRect):

  • rendering/svg/RenderSVGBlock.h:
Location:
trunk
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r92151 r92152  
     12011-08-01  Tim Horton  <timothy_horton@apple.com>
     2
     3        Severe shadow repaint issues with SVGText elements
     4        https://bugs.webkit.org/show_bug.cgi?id=63648
     5        <rdar://problem/7632269>
     6
     7        Reviewed by Darin Adler.
     8
     9        Make SVG elements which inherit from RenderSVGBlock take text-shadow
     10        overflow into account when determining whether or not they should draw
     11
     12        * platform/mac/svg/custom/repaint-shadow-expected.png: Added.
     13        * platform/mac/svg/custom/repaint-shadow-expected.txt: Added.
     14        * svg/custom/repaint-shadow.svg: Added.
     15
    1162011-08-01  Chris Rogers  <crogers@google.com>
    217
  • trunk/Source/WebCore/ChangeLog

    r92150 r92152  
     12011-08-01  Tim Horton  <timothy_horton@apple.com>
     2
     3        Severe shadow repaint issues with SVGText elements
     4        https://bugs.webkit.org/show_bug.cgi?id=63648
     5        <rdar://problem/7632269>
     6
     7        Reviewed by Darin Adler.
     8
     9        Make SVG elements which inherit from RenderSVGBlock take text-shadow
     10        overflow into account when determining whether or not they should draw
     11
     12        Test: svg/custom/repaint-shadow.svg
     13
     14        * rendering/RenderBox.h:
     15        (WebCore::RenderBox::visualOverflowRect):
     16        * rendering/svg/RenderSVGBlock.cpp:
     17        (WebCore::RenderSVGBlock::visualOverflowRect):
     18        * rendering/svg/RenderSVGBlock.h:
     19
    1202011-08-01  Zhenyao Mo  <zmo@google.com>
    221
  • trunk/Source/WebCore/rendering/RenderBox.h

    r91628 r92152  
    149149    LayoutUnit logicalRightLayoutOverflow() const { return style()->isHorizontalWritingMode() ? maxXLayoutOverflow() : maxYLayoutOverflow(); }
    150150   
    151     LayoutRect visualOverflowRect() const { return m_overflow ? m_overflow->visualOverflowRect() : borderBoxRect(); }
     151    virtual LayoutRect visualOverflowRect() const { return m_overflow ? m_overflow->visualOverflowRect() : borderBoxRect(); }
    152152    LayoutUnit minYVisualOverflow() const { return m_overflow? m_overflow->minYVisualOverflow() : 0; }
    153153    LayoutUnit maxYVisualOverflow() const { return m_overflow ? m_overflow->maxYVisualOverflow() : height(); }
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.cpp

    r90675 r92152  
    3333    : RenderBlock(node)
    3434{
     35}
     36
     37IntRect RenderSVGBlock::visualOverflowRect() const
     38{
     39    LayoutRect borderRect = borderBoxRect();
     40
     41    if (const ShadowData* textShadow = style()->textShadow())
     42        textShadow->adjustRectForShadow(borderRect);
     43
     44    return borderRect;
    3545}
    3646
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.h

    r90675 r92152  
    3333    explicit RenderSVGBlock(SVGElement*);
    3434
     35    virtual IntRect visualOverflowRect() const;
     36
    3537private:
    3638    virtual void setStyle(PassRefPtr<RenderStyle>);
Note: See TracChangeset for help on using the changeset viewer.