Re-layout child blocks when border/padding of the box-sizing:border-box parent is updated
https://bugs.webkit.org/show_bug.cgi?id=104997

Reviewed by Ojan Vafai.

Source/WebCore:

Original patch by Kent Tamura:
When padding or border is updated for a parent block with
box-sizing:border-box and width, the width of its child block was not
updated.

The change is to look at border width specifically, not all changes to the border style
since changes to border color should not trigger a relayout.

Tests: fast/css/box-sizing-border-box-dynamic-padding-border-update.html
       fast/forms/border-color-relayout.html
       fast/forms/text/text-padding-dynamic-change.html

* rendering/RenderBox.cpp:
(WebCore::borderWidthChanged): Helper method to compare border widths.
(WebCore::RenderBox::styleDidChange):
If box-sizing of the old style and/or the new style is border-box and
padding or border is changed, apply setChildNeedsLayout(true) for child
boxes.

LayoutTests:

border-color-relayout.html tests that we handle border color style changes properly.

* fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Added.
* fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Added.
* fast/forms/border-color-relayout-expected.html: Added.
* fast/forms/border-color-relayout.html: Added.
* fast/forms/text/text-padding-dynamic-change-expected.html: Added.
* fast/forms/text/text-padding-dynamic-change.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140854 268f45cc-cd09-0410-ab3c-d52691b4dbfc