Non-resizable text field looks resizable
https://bugs.webkit.org/show_bug.cgi?id=152271

Reviewed by Darin Adler.

Source/WebCore:

The 'resizability' of an HTML element is controlled by its 'resize' CSS property value.
By default it is 'none', but certain HTML elements, including <textarea>, have it
set to 'both' by default (defined in html.css). These values mean no resize at all, and
resizable in both vertical and horizontal axis, respectively.
Additionally, 'vertical' and 'horizontal' values are also valid.

Problem here is that the way WebKit handles the 'resize' property on single line
input elements (e.g. <input>) is different than other engines (read Gecko, Blink and Presto):

- Match: WebKit, Firefox, Presto and Blink all force single line input elements to be non-resizable,
regardless of either the 'resize' properly is set or not.

- Mismatch: WebKit is the only engine that actually paints the resize control on single line
input elements, even it having no effect.

On WebKit, this happens because the 'resize' property is wrongly implemented as 'inheritable',
differently from other engines. In the way WebKit contructs its RenderTree, 'resize' property
ends up spilling out of <input> and entering its shadow representation, carrying the 'resize'
property on.

Patch fixes this by making the 'resize' properly be non-inherited, matching other vendors
and the spec [1].

[1] https://drafts.csswg.org/css-ui/#resize

Tests: fast/css/resize-not-inherited.html
       fast/css/resize-single-line-input-no-paint.html

* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

* fast/css/resize-not-inherited-expected.html: Added.
* fast/css/resize-not-inherited.html: Added.
* fast/css/resize-single-line-input-no-paint-expected.html: Added.
* fast/css/resize-single-line-input-no-paint.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@199512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/fast/css/resize-not-inherited-expected.html b/LayoutTests/fast/css/resize-not-inherited-expected.html
new file mode 100644
index 0000000..90b9ae3
--- /dev/null
+++ b/LayoutTests/fast/css/resize-not-inherited-expected.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<style>
+.container {
+  width:100px;
+  height:100px;
+  overflow:hidden;
+  position:absolute;
+  background-color:pink;
+}
+</style>
+
+<p>Test ensures that a 'resize' property is not inherited by its children. Test passes if the resizer (green square) is not seen at the bottom right.</p>
+<div>
+  <div class="container"></div>
+</div>