Avoid rounded rect corner-drawing overhead if no corners are visible
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Jul 2011 19:27:30 +0000 (19:27 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Jul 2011 19:27:30 +0000 (19:27 +0000)
commite7105986af851f781b73362d5faeee259e907791
treee998ed4b4903153f255147906b507ae87d4f7132
parentb01d53dffe80ee5a3bb51c2d93ef72626963635e
Avoid rounded rect corner-drawing overhead if no corners are visible
https://bugs.webkit.org/show_bug.cgi?id=64584

Patch by Ian Henderson <ianh@apple.com> on 2011-07-15
Reviewed by Simon Fraser.

No new tests, rendering is visually identical.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations): Pass PaintInfo into
paintBorder.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations): Ditto.
* rendering/RenderBoxModelObject.cpp:
(WebCore::unroundClippedCorners):
(WebCore::RenderBoxModelObject::paintBorder):
Any invisible corner may be replaced with a corner of radius zero, as
long as the stroke style is solid.  Change the GraphicsContext
parameter into a PaintInfo parameter so we can get the rect to be
drawn.
* rendering/RenderBoxModelObject.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
paintBorder.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations): Ditto.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBoxDecorations): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@91090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/rendering/InlineFlowBox.cpp
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/rendering/RenderBoxModelObject.cpp
Source/WebCore/rendering/RenderBoxModelObject.h
Source/WebCore/rendering/RenderFieldset.cpp
Source/WebCore/rendering/RenderTable.cpp
Source/WebCore/rendering/RenderTableCell.cpp