Changeset 89407 in webkit


Ignore:
Timestamp:
Jun 21, 2011 9:36:29 PM (13 years ago)
Author:
tkent@chromium.org
Message:

2011-06-21 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

Avoid custom layout code of RenderTextControlSingleLine
https://bugs.webkit.org/show_bug.cgi?id=61415

Update tests including <input type=search> or <input type=number>. Their
internal structures are changed.
Slight position changes for search result buttons and search cancel
buttons are expected.

  • fast/css/text-input-with-webkit-border-radius-expected.txt:
  • platform/chromium/test_expectations.txt:
  • platform/mac/fast/css/input-search-padding-expected.png:
  • platform/mac/fast/css/input-search-padding-expected.txt:
  • platform/mac/fast/css/pseudo-cache-stale-expected.txt:
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-layer-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-visibility-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/placeholder-set-value-expected.txt:
  • platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/mac/fast/forms/search-placeholder-value-changed-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/forms/search-styled-expected.txt:
  • platform/mac/fast/forms/search-transformed-expected.txt:
  • platform/mac/fast/forms/search-vertical-alignment-expected.png:
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
  • platform/mac/fast/forms/search-zoomed-expected.txt:
  • platform/mac/fast/forms/searchfield-heights-expected.txt:
  • platform/mac/fast/repaint/search-field-cancel-expected.png:
  • platform/mac/fast/repaint/search-field-cancel-expected.txt:
  • platform/mac/fast/replaced/width100percent-searchfield-expected.txt:
  • platform/mac/fast/table/colspanMinWidth-vertical-expected.png:
  • platform/mac/fast/table/colspanMinWidth-vertical-expected.txt:
  • fast/forms/search-cancel-button-mouseup.html: Adjust click position for the cancel button.
  • fast/forms/search-abs-pos-cancel-button.html: ditto.

2011-06-21 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

Avoid custom layout code of RenderTextControlSingleLine
https://bugs.webkit.org/show_bug.cgi?id=61415

If a text field has a search results button, a search cancel
button, a speech button, or a spin button, the editable inner text
element and they are wrapped by a flexible box container, and the
editable inner text element has flexibility.
As the result of applying the flexible box, we don't need any
horizontal layout code in RenderTextControlSingleLine except the
inner spin button.

Also, we remove custom hit-testing code in nodeAtPoint(). If a
user clicks on a position left of the inner editable text but not
on the search results button, the search results button doesn't
work though it worked.

  • css/html.css: (input::-webkit-textfield-decoration-container): New style definition for the "container" element. (input[type="search"]::-webkit-search-cancel-button): It should be a block element because it's a child of the flexible box. Also, this doesn't have flexibility. (input[type="search"]::-webkit-search-decoration): ditto. (input[type="search"]::-webkit-search-results-decoration): ditto. (input[type="search"]::-webkit-search-results-button): ditto. (input::-webkit-inner-spin-button): ditto. (input::-webkit-input-speech-button): ditto.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::containerElement): Add an accessor of the flexible box container. It just calls InputType::containerElement().
  • html/HTMLInputElement.h: Declare it.
  • html/InputType.h: (WebCore::InputType::containerElement): New accessor for a shadow element.
  • html/SearchInputType.cpp: (WebCore::SearchInputType::SearchInputType): m_innerBlock is moved to TextFieldInputType. (WebCore::SearchInputType::needsContainer): A search field always needs the flexible box container because of the results button and the cancel button. (WebCore::SearchInputType::createShadowSubtree): Use TextFieldInputType::createShadowSubtree(), then modify the tree. (WebCore::SearchInputType::destroyShadowSubtree): m_innerBlock is moved to TextFieldInputType.
  • html/SearchInputType.h:
  • html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::TextFieldInputType): Initialize the new members. (WebCore::TextFieldInputType::needsContainer): Returns true if x-webkit-speech. We check a spin button separately. (WebCore::TextFieldInputType::createShadowSubtree): Wrap everything with the flexible box container if needsContainer() or we need a spin button. (WebCore::TextFieldInputType::containerElement): Added an accessor. (WebCore::TextFieldInputType::innerBlockElement): ditto. (WebCore::TextFieldInputType::innerTextElement): ditto. (WebCore::TextFieldInputType::innerSpinButtonElement): ditto. (WebCore::TextFieldInputType::speechButtonElement): ditto. (WebCore::TextFieldInputType::destroyShadowSubtree): Clear references to new shadow nodes.
  • html/TextFieldInputType.h:
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor. (WebCore::RenderTextControlSingleLine::innerTextElement): (WebCore::RenderTextControlSingleLine::layout):
    • Correct heights check Comparing with height(), not contentHeigth(), was incorrect.
    • Adjust the container height like the editable inner text.
    • Remove width adjustment
    • Remove the speech button layout code The flexible box layout is enough.

(WebCore::RenderTextControlSingleLine::nodeAtPoint):

Remove custom code for results/cancel/speech buttons, and
Simplify comments.

(WebCore::RenderTextControlSingleLine::forwardEvent):

Remove custom forwarding code for results/cancel buttons.

(WebCore::RenderTextControlSingleLine::styleDidChange):

Clear the style of the container because we update it in layout().

(WebCore::RenderTextControlSingleLine::hasControlClip):

Decoration buttons should be clipped by the container.

(WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):

We don't need to use display:inline-block any more.

(WebCore::RenderTextControlSingleLine::createInnerBlockStyle):

The text wrapper element should have flexibility.

(WebCore::RenderTextControlSingleLine::textBlockInsetTop):

Updated for the tree structure change.

  • rendering/RenderTextControlSingleLine.h:
Location:
trunk
Files:
45 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r89405 r89407  
     12011-06-21  Kent Tamura  <tkent@chromium.org>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        Avoid custom layout code of RenderTextControlSingleLine
     6        https://bugs.webkit.org/show_bug.cgi?id=61415
     7
     8        Update tests including <input type=search> or <input type=number>. Their
     9        internal structures are changed.
     10        Slight position changes for search result buttons and search cancel
     11        buttons are expected.
     12
     13        * fast/css/text-input-with-webkit-border-radius-expected.txt:
     14        * platform/chromium/test_expectations.txt:
     15        * platform/mac/fast/css/input-search-padding-expected.png:
     16        * platform/mac/fast/css/input-search-padding-expected.txt:
     17        * platform/mac/fast/css/pseudo-cache-stale-expected.txt:
     18        * platform/mac/fast/forms/box-shadow-override-expected.txt:
     19        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
     20        * platform/mac/fast/forms/input-appearance-height-expected.txt:
     21        * platform/mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.txt:
     22        * platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
     23        * platform/mac/fast/forms/input-appearance-spinbutton-layer-expected.txt:
     24        * platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
     25        * platform/mac/fast/forms/input-appearance-spinbutton-visibility-expected.txt:
     26        * platform/mac/fast/forms/placeholder-position-expected.txt:
     27        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
     28        * platform/mac/fast/forms/placeholder-set-value-expected.txt:
     29        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
     30        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
     31        * platform/mac/fast/forms/search-placeholder-value-changed-expected.txt:
     32        * platform/mac/fast/forms/search-rtl-expected.txt:
     33        * platform/mac/fast/forms/search-styled-expected.txt:
     34        * platform/mac/fast/forms/search-transformed-expected.txt:
     35        * platform/mac/fast/forms/search-vertical-alignment-expected.png:
     36        * platform/mac/fast/forms/search-vertical-alignment-expected.txt:
     37        * platform/mac/fast/forms/search-zoomed-expected.txt:
     38        * platform/mac/fast/forms/searchfield-heights-expected.txt:
     39        * platform/mac/fast/repaint/search-field-cancel-expected.png:
     40        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
     41        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:
     42        * platform/mac/fast/table/colspanMinWidth-vertical-expected.png:
     43        * platform/mac/fast/table/colspanMinWidth-vertical-expected.txt:
     44        * fast/forms/search-cancel-button-mouseup.html: Adjust click position for the cancel button.
     45        * fast/forms/search-abs-pos-cancel-button.html: ditto.
     46
    1472011-06-21  Yuta Kitamura  <yutak@chromium.org>
    248
  • trunk/LayoutTests/fast/css/text-input-with-webkit-border-radius-expected.txt

    r78913 r89407  
    1717      RenderBlock {DIV} at (0,68) size 163x45 [bgcolor=#888888]
    1818        RenderTextControl {INPUT} at (11,9) size 133x19 [bgcolor=#00FF00] [border: (2px inset #000000)]
    19           RenderBlock {DIV} at (3,3) size 127x13
    20             RenderBlock {DIV} at (0,0) size 8x11
    21             RenderBlock {DIV} at (114,0) size 13x11
     19          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 127x13
     20            RenderBlock {DIV} at (0,1) size 8x11
     21            RenderBlock {DIV} at (8,0) size 106x13
     22            RenderBlock {DIV} at (114,1) size 13x11
    2223        RenderText {#text} at (0,0) size 0x0
    2324layer at (30,96) size 106x13
    24   RenderBlock {DIV} at (8,0) size 106x13
     25  RenderBlock {DIV} at (0,0) size 106x13
    2526    RenderText {#text} at (1,0) size 62x13
    2627      text run at (1,0) width 62: "default text"
  • trunk/LayoutTests/fast/forms/search-abs-pos-cancel-button.html

    r43007 r89407  
    1919        if (window.eventSender) {
    2020            var target = document.getElementById("target");
    21             var x = target.offsetLeft + target.offsetWidth - 4;
     21            var x = target.offsetLeft + target.offsetWidth - 9;
    2222            var y = target.offsetTop + target.offsetHeight / 2;
    2323            eventSender.mouseMoveTo(x, y);
  • trunk/LayoutTests/fast/forms/search-cancel-button-mouseup.html

    r19411 r89407  
    1414            var s3 = document.getElementById("search3");
    1515
    16             var buttonX = s1.offsetLeft + s1.offsetWidth - 6;
     16            var buttonX = s1.offsetLeft + s1.offsetWidth - 9;
    1717            var middleX = s1.offsetLeft + s1.offsetWidth / 2;
    1818
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r89405 r89407  
    12671267BUGCR23488 MAC : fast/canvas/canvas-incremental-repaint-2.html = IMAGE
    12681268BUGCR23488 LEOPARD : fast/css/shadow-multiple.html = IMAGE
    1269 BUGCR23488 MAC : fast/forms/search-vertical-alignment.html = IMAGE
    12701269BUGCR23488 LEOPARD : fast/frames/content-opacity-1.html = IMAGE
    12711270BUGCR23488 LEOPARD : fast/frames/content-opacity-2.html = IMAGE
     
    13641363BUGCR23473 MAC : fast/repaint/rel-positioned-inline-with-overflow.html = IMAGE
    13651364BUGCR23473 MAC : fast/repaint/repaint-resized-overflow.html = IMAGE
    1366 BUGCR23473 MAC : fast/repaint/search-field-cancel.html = IMAGE
     1365//BUGCR23473 MAC : fast/repaint/search-field-cancel.html = IMAGE
    13671366BUGCR23473 MAC : fast/repaint/selected-replaced.html = IMAGE
    13681367BUGCR23473 MAC : fast/repaint/selection-after-delete.html = IMAGE
     
    14201419BUGCR5737 LINUX : fast/forms/input-first-letter.html = FAIL
    14211420
    1422 // The (x) in type=search inputs appears to be slightly broken.  This test will also need a rebaseline.
    1423 BUGCR20439 WIN LINUX : fast/forms/search-transformed.html = FAIL
    1424 
    14251421// New test. We should fix it, but it doesn't need to block the current release
    14261422BUGCR10418 WIN DEBUG : animations/change-keyframes-name.html = FAIL PASS
     
    14611457// Mac flaky failures.
    14621458BUGCR10472 MAC DEBUG : svg/css/glyph-orientation-rounding-test.xhtml = FAIL PASS
    1463 
    1464 // <input type="search">; various failures, some tests may simply need new
    1465 // baselines, others have more problems.
    1466 BUGCR10473 LINUX : fast/forms/placeholder-set-value.html = FAIL
    1467 BUGCR10473 LINUX : fast/forms/search-display-none-cancel-button.html = FAIL
    1468 BUGCR10473 LINUX : fast/replaced/width100percent-searchfield.html = FAIL
    14691459
    14701460// This test isn't just slow -- sometimes it times out indefinitely.
     
    19381928BUGCR42875 WONTFIX SKIP : sputnik = TEXT
    19391929
    1940 // WebKit roll 58626:58719
    1941 BUGCR43963 WIN : fast/forms/searchfield-heights.html = IMAGE
    1942 BUGCR43963 LINUX : fast/forms/searchfield-heights.html = IMAGE+TEXT TEXT
    1943 
    19441930BUGWK38705 : http/tests/security/sandbox-inherit-to-initial-document-2.html = TEXT
    19451931
     
    25682554BUGCR62433 MAC LINUX : fast/backgrounds/animated-gif-as-background.html = IMAGE
    25692555BUGCR62433 MAC LINUX : fast/images/gif-loop-count.html = IMAGE
    2570 
    2571 // Similar to the above, input-search related failures
    2572 BUG_DRT MAC : fast/css/input-search-padding.html = IMAGE
    25732556
    25742557// Background color is wrong.
     
    29272910BUGWK54322 SNOWLEOPARD : fast/forms/input-file-re-render.html = IMAGE
    29282911BUGWK54322 SNOWLEOPARD : fast/forms/preserveFormDuringResidualStyle.html = IMAGE
    2929 BUGWK54322 SNOWLEOPARD : fast/forms/search-transformed.html = IMAGE
    29302912BUGWK54322 SNOWLEOPARD : fast/images/favicon-as-image.html = IMAGE+TEXT
    29312913//BUGWK54322 SNOWLEOPARD : fast/inline/inline-box-background-long-image.html = IMAGE
     
    32043186// new baselines.
    32053187BUGWK58193 WIN7 : fast/css/first-letter-first-line-hover.html = IMAGE+TEXT
    3206 BUGWK58193 WIN7 : fast/forms/search-styled.html = IMAGE+TEXT
    32073188BUGWK58193 WIN7 : fast/text/backslash-to-yen-sign-euc.html = IMAGE+TEXT
    32083189BUGWK58193 WIN7 : fast/text/backslash-to-yen-sign.html = IMAGE+TEXT
     
    32863267BUGWK58193 WIN7 : http/tests/local/fileapi/send-sliced-dragged-file.html = TIMEOUT PASS TEXT
    32873268
    3288 BUGWK58193 VISTA : fast/forms/search-styled.html = IMAGE+TEXT
    32893269BUGWK58193 VISTA : fast/text/backslash-to-yen-sign-euc.html = IMAGE+TEXT
    32903270BUGWK58193 VISTA : fast/text/international/khmer-selection.html = IMAGE+TEXT
     
    37423722BUGWK60931 DEBUG :  http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html = CRASH
    37433723
     3724// Needs rebaseline.
     3725BUGWK61415 : fast/css/input-search-padding.html = FAIL
     3726BUGWK61415 : fast/css/pseudo-cache-stale.html = FAIL
     3727BUGWK61415 : fast/css/text-input-with-webkit-border-radius.html = FAIL
     3728BUGWK61415 : fast/forms/box-shadow-override.html = FAIL
     3729BUGWK61415 : fast/forms/control-restrict-line-height.html = FAIL
     3730BUGWK61415 : fast/forms/input-appearance-height.html = FAIL
     3731BUGWK61415 : fast/forms/input-appearance-spinbutton-disabled-readonly.html = FAIL
     3732BUGWK61415 : fast/forms/input-appearance-spinbutton-layer.html = FAIL
     3733BUGWK61415 : fast/forms/input-appearance-spinbutton-visibility.html = FAIL
     3734BUGWK61415 : fast/forms/placeholder-position.html = FAIL
     3735BUGWK61415 : fast/forms/placeholder-pseudo-style.html = FAIL
     3736BUGWK61415 : fast/forms/placeholder-set-value.html = FAIL
     3737BUGWK61415 : fast/forms/search-cancel-button-style-sharing.html = FAIL
     3738BUGWK61415 : fast/forms/search-display-none-cancel-button.html = FAIL
     3739BUGWK61415 : fast/forms/search-placeholder-value-changed.html = FAIL
     3740BUGWK61415 : fast/forms/search-rtl.html = FAIL
     3741BUGWK61415 : fast/forms/search-styled.html = FAIL
     3742BUGWK61415 : fast/forms/search-transformed.html = FAIL
     3743BUGWK61415 : fast/forms/search-vertical-alignment.html = FAIL
     3744BUGWK61415 : fast/forms/search-zoomed.html = FAIL
     3745BUGWK61415 : fast/forms/searchfield-heights.html = FAIL
     3746// Do not update an image for search-field-cancel.html.
     3747BUGWK61415 : fast/repaint/search-field-cancel.html = FAIL
     3748BUGWK61415 : fast/replaced/width100percent-searchfield.html = FAIL
     3749BUGWK61415 WIN MAC : fast/speech/input-appearance-numberandspeech.html = FAIL
     3750BUGWK61415 WIN MAC : fast/speech/input-appearance-speechbutton.html = FAIL
     3751BUGWK61415 : fast/table/colspanMinWidth-vertical.html = FAIL
     3752BUGWK61415 : platform/mac/fast/forms/input-appearance-spinbutton-up.html = FAIL
     3753BUGWK61415 : platform/mac/fast/forms/input-appearance-spinbutton.html = FAIL
     3754
    37443755// Flaky since added by r86478
    37453756BUGCR82881 : http/tests/appcache/interrupted-update.html = PASS TEXT
  • trunk/LayoutTests/platform/mac/fast/css/input-search-padding-expected.txt

    r78894 r89407  
    55    RenderBody {BODY} at (8,8) size 784x584
    66      RenderTextControl {INPUT} at (2,2) size 429x82 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    7         RenderBlock {DIV} at (3,17) size 423x47
    8           RenderBlock {DIV} at (0,26) size 10x13
    9           RenderBlock {DIV} at (407,26) size 16x13
    10       RenderBR {BR} at (433,86) size 0x0
     7        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 423x47
     8          RenderBlock {DIV} at (0,17) size 10x13
     9          RenderBlock {DIV} at (10,0) size 397x47
     10          RenderBlock {DIV} at (407,17) size 16x13
     11      RenderBR {BR} at (433,44) size 0x0
    1112      RenderTextControl {INPUT} at (2,88) size 429x82 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    12       RenderBR {BR} at (433,172) size 0x0
     13      RenderBR {BR} at (433,130) size 0x0
    1314      RenderTextControl {INPUT} at (2,172) size 224x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    14         RenderBlock {DIV} at (6,1) size 212x23
    15           RenderBlock {DIV} at (0,6) size 10x13
    16           RenderBlock {DIV} at (196,6) size 16x13
    17 layer at (23,27) size 397x47 scrollWidth 410
    18   RenderBlock {DIV} at (10,0) size 397x47
     15        RenderDeprecatedFlexibleBox {DIV} at (6,6) size 212x13
     16          RenderBlock {DIV} at (0,0) size 10x13
     17          RenderBlock {DIV} at (10,0) size 186x13
     18          RenderBlock {DIV} at (196,0) size 16x13
     19layer at (23,13) size 397x47 scrollWidth 410
     20  RenderBlock {DIV} at (0,0) size 397x47
    1921    RenderText {#text} at (1,0) size 408x47
    2022      text run at (1,0) width 408: "value jgq not clipped"
    21 layer at (13,113) size 423x47
    22   RenderBlock {DIV} at (3,17) size 423x47
     23layer at (13,99) size 423x47
     24  RenderBlock {DIV} at (3,3) size 423x47
    2325    RenderText {#text} at (1,0) size 408x47
    2426      text run at (1,0) width 408: "value jgq not clipped"
    25 layer at (26,181) size 186x23
    26   RenderBlock {DIV} at (10,0) size 186x23
     27layer at (26,186) size 186x13 scrollHeight 23
     28  RenderBlock {DIV} at (0,0) size 186x13
    2729    RenderText {#text} at (1,0) size 127x23
    2830      text run at (1,0) width 127: "Sample Input"
  • trunk/LayoutTests/platform/mac/fast/css/pseudo-cache-stale-expected.txt

    r72052 r89407  
    1515      RenderBlock (anonymous) at (0,74) size 784x23
    1616        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    17           RenderBlock {DIV} at (3,3) size 119x13
    18             RenderBlock {DIV} at (0,0) size 8x11
    19             RenderBlock {DIV} at (106,0) size 13x11
     17          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     18            RenderBlock {DIV} at (0,1) size 8x11
     19            RenderBlock {DIV} at (8,0) size 98x13
     20            RenderBlock {DIV} at (106,1) size 13x11
    2021        RenderText {#text} at (0,0) size 0x0
    2122        RenderText {#text} at (0,0) size 0x0
    2223layer at (21,87) size 98x13
    23   RenderBlock {DIV} at (8,0) size 98x13
     24  RenderBlock {DIV} at (0,0) size 98x13
  • trunk/LayoutTests/platform/mac/fast/forms/box-shadow-override-expected.txt

    r88952 r89407  
    1212      RenderBlock {DIV} at (0,68) size 784x23
    1313        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    14           RenderBlock {DIV} at (3,3) size 119x13
    15             RenderBlock {DIV} at (0,0) size 8x11
    16             RenderBlock {DIV} at (106,0) size 13x11
     14          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     15            RenderBlock {DIV} at (0,1) size 8x11
     16            RenderBlock {DIV} at (8,0) size 98x13
     17            RenderBlock {DIV} at (106,1) size 13x11
    1718        RenderText {#text} at (0,0) size 0x0
    1819      RenderBlock {DIV} at (0,91) size 784x23
    1920        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    20           RenderBlock {DIV} at (3,3) size 119x13
    21             RenderBlock {DIV} at (0,0) size 17x11
    22             RenderBlock {DIV} at (106,0) size 13x11
     21          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     22            RenderBlock {DIV} at (0,1) size 17x11
     23            RenderBlock {DIV} at (17,0) size 89x13
     24            RenderBlock {DIV} at (106,1) size 13x11
    2325        RenderText {#text} at (0,0) size 0x0
    2426      RenderBlock {DIV} at (0,114) size 784x23
    2527        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    26           RenderBlock {DIV} at (3,3) size 119x13
    27             RenderBlock {DIV} at (0,0) size 22x11
    28             RenderBlock {DIV} at (106,0) size 13x11
     28          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     29            RenderBlock {DIV} at (0,1) size 22x11
     30            RenderBlock {DIV} at (22,0) size 84x13
     31            RenderBlock {DIV} at (106,1) size 13x11
    2932        RenderText {#text} at (0,0) size 0x0
    3033      RenderBlock (anonymous) at (0,137) size 784x32
     
    7275        RenderText {#text} at (0,0) size 0x0
    7376layer at (21,81) size 98x13
    74   RenderBlock {DIV} at (8,0) size 98x13
     77  RenderBlock {DIV} at (0,0) size 98x13
    7578    RenderText {#text} at (1,0) size 36x13
    7679      text run at (1,0) width 36: "Search"
    7780layer at (30,104) size 89x13
    78   RenderBlock {DIV} at (17,0) size 89x13
     81  RenderBlock {DIV} at (0,0) size 89x13
    7982layer at (35,127) size 84x13
    80   RenderBlock {DIV} at (22,0) size 84x13
     83  RenderBlock {DIV} at (0,0) size 84x13
    8184layer at (107,153) size 15x15
    8285  RenderBlock (relative positioned) {DIV} at (0,0) size 15x15
  • trunk/LayoutTests/platform/mac/fast/forms/control-restrict-line-height-expected.txt

    r78884 r89407  
    2222      RenderBR {BR} at (0,0) size 0x0
    2323      RenderTextControl {INPUT} at (2,64) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    24         RenderBlock {DIV} at (3,3) size 119x13
    25           RenderBlock {DIV} at (0,0) size 8x11
    26           RenderBlock {DIV} at (106,0) size 13x11
     24        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     25          RenderBlock {DIV} at (0,1) size 8x11
     26          RenderBlock {DIV} at (8,0) size 98x13
     27          RenderBlock {DIV} at (106,1) size 13x11
    2728      RenderText {#text} at (0,0) size 0x0
    2829layer at (21,75) size 98x13 scrollWidth 280
    29   RenderBlock {DIV} at (8,0) size 98x13
     30  RenderBlock {DIV} at (0,0) size 98x13
    3031    RenderText {#text} at (1,0) size 278x13
    3132      text run at (1,0) width 278: "This text should be centered vertically in the button"
  • trunk/LayoutTests/platform/mac/fast/forms/input-appearance-height-expected.txt

    r88952 r89407  
    9090          text run at (0,237) width 44: "search "
    9191        RenderTextControl {INPUT} at (46,237) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    92           RenderBlock {DIV} at (3,3) size 119x13
    93             RenderBlock {DIV} at (0,0) size 8x11
    94             RenderBlock {DIV} at (106,0) size 13x11
     92          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     93            RenderBlock {DIV} at (0,1) size 8x11
     94            RenderBlock {DIV} at (8,0) size 98x13
     95            RenderBlock {DIV} at (106,1) size 13x11
    9596        RenderText {#text} at (0,0) size 0x0
    9697layer at (49,31) size 119x13
     
    103104  RenderBlock {DIV} at (3,3) size 119x13
    104105layer at (65,266) size 98x13
    105   RenderBlock {DIV} at (8,0) size 98x13
     106  RenderBlock {DIV} at (0,0) size 98x13
    106107layer at (106,152) size 15x15
    107108  RenderBlock (relative positioned) {DIV} at (0,0) size 15x15
  • trunk/LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.txt

    r87881 r89407  
    1010        RenderInline {LABEL} at (0,0) size 306x18
    1111          RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     12            RenderDeprecatedFlexibleBox {DIV} at (3,3) size 212x23
     13              RenderBlock {DIV} at (0,0) size 193x23
    1214          RenderText {#text} at (222,10) size 84x18
    1315            text run at (222,10) width 84: " Normal state"
     
    1517        RenderInline {LABEL} at (0,0) size 314x18
    1618          RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     19            RenderDeprecatedFlexibleBox {DIV} at (3,3) size 212x23
     20              RenderBlock {DIV} at (0,0) size 193x23
    1721          RenderText {#text} at (222,10) size 92x18
    1822            text run at (222,10) width 92: " Disabled state"
     
    2024        RenderInline {LABEL} at (0,0) size 324x18
    2125          RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     26            RenderDeprecatedFlexibleBox {DIV} at (3,3) size 212x23
     27              RenderBlock {DIV} at (0,0) size 193x23
    2228          RenderText {#text} at (222,10) size 102x18
    2329            text run at (222,10) width 102: " Read-only state"
    2430layer at (13,47) size 193x23
    25   RenderBlock {DIV} at (3,3) size 193x23
     31  RenderBlock {DIV} at (0,0) size 193x23
    2632    RenderText {#text} at (1,0) size 13x23
    2733      text run at (1,0) width 13: "0"
    2834layer at (13,80) size 193x23
    29   RenderBlock {DIV} at (3,3) size 193x23 [color=#545454]
     35  RenderBlock {DIV} at (0,0) size 193x23 [color=#545454]
    3036    RenderText {#text} at (1,0) size 13x23
    3137      text run at (1,0) width 13: "0"
    3238layer at (13,113) size 193x23
    33   RenderBlock {DIV} at (3,3) size 193x23
     39  RenderBlock {DIV} at (0,0) size 193x23
    3440    RenderText {#text} at (1,0) size 13x23
    3541      text run at (1,0) width 13: "0"
    3642layer at (207,46) size 19x25
    37   RenderBlock (relative positioned) {DIV} at (197,2) size 19x25
     43  RenderBlock (relative positioned) {DIV} at (194,-1) size 19x25
    3844layer at (207,79) size 19x25
    39   RenderBlock (relative positioned) {DIV} at (197,2) size 19x25
     45  RenderBlock (relative positioned) {DIV} at (194,-1) size 19x25
    4046layer at (207,112) size 19x25
    41   RenderBlock (relative positioned) {DIV} at (197,2) size 19x25
     47  RenderBlock (relative positioned) {DIV} at (194,-1) size 19x25
  • trunk/LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.txt

    r87881 r89407  
    1919                  RenderBR {BR} at (104,14) size 0x0
    2020                  RenderTextControl {INPUT} at (0,19) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     21                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 94x10
     22                      RenderBlock {DIV} at (0,0) size 81x10
    2123                RenderBlock {DIV} at (1,36) size 178x36
    2224                  RenderTextControl {INPUT} at (0,2) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    2527                  RenderBR {BR} at (106,14) size 0x0
    2628                  RenderTextControl {INPUT} at (0,19) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     29                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 96x11
     30                      RenderBlock {DIV} at (0,0) size 83x11
    2731                RenderBlock {DIV} at (1,72) size 178x37
    2832                  RenderTextControl {INPUT} at (0,1) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    3135                  RenderBR {BR} at (108,14) size 0x0
    3236                  RenderTextControl {INPUT} at (0,19) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     37                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 98x12
     38                      RenderBlock {DIV} at (0,0) size 85x12
    3339                RenderBlock {DIV} at (1,109) size 178x46
    3440                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    3743                  RenderBR {BR} at (133,16) size 0x0
    3844                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     45                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     46                      RenderBlock {DIV} at (0,0) size 106x13
    3947                RenderBlock {DIV} at (1,155) size 178x50
    4048                  RenderTextControl {INPUT} at (2,2) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    4351                  RenderBR {BR} at (135,17) size 0x0
    4452                  RenderTextControl {INPUT} at (2,27) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     53                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 121x15
     54                      RenderBlock {DIV} at (0,0) size 108x15
    4555                RenderBlock {DIV} at (1,205) size 178x52
    4656                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    4959                  RenderBR {BR} at (156,18) size 0x0
    5060                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     61                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 142x16
     62                      RenderBlock {DIV} at (0,0) size 127x16
    5163                RenderBlock {DIV} at (1,257) size 178x54
    5264                  RenderTextControl {INPUT} at (2,2) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    5567                  RenderBR {BR} at (158,19) size 0x0
    5668                  RenderTextControl {INPUT} at (2,29) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     69                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 144x17
     70                      RenderBlock {DIV} at (0,0) size 129x17
    5771                RenderBlock {DIV} at (1,311) size 178x56
    5872                  RenderTextControl {INPUT} at (2,2) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    6175                  RenderBR {BR} at (178,20) size 0x0
    6276                  RenderTextControl {INPUT} at (2,30) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     77                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 164x18
     78                      RenderBlock {DIV} at (0,0) size 149x18
    6379              RenderTableCell {TD} at (184,2) size 253x524 [r=0 c=1 rs=1 cs=1]
    6480                RenderBlock {DIV} at (1,1) size 251x56
     
    6884                  RenderBR {BR} at (180,20) size 0x0
    6985                  RenderTextControl {INPUT} at (2,30) size 172x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     86                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 166x18
     87                      RenderBlock {DIV} at (0,0) size 151x18
    7088                RenderBlock {DIV} at (1,57) size 251x60
    7189                  RenderTextControl {INPUT} at (2,2) size 174x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    7492                  RenderBR {BR} at (182,21) size 0x0
    7593                  RenderTextControl {INPUT} at (2,32) size 174x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     94                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 168x20
     95                      RenderBlock {DIV} at (0,0) size 153x20
    7696                RenderBlock {DIV} at (1,117) size 251x62
    7797                  RenderTextControl {INPUT} at (2,2) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    80100                  RenderBR {BR} at (203,22) size 0x0
    81101                  RenderTextControl {INPUT} at (2,33) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     102                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 189x21
     103                      RenderBlock {DIV} at (0,0) size 170x21
    82104                RenderBlock {DIV} at (1,179) size 251x64
    83105                  RenderTextControl {INPUT} at (2,2) size 197x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    86108                  RenderBR {BR} at (205,23) size 0x0
    87109                  RenderTextControl {INPUT} at (2,34) size 197x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     110                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 191x22
     111                      RenderBlock {DIV} at (0,0) size 172x22
    88112                RenderBlock {DIV} at (1,243) size 251x66
    89113                  RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    92116                  RenderBR {BR} at (226,24) size 0x0
    93117                  RenderTextControl {INPUT} at (2,35) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     118                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 212x23
     119                      RenderBlock {DIV} at (0,0) size 193x23
    94120                RenderBlock {DIV} at (1,309) size 251x68
    95121                  RenderTextControl {INPUT} at (2,2) size 220x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    98124                  RenderBR {BR} at (228,25) size 0x0
    99125                  RenderTextControl {INPUT} at (2,36) size 220x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     126                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 214x24
     127                      RenderBlock {DIV} at (0,0) size 195x24
    100128                RenderBlock {DIV} at (1,377) size 251x72
    101129                  RenderTextControl {INPUT} at (2,2) size 241x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    104132                  RenderBR {BR} at (249,26) size 0x0
    105133                  RenderTextControl {INPUT} at (2,38) size 241x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     134                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 235x26
     135                      RenderBlock {DIV} at (0,0) size 216x26
    106136                RenderBlock {DIV} at (1,449) size 251x74
    107137                  RenderTextControl {INPUT} at (2,2) size 243x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     
    110140                  RenderBR {BR} at (251,27) size 0x0
    111141                  RenderTextControl {INPUT} at (2,39) size 243x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     142                    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 237x27
     143                      RenderBlock {DIV} at (0,0) size 218x27
    112144layer at (14,129) size 94x10
    113145  RenderBlock {DIV} at (3,3) size 94x10
    114146layer at (14,145) size 81x10
    115   RenderBlock {DIV} at (3,3) size 81x10
     147  RenderBlock {DIV} at (0,0) size 81x10
    116148layer at (14,163) size 96x11
    117149  RenderBlock {DIV} at (3,3) size 96x11
    118150layer at (14,180) size 83x11
    119   RenderBlock {DIV} at (3,3) size 83x11
     151  RenderBlock {DIV} at (0,0) size 83x11
    120152layer at (14,198) size 98x12
    121153  RenderBlock {DIV} at (3,3) size 98x12
    122154layer at (14,216) size 85x12
    123   RenderBlock {DIV} at (3,3) size 85x12
     155  RenderBlock {DIV} at (0,0) size 85x12
    124156layer at (16,236) size 119x13
    125157  RenderBlock {DIV} at (3,3) size 119x13
    126158layer at (16,259) size 106x13
    127   RenderBlock {DIV} at (3,3) size 106x13
     159  RenderBlock {DIV} at (0,0) size 106x13
    128160layer at (16,282) size 121x15
    129161  RenderBlock {DIV} at (3,3) size 121x15
    130162layer at (16,307) size 108x15
    131   RenderBlock {DIV} at (3,3) size 108x15
     163  RenderBlock {DIV} at (0,0) size 108x15
    132164layer at (16,332) size 142x16
    133165  RenderBlock {DIV} at (3,3) size 142x16
    134166layer at (16,358) size 127x16
    135   RenderBlock {DIV} at (3,3) size 127x16
     167  RenderBlock {DIV} at (0,0) size 127x16
    136168layer at (16,384) size 144x17
    137169  RenderBlock {DIV} at (3,3) size 144x17
    138170layer at (16,411) size 129x17
    139   RenderBlock {DIV} at (3,3) size 129x17
     171  RenderBlock {DIV} at (0,0) size 129x17
    140172layer at (16,438) size 164x18
    141173  RenderBlock {DIV} at (3,3) size 164x18
    142174layer at (16,466) size 149x18
    143   RenderBlock {DIV} at (3,3) size 149x18
     175  RenderBlock {DIV} at (0,0) size 149x18
    144176layer at (198,50) size 166x18
    145177  RenderBlock {DIV} at (3,3) size 166x18
    146178layer at (198,78) size 151x18
    147   RenderBlock {DIV} at (3,3) size 151x18
     179  RenderBlock {DIV} at (0,0) size 151x18
    148180layer at (198,106) size 168x20
    149181  RenderBlock {DIV} at (3,3) size 168x20
    150182layer at (198,136) size 153x20
    151   RenderBlock {DIV} at (3,3) size 153x20
     183  RenderBlock {DIV} at (0,0) size 153x20
    152184layer at (198,166) size 189x21
    153185  RenderBlock {DIV} at (3,3) size 189x21
    154186layer at (198,197) size 170x21
    155   RenderBlock {DIV} at (3,3) size 170x21
     187  RenderBlock {DIV} at (0,0) size 170x21
    156188layer at (198,228) size 191x22
    157189  RenderBlock {DIV} at (3,3) size 191x22
    158190layer at (198,260) size 172x22
    159   RenderBlock {DIV} at (3,3) size 172x22
     191  RenderBlock {DIV} at (0,0) size 172x22
    160192layer at (198,292) size 212x23
    161193  RenderBlock {DIV} at (3,3) size 212x23
    162194layer at (198,325) size 193x23
    163   RenderBlock {DIV} at (3,3) size 193x23
     195  RenderBlock {DIV} at (0,0) size 193x23
    164196layer at (198,358) size 214x24
    165197  RenderBlock {DIV} at (3,3) size 214x24
    166198layer at (198,392) size 195x24
    167   RenderBlock {DIV} at (3,3) size 195x24
     199  RenderBlock {DIV} at (0,0) size 195x24
    168200layer at (198,426) size 235x26
    169201  RenderBlock {DIV} at (3,3) size 235x26
    170202layer at (198,462) size 216x26
    171   RenderBlock {DIV} at (3,3) size 216x26
     203  RenderBlock {DIV} at (0,0) size 216x26
    172204layer at (198,498) size 237x27
    173205  RenderBlock {DIV} at (3,3) size 237x27
    174206layer at (198,535) size 218x27
    175   RenderBlock {DIV} at (3,3) size 218x27
     207  RenderBlock {DIV} at (0,0) size 218x27
    176208layer at (96,144) size 13x12
    177   RenderBlock (relative positioned) {DIV} at (85,2) size 13x12
     209  RenderBlock (relative positioned) {DIV} at (82,-1) size 13x12
    178210layer at (98,179) size 13x13
    179   RenderBlock (relative positioned) {DIV} at (87,2) size 13x13
     211  RenderBlock (relative positioned) {DIV} at (84,-1) size 13x13
    180212layer at (100,215) size 13x14
    181   RenderBlock (relative positioned) {DIV} at (89,2) size 13x14
     213  RenderBlock (relative positioned) {DIV} at (86,-1) size 13x14
    182214layer at (123,258) size 13x15
    183   RenderBlock (relative positioned) {DIV} at (110,2) size 13x15
     215  RenderBlock (relative positioned) {DIV} at (107,-1) size 13x15
    184216layer at (125,306) size 13x17
    185   RenderBlock (relative positioned) {DIV} at (112,2) size 13x17
     217  RenderBlock (relative positioned) {DIV} at (109,-1) size 13x17
    186218layer at (144,357) size 15x18
    187   RenderBlock (relative positioned) {DIV} at (131,2) size 15x18
     219  RenderBlock (relative positioned) {DIV} at (128,-1) size 15x18
    188220layer at (146,410) size 15x19
    189   RenderBlock (relative positioned) {DIV} at (133,2) size 15x19
     221  RenderBlock (relative positioned) {DIV} at (130,-1) size 15x19
    190222layer at (166,465) size 15x20
    191   RenderBlock (relative positioned) {DIV} at (153,2) size 15x20
     223  RenderBlock (relative positioned) {DIV} at (150,-1) size 15x20
    192224layer at (350,77) size 15x20
    193   RenderBlock (relative positioned) {DIV} at (155,2) size 15x20
     225  RenderBlock (relative positioned) {DIV} at (152,-1) size 15x20
    194226layer at (352,135) size 15x22
    195   RenderBlock (relative positioned) {DIV} at (157,2) size 15x22
     227  RenderBlock (relative positioned) {DIV} at (154,-1) size 15x22
    196228layer at (369,196) size 19x23
    197   RenderBlock (relative positioned) {DIV} at (174,2) size 19x23
     229  RenderBlock (relative positioned) {DIV} at (171,-1) size 19x23
    198230layer at (371,259) size 19x24
    199   RenderBlock (relative positioned) {DIV} at (176,2) size 19x24
     231  RenderBlock (relative positioned) {DIV} at (173,-1) size 19x24
    200232layer at (392,324) size 19x25
    201   RenderBlock (relative positioned) {DIV} at (197,2) size 19x25
     233  RenderBlock (relative positioned) {DIV} at (194,-1) size 19x25
    202234layer at (394,391) size 19x26
    203   RenderBlock (relative positioned) {DIV} at (199,2) size 19x26
     235  RenderBlock (relative positioned) {DIV} at (196,-1) size 19x26
    204236layer at (415,461) size 19x28
    205   RenderBlock (relative positioned) {DIV} at (220,2) size 19x28
     237  RenderBlock (relative positioned) {DIV} at (217,-1) size 19x28
    206238layer at (417,534) size 19x29
    207   RenderBlock (relative positioned) {DIV} at (222,2) size 19x29
     239  RenderBlock (relative positioned) {DIV} at (219,-1) size 19x29
  • trunk/LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-layer-expected.txt

    r87881 r89407  
    66      RenderBR {BR} at (129,2) size 0x18
    77      RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     8        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     9          RenderBlock {DIV} at (0,0) size 106x13
    810      RenderText {#text} at (0,0) size 0x0
    911layer at (13,36) size 106x13
    10   RenderBlock {DIV} at (3,3) size 106x13
     12  RenderBlock {DIV} at (0,0) size 106x13
    1113    RenderText {#text} at (1,0) size 14x13
    1214      text run at (1,0) width 14: "10"
    1315layer at (10,10) size 125x19
    1416  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     17    RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     18      RenderBlock {DIV} at (0,0) size 106x13
    1519layer at (13,13) size 106x13
    16   RenderBlock {DIV} at (3,3) size 106x13
     20  RenderBlock {DIV} at (0,0) size 106x13
    1721    RenderText {#text} at (1,0) size 14x13
    1822      text run at (1,0) width 14: "10"
    1923layer at (120,12) size 13x15
    20   RenderBlock (relative positioned) {DIV} at (110,2) size 13x15
     24  RenderBlock (relative positioned) {DIV} at (107,-1) size 13x15
    2125layer at (120,35) size 13x15
    22   RenderBlock (relative positioned) {DIV} at (110,2) size 13x15
     26  RenderBlock (relative positioned) {DIV} at (107,-1) size 13x15
  • trunk/LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt

    r87881 r89407  
    1010      RenderBlock (anonymous) at (0,34) size 784x31
    1111        RenderTextControl {INPUT} at (2,2) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     12          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 189x21
     13            RenderBlock {DIV} at (0,0) size 170x21
    1214        RenderText {#text} at (0,0) size 0x0
    1315        RenderText {#text} at (0,0) size 0x0
    1416layer at (13,47) size 170x21
    15   RenderBlock {DIV} at (3,3) size 170x21
     17  RenderBlock {DIV} at (0,0) size 170x21
    1618    RenderText {#text} at (1,0) size 12x21
    1719      text run at (1,0) width 12: "1"
    1820layer at (184,46) size 19x23
    19   RenderBlock (relative positioned) {DIV} at (174,2) size 19x23
    20 caret: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
     21  RenderBlock (relative positioned) {DIV} at (171,-1) size 19x23
     22caret: position 1 of child 0 {#text} of child 0 {DIV} of child 0 {DIV} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
  • trunk/LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-visibility-expected.txt

    r87881 r89407  
    55    RenderBody {BODY} at (8,8) size 784x23
    66      RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     7        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     8          RenderBlock {DIV} at (0,0) size 106x13
    79      RenderText {#text} at (129,2) size 4x18
    810        text run at (129,2) width 4: " "
    911      RenderTextControl {INPUT} at (135,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     12        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     13          RenderBlock {DIV} at (0,0) size 106x13
    1014      RenderText {#text} at (0,0) size 0x0
    1115layer at (13,13) size 106x13
    12   RenderBlock {DIV} at (3,3) size 106x13
     16  RenderBlock {DIV} at (0,0) size 106x13
    1317layer at (146,13) size 106x13
    14   RenderBlock {DIV} at (3,3) size 106x13
     18  RenderBlock {DIV} at (0,0) size 106x13
    1519layer at (120,12) size 13x15
    16   RenderBlock (relative positioned) {DIV} at (110,2) size 13x15
     20  RenderBlock (relative positioned) {DIV} at (107,-1) size 13x15
  • trunk/LayoutTests/platform/mac/fast/forms/placeholder-position-expected.txt

    r79284 r89407  
    55    RenderBody {BODY} at (8,8) size 784x584
    66      RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    7         RenderBlock {DIV} at (3,3) size 119x13
    8           RenderBlock {DIV} at (0,0) size 8x11
    9           RenderBlock {DIV} at (106,0) size 13x11
     7        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     8          RenderBlock {DIV} at (0,1) size 8x11
     9          RenderBlock {DIV} at (8,0) size 98x13
     10          RenderBlock {DIV} at (106,1) size 13x11
    1011      RenderBR {BR} at (129,16) size 0x0
    1112      RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    1213      RenderBR {BR} at (129,39) size 0x0
    1314      RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    14         RenderBlock {DIV} at (3,3) size 119x13
    15           RenderBlock {DIV} at (0,0) size 8x11
    16           RenderBlock {DIV} at (106,0) size 13x11
     15        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     16          RenderBlock {DIV} at (0,1) size 8x11
     17          RenderBlock {DIV} at (8,0) size 98x13
     18          RenderBlock {DIV} at (106,1) size 13x11
    1719      RenderBR {BR} at (129,62) size 0x0
    1820      RenderTextControl {INPUT} at (2,71) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    19         RenderBlock {DIV} at (3,3) size 119x13
    20           RenderBlock {DIV} at (0,0) size 22x11
    21           RenderBlock {DIV} at (106,0) size 13x11
     21        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     22          RenderBlock {DIV} at (0,1) size 22x11
     23          RenderBlock {DIV} at (22,0) size 84x13
     24          RenderBlock {DIV} at (106,1) size 13x11
    2225      RenderBR {BR} at (129,85) size 0x0
    2326      RenderBR {BR} at (165,128) size 0x0
    2427      RenderTextControl {INPUT} at (2,130) size 125x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    25       RenderBR {BR} at (129,165) size 0x0
     28      RenderBR {BR} at (129,144) size 0x0
    2629      RenderBR {BR} at (165,214) size 0x0
    2730      RenderTextControl {INPUT} at (5,219) size 176x30 [bgcolor=#FFFFFF] [border: (5px solid #000000)]
    2831      RenderBR {BR} at (186,240) size 0x0
    29       RenderBR {BR} at (129,277) size 0x0
     32      RenderBR {BR} at (129,284) size 0x0
    3033layer at (21,13) size 98x13
    31   RenderBlock {DIV} at (8,0) size 98x13
     34  RenderBlock {DIV} at (0,0) size 98x13
    3235layer at (13,36) size 119x13
    3336  RenderBlock {DIV} at (3,3) size 119x13
    3437layer at (21,59) size 98x13
    35   RenderBlock {DIV} at (8,0) size 98x13
     38  RenderBlock {DIV} at (0,0) size 98x13
    3639layer at (35,82) size 84x13
    37   RenderBlock {DIV} at (22,0) size 84x13
     40  RenderBlock {DIV} at (0,0) size 84x13
    3841layer at (10,102) size 161x32 clip at (11,103) size 159x30
    3942  RenderTextControl {TEXTAREA} at (2,94) size 161x32 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    4043    RenderBlock {DIV} at (3,3) size 155x13
    41 layer at (13,148) size 119x13
    42   RenderBlock {DIV} at (3,10) size 119x13
     44layer at (13,141) size 119x13
     45  RenderBlock {DIV} at (3,3) size 119x13
    4346layer at (10,175) size 161x45 clip at (11,176) size 159x43
    4447  RenderTextControl {TEXTAREA} at (2,167) size 161x45 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     
    4851layer at (10,264) size 125x33
    4952  RenderTextControl {INPUT} at (2,256) size 125x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    50 layer at (13,274) size 119x13
    51   RenderBlock {DIV} at (3,10) size 119x13
     53layer at (13,281) size 119x13
     54  RenderBlock {DIV} at (3,17) size 119x13
  • trunk/LayoutTests/platform/mac/fast/forms/placeholder-pseudo-style-expected.txt

    r72052 r89407  
    1111        text run at (129,20) width 4: " "
    1212      RenderTextControl {INPUT} at (135,20) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    13         RenderBlock {DIV} at (3,3) size 119x13
    14           RenderBlock {DIV} at (0,0) size 8x11
    15           RenderBlock {DIV} at (106,0) size 13x11
     13        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     14          RenderBlock {DIV} at (0,1) size 8x11
     15          RenderBlock {DIV} at (8,0) size 98x13
     16          RenderBlock {DIV} at (106,1) size 13x11
    1617      RenderText {#text} at (262,20) size 4x18
    1718        text run at (262,20) width 4: " "
     
    3031  RenderBlock {DIV} at (3,3) size 119x13
    3132layer at (154,31) size 98x13
    32   RenderBlock {DIV} at (8,0) size 98x13
     33  RenderBlock {DIV} at (0,0) size 98x13
    3334layer at (279,31) size 119x13
    3435  RenderBlock {DIV} at (3,3) size 119x13
  • trunk/LayoutTests/platform/mac/fast/forms/placeholder-set-value-expected.txt

    r63403 r89407  
    1515      RenderBlock (anonymous) at (0,52) size 784x23
    1616        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    17           RenderBlock {DIV} at (3,3) size 119x13
    18             RenderBlock {DIV} at (0,0) size 8x11
    19             RenderBlock {DIV} at (106,0) size 13x11
     17          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     18            RenderBlock {DIV} at (0,1) size 8x11
     19            RenderBlock {DIV} at (8,0) size 98x13
     20            RenderBlock {DIV} at (106,1) size 13x11
    2021        RenderText {#text} at (0,0) size 0x0
    2122layer at (21,65) size 98x13
    22   RenderBlock {DIV} at (8,0) size 98x13
     23  RenderBlock {DIV} at (0,0) size 98x13
    2324    RenderText {#text} at (1,0) size 48x13
    2425      text run at (1,0) width 48: "New text"
  • trunk/LayoutTests/platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt

    r54748 r89407  
    99      RenderBlock (anonymous) at (0,34) size 784x23
    1010        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    11           RenderBlock {DIV} at (3,3) size 119x13
    12             RenderBlock {DIV} at (0,0) size 8x11
    13             RenderBlock {DIV} at (106,0) size 13x11
     11          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     12            RenderBlock {DIV} at (0,1) size 8x11
     13            RenderBlock {DIV} at (8,0) size 98x13
     14            RenderBlock {DIV} at (106,1) size 13x11
    1415        RenderText {#text} at (129,2) size 4x18
    1516          text run at (129,2) width 4: " "
    1617        RenderTextControl {INPUT} at (135,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    17           RenderBlock {DIV} at (3,3) size 119x13
    18             RenderBlock {DIV} at (0,0) size 8x11
    19             RenderBlock {DIV} at (106,0) size 13x11
     18          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     19            RenderBlock {DIV} at (0,1) size 8x11
     20            RenderBlock {DIV} at (8,0) size 98x13
     21            RenderBlock {DIV} at (106,1) size 13x11
    2022        RenderText {#text} at (0,0) size 0x0
    2123layer at (21,47) size 98x13
    22   RenderBlock {DIV} at (8,0) size 98x13
     24  RenderBlock {DIV} at (0,0) size 98x13
    2325layer at (154,47) size 98x13
    24   RenderBlock {DIV} at (8,0) size 98x13
     26  RenderBlock {DIV} at (0,0) size 98x13
    2527    RenderText {#text} at (1,0) size 43x13
    2628      text run at (1,0) width 43: "this one"
  • trunk/LayoutTests/platform/mac/fast/forms/search-display-none-cancel-button-expected.txt

    r63403 r89407  
    88      RenderBR {BR} at (499,14) size 0x0
    99      RenderTextControl {INPUT} at (2,20) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    10         RenderBlock {DIV} at (3,3) size 119x13
    11           RenderBlock {DIV} at (0,0) size 8x11
     10        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     11          RenderBlock {DIV} at (0,1) size 8x11
     12          RenderBlock {DIV} at (8,0) size 111x13
    1213      RenderText {#text} at (0,0) size 0x0
    1314layer at (21,31) size 111x13
    14   RenderBlock {DIV} at (8,0) size 111x13
     15  RenderBlock {DIV} at (0,0) size 111x13
    1516    RenderText {#text} at (1,0) size 20x13
    1617      text run at (1,0) width 20: "test"
  • trunk/LayoutTests/platform/mac/fast/forms/search-placeholder-value-changed-expected.txt

    r72052 r89407  
    55    RenderBody {BODY} at (8,8) size 784x584
    66      RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    7         RenderBlock {DIV} at (3,3) size 119x13
    8           RenderBlock {DIV} at (0,0) size 8x11
    9           RenderBlock {DIV} at (106,0) size 13x11
     7        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     8          RenderBlock {DIV} at (0,1) size 8x11
     9          RenderBlock {DIV} at (8,0) size 98x13
     10          RenderBlock {DIV} at (106,1) size 13x11
    1011      RenderText {#text} at (0,0) size 0x0
    1112      RenderText {#text} at (0,0) size 0x0
    1213layer at (21,13) size 98x13
    13   RenderBlock {DIV} at (8,0) size 98x13
     14  RenderBlock {DIV} at (0,0) size 98x13
  • trunk/LayoutTests/platform/mac/fast/forms/search-rtl-expected.txt

    r87067 r89407  
    1818      RenderBlock {P} at (0,34) size 784x69
    1919        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    20           RenderBlock {DIV} at (3,3) size 119x13
    21             RenderBlock {DIV} at (0,0) size 22x11
    22             RenderBlock {DIV} at (106,0) size 13x11
     20          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     21            RenderBlock {DIV} at (0,1) size 22x11
     22            RenderBlock {DIV} at (22,0) size 84x13
     23            RenderBlock {DIV} at (106,1) size 13x11
    2324        RenderText {#text} at (129,2) size 4x18
    2425          text run at (129,2) width 4: " "
    2526        RenderBR {BR} at (0,0) size 0x0
    2627        RenderTextControl {INPUT} at (2,25) size 175x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    27           RenderBlock {DIV} at (3,3) size 169x13
    28             RenderBlock {DIV} at (0,0) size 22x11
    29             RenderBlock {DIV} at (156,0) size 13x11
     28          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 169x13
     29            RenderBlock {DIV} at (0,1) size 22x11
     30            RenderBlock {DIV} at (22,0) size 134x13
     31            RenderBlock {DIV} at (156,1) size 13x11
    3032        RenderText {#text} at (179,25) size 4x18
    3133          text run at (179,25) width 4: " "
    3234        RenderBR {BR} at (0,0) size 0x0
    3335        RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    34           RenderBlock {DIV} at (3,3) size 119x13
    35             RenderBlock {DIV} at (0,0) size 22x11
    36             RenderBlock {DIV} at (106,0) size 13x11
     36          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     37            RenderBlock {DIV} at (0,1) size 22x11
     38            RenderBlock {DIV} at (22,0) size 84x13
     39            RenderBlock {DIV} at (106,1) size 13x11
    3740        RenderText {#text} at (0,0) size 0x0
    3841      RenderBlock {P} at (0,119) size 784x18
     
    4043          text run at (0,0) width 39: "PASS"
    4144layer at (35,47) size 84x13 scrollX 52 scrollWidth 136
    42   RenderBlock {DIV} at (22,0) size 84x13
     45  RenderBlock {DIV} at (0,0) size 84x13
    4346    RenderText {#text} at (-51,0) size 135x13
    4447      text run at (-51,0) width 22 RTL: " \x{5D5}\x{5D6}\x{5D4}\x{5D5}"
     
    4851      text run at (46,0) width 37 RTL: "\x{5D4}\x{5D5}\x{5D0} \x{5D6}\x{5D4} "
    4952layer at (35,70) size 134x13 scrollX 2 scrollWidth 136
    50   RenderBlock {DIV} at (22,0) size 134x13
     53  RenderBlock {DIV} at (0,0) size 134x13
    5154    RenderText {#text} at (-1,0) size 135x13
    5255      text run at (-1,0) width 22 RTL: " \x{5D5}\x{5D6}\x{5D4}\x{5D5}"
     
    5659      text run at (96,0) width 37 RTL: "\x{5D4}\x{5D5}\x{5D0} \x{5D6}\x{5D4} "
    5760layer at (35,93) size 84x13
    58   RenderBlock {DIV} at (22,0) size 84x13
    59 caret: position 0 of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 9 {INPUT} of child 3 {P} of body
     61  RenderBlock {DIV} at (0,0) size 84x13
     62caret: position 0 of child 0 {DIV} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 9 {INPUT} of child 3 {P} of body
  • trunk/LayoutTests/platform/mac/fast/forms/search-styled-expected.txt

    r72052 r89407  
    55    RenderBody {BODY} at (8,8) size 784x23
    66      RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    7         RenderBlock {DIV} at (3,3) size 119x13
    8           RenderBlock {DIV} at (0,0) size 22x11
    9           RenderBlock {DIV} at (106,0) size 13x11
     7        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     8          RenderBlock {DIV} at (0,1) size 22x11
     9          RenderBlock {DIV} at (22,0) size 84x13
     10          RenderBlock {DIV} at (106,1) size 13x11
    1011      RenderText {#text} at (0,0) size 0x0
    1112layer at (35,13) size 84x13
    12   RenderBlock {DIV} at (22,0) size 84x13
     13  RenderBlock {DIV} at (0,0) size 84x13
  • trunk/LayoutTests/platform/mac/fast/forms/search-transformed-expected.txt

    r87067 r89407  
    2121  RenderBlock {P} at (0,52) size 784x23
    2222    RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    23       RenderBlock {DIV} at (3,3) size 119x13
    24         RenderBlock {DIV} at (0,0) size 22x11
    25         RenderBlock {DIV} at (106,0) size 13x11
     23      RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     24        RenderBlock {DIV} at (0,1) size 22x11
     25        RenderBlock {DIV} at (22,0) size 84x13
     26        RenderBlock {DIV} at (106,1) size 13x11
    2627    RenderText {#text} at (0,0) size 0x0
    2728layer at (35,65) size 84x13 scrollWidth 88
    28   RenderBlock {DIV} at (22,0) size 84x13
     29  RenderBlock {DIV} at (0,0) size 84x13
    2930    RenderText {#text} at (1,0) size 86x13
    3031      text run at (1,0) width 86: "Some other text"
    31 caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
     32caret: position 15 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
  • trunk/LayoutTests/platform/mac/fast/forms/search-vertical-alignment-expected.txt

    r54748 r89407  
    1313      RenderBlock {P} at (0,52) size 784x45
    1414        RenderTextControl {INPUT} at (2,0) size 125x45 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    15           RenderBlock {DIV} at (3,16) size 119x13
    16             RenderBlock {DIV} at (0,0) size 17x11
    17             RenderBlock {DIV} at (106,0) size 13x11
     15          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x39
     16            RenderBlock {DIV} at (0,14) size 17x11
     17            RenderBlock {DIV} at (17,13) size 89x13
     18            RenderBlock {DIV} at (106,14) size 13x11
    1819        RenderText {#text} at (129,13) size 4x18
    1920          text run at (129,13) width 4: " "
    2021        RenderTextControl {INPUT} at (135,0) size 125x45 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    2122        RenderText {#text} at (0,0) size 0x0
    22       RenderBlock {P} at (0,113) size 784x18
    23         RenderTextControl {INPUT} at (2,2) size 125x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    24           RenderBlock {DIV} at (3,1) size 119x13
     23      RenderBlock {P} at (0,113) size 784x20
     24        RenderTextControl {INPUT} at (2,0) size 125x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     25          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x10
    2526            RenderBlock {DIV} at (0,0) size 17x11
     27            RenderBlock {DIV} at (17,0) size 89x10
    2628            RenderBlock {DIV} at (106,0) size 13x11
    27         RenderText {#text} at (129,0) size 4x18
    28           text run at (129,0) width 4: " "
    29         RenderTextControl {INPUT} at (135,2) size 125x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     29        RenderText {#text} at (129,2) size 4x18
     30          text run at (129,2) width 4: " "
     31        RenderTextControl {INPUT} at (135,0) size 125x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    3032        RenderText {#text} at (0,0) size 0x0
    31       RenderBlock {P} at (0,147) size 784x18
     33      RenderBlock {P} at (0,149) size 784x18
    3234        RenderTextControl {INPUT} at (2,2) size 125x12 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    33           RenderBlock {DIV} at (3,3) size 119x6
     35          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x6
    3436            RenderBlock {DIV} at (0,0) size 17x11
     37            RenderBlock {DIV} at (17,0) size 89x6
    3538            RenderBlock {DIV} at (106,0) size 13x11
    3639        RenderText {#text} at (129,0) size 4x18
     
    3942        RenderText {#text} at (0,0) size 0x0
    4043layer at (30,76) size 89x13
    41   RenderBlock {DIV} at (17,0) size 89x13
     44  RenderBlock {DIV} at (0,0) size 89x13
    4245    RenderText {#text} at (1,0) size 24x13
    4346      text run at (1,0) width 24: "Text"
     
    4649    RenderText {#text} at (1,0) size 24x13
    4750      text run at (1,0) width 24: "Text"
    48 layer at (30,124) size 89x13
    49   RenderBlock {DIV} at (17,0) size 89x13
     51layer at (30,124) size 89x10 scrollHeight 13
     52  RenderBlock {DIV} at (0,0) size 89x10
    5053    RenderText {#text} at (1,0) size 24x13
    5154      text run at (1,0) width 24: "Text"
    52 layer at (146,124) size 119x13
    53   RenderBlock {DIV} at (3,1) size 119x13
     55layer at (146,124) size 119x10 scrollHeight 13
     56  RenderBlock {DIV} at (3,3) size 119x10
    5457    RenderText {#text} at (1,0) size 24x13
    5558      text run at (1,0) width 24: "Text"
    56 layer at (30,160) size 89x13
    57   RenderBlock {DIV} at (17,0) size 89x13
     59layer at (30,162) size 89x6 scrollHeight 13
     60  RenderBlock {DIV} at (0,0) size 89x6
    5861    RenderText {#text} at (1,0) size 24x13
    5962      text run at (1,0) width 24: "Text"
    60 layer at (146,160) size 119x6 scrollHeight 13
     63layer at (146,162) size 119x6 scrollHeight 13
    6164  RenderBlock {DIV} at (3,3) size 119x6
    6265    RenderText {#text} at (1,0) size 24x13
  • trunk/LayoutTests/platform/mac/fast/forms/search-zoomed-expected.txt

    r87067 r89407  
    1717      RenderBlock {P} at (0,63) size 782x26
    1818        RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    19           RenderBlock {DIV} at (3,2) size 142x18
     19          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 142x16
    2020            RenderBlock {DIV} at (0,0) size 27x15
     21            RenderBlock {DIV} at (27,0) size 96x16
    2122            RenderBlock {DIV} at (123,0) size 19x15
    2223        RenderText {#text} at (0,0) size 0x0
     
    2425        RenderText {#text} at (0,0) size 47x22
    2526          text run at (0,0) width 47: "PASS"
    26 layer at (41,78) size 96x16 scrollWidth 104
    27   RenderBlock {DIV} at (27,2) size 96x16
     27layer at (41,77) size 96x16 scrollWidth 104
     28  RenderBlock {DIV} at (0,0) size 96x16
    2829    RenderText {#text} at (1,0) size 102x16
    2930      text run at (1,0) width 102: "Some other text"
    30 caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
     31caret: position 15 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
  • trunk/LayoutTests/platform/mac/fast/forms/searchfield-heights-expected.txt

    r63403 r89407  
    88      RenderBR {BR} at (368,14) size 0x0
    99      RenderTextControl {INPUT} at (0,22) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    10         RenderBlock {DIV} at (3,3) size 96x11
    11           RenderBlock {DIV} at (0,0) size 8x9
    12           RenderBlock {DIV} at (83,0) size 13x9
     10        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 96x11
     11          RenderBlock {DIV} at (0,1) size 8x9
     12          RenderBlock {DIV} at (8,0) size 75x11
     13          RenderBlock {DIV} at (83,1) size 13x9
    1314      RenderText {#text} at (102,20) size 4x18
    1415        text run at (102,20) width 4: " "
    1516      RenderTextControl {INPUT} at (108,20) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    16         RenderBlock {DIV} at (3,3) size 119x13
    17           RenderBlock {DIV} at (0,0) size 8x11
    18           RenderBlock {DIV} at (106,0) size 13x11
     17        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     18          RenderBlock {DIV} at (0,1) size 8x11
     19          RenderBlock {DIV} at (8,0) size 98x13
     20          RenderBlock {DIV} at (106,1) size 13x11
    1921      RenderText {#text} at (235,20) size 4x18
    2022        text run at (235,20) width 4: " "
    2123      RenderTextControl {INPUT} at (241,18) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    22         RenderBlock {DIV} at (3,3) size 142x16
    23           RenderBlock {DIV} at (0,0) size 10x13
    24           RenderBlock {DIV} at (126,0) size 16x13
     24        RenderDeprecatedFlexibleBox {DIV} at (3,3) size 142x16
     25          RenderBlock {DIV} at (0,1) size 10x13
     26          RenderBlock {DIV} at (10,0) size 116x16
     27          RenderBlock {DIV} at (126,1) size 16x13
    2528      RenderText {#text} at (0,0) size 0x0
    2629layer at (19,33) size 75x11
    27   RenderBlock {DIV} at (8,0) size 75x11
     30  RenderBlock {DIV} at (0,0) size 75x11
    2831    RenderText {#text} at (1,0) size 20x11
    2932      text run at (1,0) width 20: "mini"
    3033layer at (127,31) size 98x13
    31   RenderBlock {DIV} at (8,0) size 98x13
     34  RenderBlock {DIV} at (0,0) size 98x13
    3235    RenderText {#text} at (1,0) size 29x13
    3336      text run at (1,0) width 29: "small"
    3437layer at (262,29) size 116x16
    35   RenderBlock {DIV} at (10,0) size 116x16
     38  RenderBlock {DIV} at (0,0) size 116x16
    3639    RenderText {#text} at (1,0) size 45x16
    3740      text run at (1,0) width 45: "regular"
  • trunk/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.txt

    r63403 r89407  
    1414      RenderBlock (anonymous) at (0,34) size 784x23
    1515        RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    16           RenderBlock {DIV} at (3,3) size 119x13
    17             RenderBlock {DIV} at (0,0) size 8x11
    18             RenderBlock {DIV} at (106,0) size 13x11
     16          RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     17            RenderBlock {DIV} at (0,1) size 8x11
     18            RenderBlock {DIV} at (8,0) size 98x13
     19            RenderBlock {DIV} at (106,1) size 13x11
    1920        RenderText {#text} at (0,0) size 0x0
    2021layer at (21,47) size 98x13
    21   RenderBlock {DIV} at (8,0) size 98x13
     22  RenderBlock {DIV} at (0,0) size 98x13
    2223    RenderText {#text} at (1,0) size 54x13
    2324      text run at (1,0) width 54: "some text"
  • trunk/LayoutTests/platform/mac/fast/replaced/width100percent-searchfield-expected.txt

    r78904 r89407  
    1212            RenderTableCell {TD} at (1,1) size 127x25 [r=0 c=0 rs=1 cs=1]
    1313              RenderTextControl {INPUT} at (1,3) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    14                 RenderBlock {DIV} at (3,3) size 119x13
    15                   RenderBlock {DIV} at (0,0) size 8x11
    16                   RenderBlock {DIV} at (106,0) size 13x11
     14                RenderDeprecatedFlexibleBox {DIV} at (3,3) size 119x13
     15                  RenderBlock {DIV} at (0,1) size 8x11
     16                  RenderBlock {DIV} at (8,0) size 98x13
     17                  RenderBlock {DIV} at (106,1) size 13x11
    1718            RenderTableCell {TD} at (129,1) size 8x25 [r=0 c=1 rs=1 cs=1]
    1819              RenderTextControl {INPUT} at (1,3) size 6x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    19                 RenderBlock {DIV} at (3,3) size 0x35
    20                   RenderBlock {DIV} at (0,0) size 8x11
    21                   RenderBlock {DIV} at (0,24) size 13x11
     20                RenderDeprecatedFlexibleBox {DIV} at (3,3) size 0x13
     21                  RenderBlock {DIV} at (0,1) size 8x11
     22                  RenderBlock {DIV} at (8,0) size 0x13
     23                  RenderBlock {DIV} at (8,1) size 13x11
    2224            RenderTableCell {TD} at (138,1) size 8x25 [r=0 c=2 rs=1 cs=1]
    2325              RenderTextControl {INPUT} at (1,3) size 6x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    24                 RenderBlock {DIV} at (3,3) size 0x35
    25                   RenderBlock {DIV} at (0,0) size 8x11
    26                   RenderBlock {DIV} at (0,24) size 13x11
     26                RenderDeprecatedFlexibleBox {DIV} at (3,3) size 0x13
     27                  RenderBlock {DIV} at (0,1) size 8x11
     28                  RenderBlock {DIV} at (8,0) size 0x13
     29                  RenderBlock {DIV} at (8,1) size 13x11
    2730            RenderTableCell {TD} at (147,3) size 636x20 [r=0 c=3 rs=1 cs=1]
    2831              RenderText {#text} at (1,1) size 4x18
     
    3639            RenderTableCell {TD} at (1,1) size 527x25 [r=0 c=0 rs=1 cs=1]
    3740              RenderTextControl {INPUT} at (1,3) size 525x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    38                 RenderBlock {DIV} at (3,3) size 519x13
    39                   RenderBlock {DIV} at (0,0) size 22x11
    40                   RenderBlock {DIV} at (506,0) size 13x11
     41                RenderDeprecatedFlexibleBox {DIV} at (3,3) size 519x13
     42                  RenderBlock {DIV} at (0,1) size 22x11
     43                  RenderBlock {DIV} at (22,0) size 484x13
     44                  RenderBlock {DIV} at (506,1) size 13x11
    4145            RenderTableCell {TD} at (529,1) size 8x25 [r=0 c=1 rs=1 cs=1]
    4246              RenderTextControl {INPUT} at (1,3) size 6x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    43                 RenderBlock {DIV} at (3,3) size 0x35
    44                   RenderBlock {DIV} at (0,0) size 22x11
    45                   RenderBlock {DIV} at (0,24) size 13x11
     47                RenderDeprecatedFlexibleBox {DIV} at (3,3) size 0x13
     48                  RenderBlock {DIV} at (0,1) size 22x11
     49                  RenderBlock {DIV} at (22,0) size 0x13
     50                  RenderBlock {DIV} at (22,1) size 13x11
    4651            RenderTableCell {TD} at (538,1) size 8x25 [r=0 c=2 rs=1 cs=1]
    4752              RenderTextControl {INPUT} at (1,3) size 6x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    48                 RenderBlock {DIV} at (3,3) size 0x35
    49                   RenderBlock {DIV} at (0,0) size 22x11
    50                   RenderBlock {DIV} at (0,24) size 13x11
     53                RenderDeprecatedFlexibleBox {DIV} at (3,3) size 0x13
     54                  RenderBlock {DIV} at (0,1) size 22x11
     55                  RenderBlock {DIV} at (22,0) size 0x13
     56                  RenderBlock {DIV} at (22,1) size 13x11
    5157            RenderTableCell {TD} at (547,3) size 236x20 [r=0 c=3 rs=1 cs=1]
    5258              RenderText {#text} at (1,1) size 4x18
    5359                text run at (1,1) width 4: " "
    5460layer at (21,33) size 98x13
    55   RenderBlock {DIV} at (8,0) size 98x13
     61  RenderBlock {DIV} at (0,0) size 98x13
    5662    RenderText {#text} at (1,0) size 49x13
    5763      text run at (1,0) width 49: "New Mail"
    58 layer at (141,44) size 2x13 scrollWidth 31
    59   RenderBlock {DIV} at (0,11) size 2x13
     64layer at (149,33) size 31x13
     65  RenderBlock {DIV} at (0,0) size 31x13
    6066    RenderText {#text} at (1,0) size 29x13
    6167      text run at (1,0) width 29: "Reply"
    62 layer at (150,44) size 2x13 scrollWidth 49
    63   RenderBlock {DIV} at (0,11) size 2x13
     68layer at (158,33) size 49x13
     69  RenderBlock {DIV} at (0,0) size 49x13
    6470    RenderText {#text} at (1,0) size 47x13
    6571      text run at (1,0) width 47: "Reply All"
    6672layer at (35,96) size 484x13
    67   RenderBlock {DIV} at (22,0) size 484x13
     73  RenderBlock {DIV} at (0,0) size 484x13
    6874    RenderText {#text} at (1,0) size 49x13
    6975      text run at (1,0) width 49: "New Mail"
    70 layer at (541,107) size 2x13 scrollWidth 31
    71   RenderBlock {DIV} at (0,11) size 2x13
     76layer at (563,96) size 31x13
     77  RenderBlock {DIV} at (0,0) size 31x13
    7278    RenderText {#text} at (1,0) size 29x13
    7379      text run at (1,0) width 29: "Reply"
    74 layer at (550,107) size 2x13 scrollWidth 49
    75   RenderBlock {DIV} at (0,11) size 2x13
     80layer at (572,96) size 49x13
     81  RenderBlock {DIV} at (0,0) size 49x13
    7682    RenderText {#text} at (1,0) size 47x13
    7783      text run at (1,0) width 47: "Reply All"
  • trunk/LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.txt

    r82786 r89407  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584
    6       RenderTable {TABLE} at (0,0) size 32x149
    7         RenderTableSection {TBODY} at (0,0) size 32x149
     6      RenderTable {TABLE} at (0,0) size 45x149
     7        RenderTableSection {TBODY} at (0,0) size 45x149
    88          RenderTableRow {TR} at (0,2) size 2x149
    99            RenderTableCell {TD} at (2,2) size 2x3 [bgcolor=#0000FF] [r=0 c=0 rs=1 cs=1]
     
    1111            RenderTableCell {TD} at (6,2) size 2x141 [bgcolor=#008000] [r=1 c=0 rs=2 cs=2]
    1212          RenderTableRow {TR} at (0,8) size 0x149
    13             RenderTableCell {TD} at (8,155) size 22x-18 [bgcolor=#FF0000] [r=2 c=2 rs=2 cs=1]
    14           RenderTableRow {TR} at (0,10) size 20x149
    15             RenderTableCell {TD} at (10,2) size 20x141 [bgcolor=#00FFFF] [r=3 c=0 rs=1 cs=2]
    16               RenderTable {TABLE} at (1,1) size 18x139
    17                 RenderTableSection {TBODY} at (0,0) size 18x139
    18                   RenderTableRow {TR} at (0,2) size 14x139
    19                     RenderTableCell {TD} at (2,8) size 14x-10 [bgcolor=#FF00FF] [r=0 c=0 rs=1 cs=1]
    20                     RenderTableCell {TD} at (2,6) size 14x131 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
    21                       RenderTextControl {INPUT} at (3,3) size 8x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     13            RenderTableCell {TD} at (8,161) size 35x-31 [bgcolor=#FF0000] [r=2 c=2 rs=2 cs=1]
     14          RenderTableRow {TR} at (0,10) size 33x149
     15            RenderTableCell {TD} at (10,2) size 33x141 [bgcolor=#00FFFF] [r=3 c=0 rs=1 cs=2]
     16              RenderTable {TABLE} at (1,1) size 31x139
     17                RenderTableSection {TBODY} at (0,0) size 31x139
     18                  RenderTableRow {TR} at (0,2) size 27x139
     19                    RenderTableCell {TD} at (2,14) size 27x-23 [bgcolor=#FF00FF] [r=0 c=0 rs=1 cs=1]
     20                    RenderTableCell {TD} at (2,6) size 27x131 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
     21                      RenderTextControl {INPUT} at (3,3) size 21x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    2222                      RenderText {#text} at (0,0) size 0x0
    23 layer at (19,23) size 2x119 scrollX 13 scrollWidth 15
    24   RenderBlock {DIV} at (3,3) size 2x119
     23layer at (19,23) size 15x119
     24  RenderBlock {DIV} at (3,3) size 15x119
  • trunk/Source/WebCore/ChangeLog

    r89406 r89407  
     12011-06-21  Kent Tamura  <tkent@chromium.org>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        Avoid custom layout code of RenderTextControlSingleLine
     6        https://bugs.webkit.org/show_bug.cgi?id=61415
     7
     8        If a text field has a search results button, a search cancel
     9        button, a speech button, or a spin button, the editable inner text
     10        element and they are wrapped by a flexible box container, and the
     11        editable inner text element has flexibility.
     12        As the result of applying the flexible box, we don't need any
     13        horizontal layout code in RenderTextControlSingleLine except the
     14        inner spin button.
     15
     16        Also, we remove custom hit-testing code in nodeAtPoint(). If a
     17        user clicks on a position left of the inner editable text but not
     18        on the search results button, the search results button doesn't
     19        work though it worked.
     20
     21        * css/html.css:
     22        (input::-webkit-textfield-decoration-container):
     23          New style definition for the "container" element.
     24        (input[type="search"]::-webkit-search-cancel-button):
     25          It should be a block element because it's a child of the flexible box.
     26          Also, this doesn't have flexibility.
     27        (input[type="search"]::-webkit-search-decoration): ditto.
     28        (input[type="search"]::-webkit-search-results-decoration): ditto.
     29        (input[type="search"]::-webkit-search-results-button): ditto.
     30        (input::-webkit-inner-spin-button): ditto.
     31        (input::-webkit-input-speech-button): ditto.
     32        * html/HTMLInputElement.cpp:
     33        (WebCore::HTMLInputElement::containerElement):
     34          Add an accessor of the flexible box container.
     35          It just calls InputType::containerElement().
     36        * html/HTMLInputElement.h: Declare it.
     37        * html/InputType.h:
     38        (WebCore::InputType::containerElement): New accessor for a shadow element.
     39        * html/SearchInputType.cpp:
     40        (WebCore::SearchInputType::SearchInputType):
     41          m_innerBlock is moved to TextFieldInputType.
     42        (WebCore::SearchInputType::needsContainer):
     43          A search field always needs the flexible box container because
     44          of the results button and the cancel button.
     45        (WebCore::SearchInputType::createShadowSubtree):
     46          Use TextFieldInputType::createShadowSubtree(), then modify the tree.
     47        (WebCore::SearchInputType::destroyShadowSubtree):
     48          m_innerBlock is moved to TextFieldInputType.
     49        * html/SearchInputType.h:
     50        * html/TextFieldInputType.cpp:
     51        (WebCore::TextFieldInputType::TextFieldInputType):
     52          Initialize the new members.
     53        (WebCore::TextFieldInputType::needsContainer):
     54          Returns true if x-webkit-speech. We check a spin button separately.
     55        (WebCore::TextFieldInputType::createShadowSubtree):
     56          Wrap everything with the flexible box container if needsContainer() or we need a spin button.
     57        (WebCore::TextFieldInputType::containerElement): Added an accessor.
     58        (WebCore::TextFieldInputType::innerBlockElement): ditto.
     59        (WebCore::TextFieldInputType::innerTextElement): ditto.
     60        (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
     61        (WebCore::TextFieldInputType::speechButtonElement): ditto.
     62        (WebCore::TextFieldInputType::destroyShadowSubtree):
     63          Clear references to new shadow nodes.
     64        * html/TextFieldInputType.h:
     65        * rendering/RenderTextControlSingleLine.cpp:
     66        (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
     67        (WebCore::RenderTextControlSingleLine::innerTextElement):
     68        (WebCore::RenderTextControlSingleLine::layout):
     69         - Correct heights check
     70          Comparing with height(), not contentHeigth(), was incorrect.
     71         - Adjust the container height like the editable inner text.
     72         - Remove width adjustment
     73         - Remove the speech button layout code
     74          The flexible box layout is enough.
     75        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
     76          Remove custom code for results/cancel/speech buttons, and
     77          Simplify comments.
     78        (WebCore::RenderTextControlSingleLine::forwardEvent):
     79          Remove custom forwarding code for results/cancel buttons.
     80        (WebCore::RenderTextControlSingleLine::styleDidChange):
     81          Clear the style of the container because we update it in layout().
     82        (WebCore::RenderTextControlSingleLine::hasControlClip):
     83          Decoration buttons should be clipped by the container.
     84        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
     85        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
     86          We don't need to use display:inline-block any more.
     87        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
     88          The text wrapper element should have flexibility.
     89        (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
     90          Updated for the tree structure change.
     91        * rendering/RenderTextControlSingleLine.h:
     92
    1932011-06-21  MORITA Hajime  <morrita@google.com>
    294
  • trunk/Source/WebCore/css/html.css

    r89199 r89407  
    420420}
    421421
     422input::-webkit-textfield-decoration-container {
     423    direction: ltr;
     424    display: -webkit-box;
     425    -webkit-box-align: center;
     426}
     427
    422428input[type="search"]::-webkit-search-cancel-button {
    423429    -webkit-appearance: searchfield-cancel-button;
    424     display: inline-block;
     430    display: block;
     431    -webkit-box-flex: 0;
    425432}
    426433
    427434input[type="search"]::-webkit-search-decoration {
    428435    -webkit-appearance: searchfield-decoration;
    429     display: inline-block;
     436    display: block;
     437    -webkit-box-flex: 0;
    430438}
    431439
    432440input[type="search"]::-webkit-search-results-decoration {
    433441    -webkit-appearance: searchfield-results-decoration;
    434     display: inline-block;
     442    display: block;
     443    -webkit-box-flex: 0;
    435444}
    436445
    437446input[type="search"]::-webkit-search-results-button {
    438447    -webkit-appearance: searchfield-results-button;
    439     display: inline-block;
     448    display: block;
     449    -webkit-box-flex: 0;
    440450}
    441451
     
    449459input::-webkit-inner-spin-button {
    450460    -webkit-appearance: inner-spin-button;
    451     display: inline-block;
     461    display: block;
    452462    position: relative;
    453463    cursor: default;
    454464    vertical-align: top;
     465    -webkit-box-flex: 0;
    455466    -webkit-user-select: none;
    456467}
     
    459470input::-webkit-input-speech-button {
    460471    -webkit-appearance: -webkit-input-speech-button;
    461     display: inline-block;
     472    display: block;
    462473    vertical-align: top;
     474    -webkit-box-flex: 0;
    463475}
    464476#endif
  • trunk/Source/WebCore/html/HTMLInputElement.cpp

    r89194 r89407  
    131131{
    132132    return m_name.isNull() ? emptyAtom : m_name;
     133}
     134
     135HTMLElement* HTMLInputElement::containerElement() const
     136{
     137    return m_inputType->containerElement();
    133138}
    134139
  • trunk/Source/WebCore/html/HTMLInputElement.h

    r88332 r89407  
    115115#endif
    116116
     117    HTMLElement* containerElement() const;
    117118    virtual HTMLElement* innerTextElement() const;
    118119    HTMLElement* innerBlockElement() const;
  • trunk/Source/WebCore/html/InputType.h

    r89194 r89407  
    189189    virtual void destroyShadowSubtree();
    190190
     191    virtual HTMLElement* containerElement() const { return 0; }
    191192    virtual HTMLElement* innerBlockElement() const { return 0; }
    192193    virtual HTMLElement* innerTextElement() const { return 0; }
  • trunk/Source/WebCore/html/SearchInputType.cpp

    r88216 r89407  
    3232#include "SearchInputType.h"
    3333
     34#include "ElementWithPseudoId.h"
    3435#include "HTMLInputElement.h"
    3536#include "ShadowRoot.h"
     
    4142inline SearchInputType::SearchInputType(HTMLInputElement* element)
    4243    : BaseTextInputType(element)
    43     , m_innerBlock(0)
    4444    , m_resultsButton(0)
    4545    , m_cancelButton(0)
     
    6767}
    6868
     69bool SearchInputType::needsContainer() const
     70{
     71    return true;
     72}
     73
    6974void SearchInputType::createShadowSubtree()
    7075{
    71     ASSERT(!m_innerBlock);
    72     ASSERT(!innerTextElement());
    7376    ASSERT(!m_resultsButton);
    7477    ASSERT(!m_cancelButton);
    7578
     79    TextFieldInputType::createShadowSubtree();
     80    HTMLElement* container = containerElement();
     81    HTMLElement* textWrapper = innerBlockElement();
     82    ASSERT(container);
     83    ASSERT(textWrapper);
     84
    7685    ExceptionCode ec = 0;
    77     Document* document = element()->document();
    78     RefPtr<HTMLElement> inner = TextControlInnerElement::create(document);
    79     m_innerBlock = inner.get();
    80     element()->ensureShadowRoot()->appendChild(inner.release(), ec);
    81 
    82 #if ENABLE(INPUT_SPEECH)
    83     if (element()->isSpeechEnabled()) {
    84         RefPtr<HTMLElement> speech = InputFieldSpeechButtonElement::create(document);
    85         setSpeechButtonElement(speech.get());
    86         element()->ensureShadowRoot()->appendChild(speech.release(), ec);
    87     }
    88 #endif
    89 
    90     RefPtr<HTMLElement> results = SearchFieldResultsButtonElement::create(document);
     86    RefPtr<HTMLElement> results = SearchFieldResultsButtonElement::create(element()->document());
    9187    m_resultsButton = results.get();
    92     m_innerBlock->appendChild(results.release(), ec);
    93 
    94     RefPtr<HTMLElement> innerText = TextControlInnerTextElement::create(document);
    95     setInnerTextElement(innerText.get());
    96     m_innerBlock->appendChild(innerText.release(), ec);
     88    container->insertBefore(results.release(), textWrapper, ec);
    9789
    9890    RefPtr<HTMLElement> cancel = SearchFieldCancelButtonElement::create(element()->document());
    9991    m_cancelButton = cancel.get();
    100     m_innerBlock->appendChild(cancel.release(), ec);
     92    container->insertBefore(cancel.release(), textWrapper->nextSibling(), ec);
     93
    10194}
    10295
     
    10497{
    10598    TextFieldInputType::destroyShadowSubtree();
    106     m_innerBlock = 0;
    10799    m_resultsButton = 0;
    108100    m_cancelButton = 0;
  • trunk/Source/WebCore/html/SearchInputType.h

    r88216 r89407  
    4343    static PassOwnPtr<InputType> create(HTMLInputElement*);
    4444
    45 protected:
    46     virtual void createShadowSubtree();
    47     virtual void destroyShadowSubtree();
    48 
    4945private:
    5046    SearchInputType(HTMLInputElement*);
     
    5248    virtual bool shouldRespectSpeechAttribute();
    5349    virtual bool isSearchField() const;
    54     virtual HTMLElement* innerBlockElement() const { return m_innerBlock; }
     50    virtual bool needsContainer() const;
     51    virtual void createShadowSubtree();
     52    virtual void destroyShadowSubtree();
    5553    virtual HTMLElement* resultsButtonElement() const { return m_resultsButton; }
    5654    virtual HTMLElement* cancelButtonElement() const { return m_cancelButton; }
    5755
    58     HTMLElement* m_innerBlock;
    5956    HTMLElement* m_resultsButton;
    6057    HTMLElement* m_cancelButton;
  • trunk/Source/WebCore/html/TextFieldInputType.cpp

    r88216 r89407  
    3434
    3535#include "BeforeTextInsertedEvent.h"
     36#include "ElementWithPseudoId.h"
    3637#include "Frame.h"
    3738#include "HTMLInputElement.h"
    3839#include "KeyboardEvent.h"
     40#include "Page.h"
    3941#include "RenderTextControlSingleLine.h"
    4042#include "RenderTheme.h"
     
    5052TextFieldInputType::TextFieldInputType(HTMLInputElement* element)
    5153    : InputType(element)
     54    , m_container(0)
     55    , m_innerBlock(0)
    5256    , m_innerText(0)
    5357    , m_innerSpinButton(0)
     
    130134}
    131135
     136bool TextFieldInputType::needsContainer() const
     137{
     138#if ENABLE(INPUT_SPEECH)
     139    return element()->isSpeechEnabled();
     140#else
     141    return false;
     142#endif
     143}
     144
    132145void TextFieldInputType::createShadowSubtree()
    133146{
    134147    ASSERT(!m_innerText);
     148    ASSERT(!m_innerBlock);
    135149    ASSERT(!m_innerSpinButton);
    136150
    137     bool shouldHaveSpinButton = RenderTheme::themeForPage(element()->document()->page())->shouldHaveSpinButton(element());
    138     bool hasDecorations = shouldHaveSpinButton;
    139 #if ENABLE(INPUT_SPEECH)
    140     if (element()->isSpeechEnabled())
    141         hasDecorations = true;
    142 #endif
     151    Document* document = element()->document();
     152    RefPtr<RenderTheme> theme = document->page() ? document->page()->theme() : RenderTheme::defaultTheme();
     153    bool shouldHaveSpinButton = theme->shouldHaveSpinButton(element());
     154    bool createsContainer = shouldHaveSpinButton || needsContainer();
    143155
    144156    ExceptionCode ec = 0;
    145     Document* document = element()->document();
    146157    RefPtr<HTMLElement> innerText = TextControlInnerTextElement::create(document);
    147158    m_innerText = innerText.get();
    148     element()->ensureShadowRoot()->appendChild(innerText.release(), ec);
    149     if (!hasDecorations)
    150         return;
     159    if (!createsContainer) {
     160        element()->ensureShadowRoot()->appendChild(innerText.release(), ec);
     161        return;
     162    }
     163
     164    ShadowRoot* shadowRoot = element()->ensureShadowRoot();
     165    RefPtr<HTMLElement> container = ElementWithPseudoId::create(document, "-webkit-textfield-decoration-container");
     166    m_container = container.get();
     167    shadowRoot->appendChild(container.release(), ec);
     168
     169    RefPtr<HTMLElement> innerBlock = TextControlInnerElement::create(document);
     170    m_innerBlock = innerBlock.get();
     171    m_innerBlock->appendChild(innerText.release(), ec);
     172    m_container->appendChild(innerBlock.release(), ec);
    151173
    152174#if ENABLE(INPUT_SPEECH)
     
    155177        RefPtr<HTMLElement> speech = InputFieldSpeechButtonElement::create(document);
    156178        m_speechButton = speech.get();
    157         element()->ensureShadowRoot()->appendChild(speech.release(), ec);
     179        m_container->appendChild(speech.release(), ec);
    158180    }
    159181#endif
     
    162184        RefPtr<HTMLElement> inner = SpinButtonElement::create(document);
    163185        m_innerSpinButton = inner.get();
    164         element()->ensureShadowRoot()->appendChild(inner.release(), ec);
    165     }
    166 }
     186        m_container->appendChild(inner.release(), ec);
     187    }
     188}
     189
     190HTMLElement* TextFieldInputType::containerElement() const
     191{
     192    return m_container;
     193}
     194
     195HTMLElement* TextFieldInputType::innerBlockElement() const
     196{
     197    return m_innerBlock;
     198}
     199
     200HTMLElement* TextFieldInputType::innerTextElement() const
     201{
     202    ASSERT(m_innerText);
     203    return m_innerText;
     204}
     205
     206HTMLElement* TextFieldInputType::innerSpinButtonElement() const
     207{
     208    return m_innerSpinButton;
     209}
     210
     211#if ENABLE(INPUT_SPEECH)
     212HTMLElement* TextFieldInputType::speechButtonElement() const
     213{
     214    return m_speechButton;
     215}
     216#endif
    167217
    168218void TextFieldInputType::destroyShadowSubtree()
    169219{
    170220    InputType::destroyShadowSubtree();
     221    m_innerSpinButton = 0;
     222#if ENABLE(INPUT_SPEECH)
     223    m_speechButton = 0;
     224#endif
    171225    m_innerText = 0;
    172 #if ENABLE(INPUT_SPEECH)
    173     m_speechButton = 0;
    174 #endif
    175     m_innerSpinButton = 0;
     226    m_innerBlock = 0;
     227    m_container = 0;
    176228}
    177229
  • trunk/Source/WebCore/html/TextFieldInputType.h

    r88216 r89407  
    4646    void handleWheelEventForSpinButton(WheelEvent*);
    4747
    48     virtual HTMLElement* innerTextElement() const { return m_innerText; }
    49     virtual HTMLElement* innerSpinButtonElement() const { return m_innerSpinButton; }
     48    virtual HTMLElement* containerElement() const;
     49    virtual HTMLElement* innerBlockElement() const;
     50    virtual HTMLElement* innerTextElement() const;
     51    virtual HTMLElement* innerSpinButtonElement() const;
    5052#if ENABLE(INPUT_SPEECH)
    51     virtual HTMLElement* speechButtonElement() const { return m_speechButton; }
     53    virtual HTMLElement* speechButtonElement() const;
    5254#endif
    5355
    5456protected:
     57    virtual bool needsContainer() const;
    5558    virtual void createShadowSubtree();
    5659    virtual void destroyShadowSubtree();
    57     void setInnerTextElement(HTMLElement* element) { m_innerText = element; }
    58 #if ENABLE(INPUT_SPEECH)
    59     void setSpeechButtonElement(HTMLElement* element) { m_speechButton = element; }
    60 #endif
    6160
    6261private:
     
    7170    virtual bool shouldRespectListAttribute();
    7271
     72    HTMLElement* m_container;
     73    HTMLElement* m_innerBlock;
    7374    HTMLElement* m_innerText;
    7475    HTMLElement* m_innerSpinButton;
  • trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp

    r88319 r89407  
    8989}
    9090
    91 HTMLElement* RenderTextControlSingleLine::innerTextElement() const
     91inline HTMLElement* RenderTextControlSingleLine::containerElement() const
     92{
     93    return inputElement()->containerElement();
     94}
     95
     96inline HTMLElement* RenderTextControlSingleLine::innerTextElement() const
    9297{
    9398    return inputElement()->innerTextElement();
     
    254259void RenderTextControlSingleLine::layout()
    255260{
     261    // FIXME: We should remove the height-related hacks in layout() and
     262    // styleDidChange(). We need them because
     263    // - Center the inner elements vertically if the input height is taller than
     264    //   the intrinsic height of the inner elements.
     265    // - Shrink the inner elment heights if the input height is samller than the
     266    //   intrinsic heights of the inner elements.
     267
    256268    int oldHeight = height();
    257269    computeLogicalHeight();
     
    265277    HTMLElement* innerBlock = innerBlockElement();
    266278    RenderBox* innerBlockRenderer = innerBlock ? innerBlock->renderBox() : 0;
     279    HTMLElement* container = containerElement();
     280    RenderBox* containerRenderer = container ? container->renderBox() : 0;
    267281
    268282    // Set the text block height
    269283    int desiredHeight = textBlockHeight();
     284    // innerTextRenderer might have stale metrics made from an old style.
     285    innerTextRenderer->layoutIfNeeded();
    270286    int currentHeight = innerTextRenderer->height();
    271287
    272     if (currentHeight > height()) {
     288    if (currentHeight > contentHeight()) {
    273289        if (desiredHeight != currentHeight)
    274290            relayoutChildren = true;
    275291        innerTextRenderer->style()->setHeight(Length(desiredHeight, Fixed));
    276         if (innerBlock)
     292        if (innerBlockRenderer)
    277293            innerBlockRenderer->style()->setHeight(Length(desiredHeight, Fixed));
    278294    }
    279 
    280     // Set the text block width
    281     int desiredWidth = textBlockWidth();
    282     if (desiredWidth != innerTextRenderer->width())
     295    // The container might be taller because of decoration elements.
     296    if (containerRenderer)
     297        containerRenderer->layoutIfNeeded();
     298    if (containerRenderer && desiredHeight != containerRenderer->height()) {
     299        containerRenderer->style()->setHeight(Length(desiredHeight, Fixed));
    283300        relayoutChildren = true;
    284     innerTextRenderer->style()->setWidth(Length(desiredWidth, Fixed));
    285 
    286     if (innerBlock) {
    287         int innerBlockWidth = width() - borderAndPaddingWidth();
    288         if (innerBlockWidth != innerBlockRenderer->width())
    289             relayoutChildren = true;
    290         innerBlockRenderer->style()->setWidth(Length(innerBlockWidth, Fixed));
    291301    }
    292302
     
    294304
    295305    // Center the child block vertically
    296     RenderBox* childBlock = innerBlockRenderer ? innerBlockRenderer : innerTextRenderer;
    297     currentHeight = childBlock->height();
    298     if (currentHeight < height())
    299         childBlock->setY((height() - currentHeight) / 2);
     306    currentHeight = innerTextRenderer->height();
     307    if (!container && currentHeight < contentHeight())
     308        innerTextRenderer->setY(borderTop() + paddingTop() + (contentHeight() - currentHeight) / 2);
    300309
    301310    // Ignores the paddings for the inner spin button.
    302     HTMLElement* innerSpinButton = innerSpinButtonElement();
    303     if (RenderBox* spinBox = innerSpinButton ? innerSpinButton->renderBox() : 0) {
    304         spinBox->setLocation(IntPoint(spinBox->x() + paddingRight(), borderTop()));
    305         spinBox->setHeight(height() - borderTop() - borderBottom());
    306     }
    307 
    308 #if ENABLE(INPUT_SPEECH)
    309     if (RenderBox* button = speechButtonElement() ? speechButtonElement()->renderBox() : 0) {
    310         if (innerBlock) {
    311             // This is mostly the case where this is a search field. The speech button is a sibling
    312             // of the inner block and laid out at the far right.
    313             int x = width() - borderAndPaddingWidth() - button->width() - button->borderAndPaddingWidth();
    314             int y = (height() - button->height()) / 2;
    315             button->setLocation(IntPoint(x, y));
    316         } else {
    317             int x = width() - borderRight() - paddingRight() - button->width();
    318             RenderBox* spinBox = innerSpinButtonElement() ? innerSpinButtonElement()->renderBox() : 0;
    319             if (style()->isLeftToRightDirection())
    320                 x -= spinBox ? spinBox->width() : 0;
    321             else
    322                 innerTextRenderer->setX(paddingLeft() + borderLeft() + (spinBox ? spinBox->width() : 0));
    323             int y = (height() - button->height()) / 2;
    324             button->setLocation(IntPoint(x, y));
    325         }
    326     }
    327 #endif
     311    RenderBox* innerSpinBox = innerSpinButtonElement() ? innerSpinButtonElement()->renderBox() : 0;
     312    if (innerSpinBox) {
     313        RenderBox* parentBox = innerSpinBox->parentBox();
     314        innerSpinBox->setLocation(IntPoint(parentBox->width() - innerSpinBox->width() + paddingRight(), -paddingTop()));
     315        innerSpinBox->setHeight(height() - borderTop() - borderBottom());
     316    }
    328317}
    329318
    330319bool RenderTextControlSingleLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)
    331320{
    332     // If we're within the text control, we want to act as if we've hit the inner text block element, in case the point
    333     // was on the control but not on the inner element (see Radar 4617841).
    334 
    335     // In a search field, we want to act as if we've hit the results block if we're to the left of the inner text block,
    336     // and act as if we've hit the close block if we're to the right of the inner text block.
    337 
    338321    if (!RenderTextControl::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction))
    339322        return false;
    340323
    341     // If we hit a node inside the inner text element, say that we hit that element,
    342     // and if we hit our node (e.g. we're over the border or padding), also say that we hit the
    343     // inner text element so that it gains focus.
    344     if (result.innerNode()->isDescendantOf(innerTextElement()) || result.innerNode() == node())
     324    // Say that we hit the inner text element if
     325    //  - we hit a node inside the inner text element,
     326    //  - we hit the <input> element (e.g. we're over the border or padding), or
     327    //  - we hit regions not in any decoration buttons.
     328    if (result.innerNode()->isDescendantOf(innerTextElement()) || result.innerNode() == node() || (containerElement() && containerElement() == result.innerNode()))
    345329        hitInnerTextElement(result, pointInContainer, accumulatedOffset);
    346 
    347     // If we found a spin button, we're done.
    348     HTMLElement* innerSpinButton = innerSpinButtonElement();
    349     if (innerSpinButton && result.innerNode() == innerSpinButton)
    350         return true;
    351 #if ENABLE(INPUT_SPEECH)
    352     HTMLElement* speechButton = speechButtonElement();
    353     if (speechButton && result.innerNode() == speechButton)
    354         return true;
    355 #endif
    356     // If we're not a search field, or we already found the speech, results or cancel buttons, we're done.
    357     HTMLElement* innerBlock = innerBlockElement();
    358     HTMLElement* resultsButton = resultsButtonElement();
    359     HTMLElement* cancelButton = cancelButtonElement();
    360     if (!innerBlock || result.innerNode() == resultsButton || result.innerNode() == cancelButton)
    361         return true;
    362 
    363     Node* innerNode = 0;
    364     RenderBox* innerBlockRenderer = innerBlock->renderBox();
    365     RenderBox* innerTextRenderer = innerTextElement()->renderBox();
    366 
    367     IntPoint localPoint = result.localPoint();
    368     localPoint.move(-innerBlockRenderer->location());
    369 
    370     int textLeft = accumulatedOffset.x() + x() + innerBlockRenderer->x() + innerTextRenderer->x();
    371     if (resultsButton && resultsButton->renderer() && pointInContainer.x() < textLeft)
    372         innerNode = resultsButton;
    373 
    374 #if ENABLE(INPUT_SPEECH)
    375     if (!innerNode && speechButtonElement() && speechButtonElement()->renderer()) {
    376         int buttonLeft = accumulatedOffset.x() + x() + innerBlockRenderer->x() + innerBlockRenderer->width() - speechButtonElement()->renderBox()->width();
    377         if (pointInContainer.x() >= buttonLeft)
    378             innerNode = speechButtonElement();
    379     }
    380 #endif
    381 
    382     if (!innerNode) {
    383         int textRight = textLeft + innerTextRenderer->width();
    384         if (cancelButton && cancelButton->renderer() && pointInContainer.x() > textRight)
    385             innerNode = cancelButton;
    386     }
    387 
    388     if (innerNode) {
    389         result.setInnerNode(innerNode);
    390         localPoint.move(-innerNode->renderBox()->location());
    391     }
    392 
    393     result.setLocalPoint(localPoint);
    394330    return true;
    395331}
     
    409345        capsLockStateMayHaveChanged();
    410346
    411     if (!event->isMouseEvent()) {
    412         RenderTextControl::forwardEvent(event);
    413         return;
    414     }
    415 
    416 #if ENABLE(INPUT_SPEECH)
    417     if (RenderBox* speechBox = speechButtonElement() ? speechButtonElement()->renderBox() : 0) {
    418         RenderBox* parent = innerTextRenderer ? innerTextRenderer : this;
    419         FloatPoint pointInTextControlCoords = parent->absoluteToLocal(static_cast<MouseEvent*>(event)->absoluteLocation(), false, true);
    420         if (speechBox->frameRect().contains(roundedIntPoint(pointInTextControlCoords))) {
    421             speechButtonElement()->defaultEventHandler(event);
    422             return;
    423         }
    424     }
    425 #endif
    426 
    427     FloatPoint localPoint = innerTextRenderer->absoluteToLocal(static_cast<MouseEvent*>(event)->absoluteLocation(), false, true);
    428     int textRight = innerTextRenderer->borderBoxRect().maxX();
    429 
    430     HTMLElement* resultsButton = resultsButtonElement();
    431     HTMLElement* cancelButton = cancelButtonElement();
    432     if (resultsButton && localPoint.x() < innerTextRenderer->borderBoxRect().x())
    433         resultsButton->defaultEventHandler(event);
    434     else if (cancelButton && localPoint.x() > textRight)
    435         cancelButton->defaultEventHandler(event);
    436     else
    437         RenderTextControl::forwardEvent(event);
     347    RenderTextControl::forwardEvent(event);
    438348}
    439349
     
    442352    RenderTextControl::styleDidChange(diff, oldStyle);
    443353
     354    // We may have set the width and the height in the old style in layout().
     355    // Reset them now to avoid getting a spurious layout hint.
    444356    HTMLElement* innerBlock = innerBlockElement();
    445357    if (RenderObject* innerBlockRenderer = innerBlock ? innerBlock->renderer() : 0) {
    446         // We may have set the width and the height in the old style in layout().
    447         // Reset them now to avoid getting a spurious layout hint.
    448358        innerBlockRenderer->style()->setHeight(Length());
    449359        innerBlockRenderer->style()->setWidth(Length());
    450         innerBlockRenderer->setStyle(createInnerBlockStyle(style()));
     360    }
     361    HTMLElement* container = containerElement();
     362    if (RenderObject* containerRenderer = container ? container->renderer() : 0) {
     363        containerRenderer->style()->setHeight(Length());
     364        containerRenderer->style()->setWidth(Length());
    451365    }
    452366    setHasOverflowClip(false);
     
    479393bool RenderTextControlSingleLine::hasControlClip() const
    480394{
    481     bool clip = cancelButtonElement();
    482     return clip;
     395    // Apply control clip for text fields with decorations.
     396    return !!containerElement();
    483397}
    484398
    485399IntRect RenderTextControlSingleLine::controlClipRect(const IntPoint& additionalOffset) const
    486400{
    487     // This should only get called for search & speech inputs.
    488401    ASSERT(hasControlClip());
    489 
    490     IntRect clipRect = IntRect(innerBlockElement()->renderBox()->frameRect());
     402    IntRect clipRect = IntRect(containerElement()->renderBox()->frameRect());
    491403    clipRect.moveBy(additionalOffset);
    492404    return clipRect;
    493 }
    494 
    495 int RenderTextControlSingleLine::textBlockWidth() const
    496 {
    497     int width = RenderTextControl::textBlockWidth();
    498 
    499     HTMLElement* resultsButton = resultsButtonElement();
    500     if (RenderBox* resultsRenderer = resultsButton ? resultsButton->renderBox() : 0) {
    501         resultsRenderer->computeLogicalWidth();
    502         width -= resultsRenderer->width() + resultsRenderer->marginLeft() + resultsRenderer->marginRight();
    503     }
    504 
    505     HTMLElement* cancelButton = cancelButtonElement();
    506     if (RenderBox* cancelRenderer = cancelButton ? cancelButton->renderBox() : 0) {
    507         cancelRenderer->computeLogicalWidth();
    508         width -= cancelRenderer->width() + cancelRenderer->marginLeft() + cancelRenderer->marginRight();
    509     }
    510 
    511     HTMLElement* innerSpinButton = innerSpinButtonElement();
    512     if (RenderBox* spinRenderer = innerSpinButton ? innerSpinButton->renderBox() : 0) {
    513         spinRenderer->computeLogicalWidth();
    514         width -= spinRenderer->width() + spinRenderer->marginLeft() + spinRenderer->marginRight();
    515     }
    516 
    517 #if ENABLE(INPUT_SPEECH)
    518     HTMLElement* speechButton = speechButtonElement();
    519     if (RenderBox* speechRenderer = speechButton ? speechButton->renderBox() : 0) {
    520         speechRenderer->computeLogicalWidth();
    521         width -= speechRenderer->width() + speechRenderer->marginLeft() + speechRenderer->marginRight();
    522     }
    523 #endif
    524 
    525     return width;
    526405}
    527406
     
    648527        textBlockStyle->setLineHeight(Length(-100.0f, Percent));
    649528
    650     WebCore::EDisplay display = (innerBlockElement() || theme()->shouldHaveSpinButton(inputElement()) ? INLINE_BLOCK : BLOCK);
    651 #if ENABLE(INPUT_SPEECH)
    652     if (inputElement()->isSpeechEnabled())
    653       display = INLINE_BLOCK;
    654 #endif
    655     textBlockStyle->setDisplay(display);
     529    textBlockStyle->setDisplay(BLOCK);
    656530
    657531    // We're adding one extra pixel of padding to match WinIE.
     
    667541    innerBlockStyle->inheritFrom(startStyle);
    668542
     543    innerBlockStyle->setBoxFlex(1);
    669544    innerBlockStyle->setDisplay(BLOCK);
    670545    innerBlockStyle->setDirection(LTR);
     
    977852int RenderTextControlSingleLine::textBlockInsetTop() const
    978853{
    979     RenderBox* innerRenderer = 0;
    980 
    981     if (HTMLElement* innerBlock = innerBlockElement())
    982         innerRenderer = innerBlock->renderBox();
    983     else if (HTMLElement* innerText = innerTextElement())
    984         innerRenderer = innerText->renderBox();
    985    
    986     return innerRenderer ? innerRenderer->y() : borderTop() + paddingTop();
     854    HTMLElement* innerText = innerTextElement();
     855    if (!innerText || !innerText->renderBox())
     856        return borderTop() + paddingTop();
     857    HTMLElement* container = containerElement();
     858    if (!container)
     859        return innerText->renderBox()->y();
     860    ASSERT(innerBlockElement());
     861    if (!container->renderBox() || !innerBlockElement()->renderBox())
     862        return innerText->renderBox()->y();
     863    return container->renderBox()->y() + innerBlockElement()->renderBox()->y();
    987864}   
    988865
  • trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h

    r88319 r89407  
    132132    virtual int textBlockInsetTop() const;
    133133
     134    HTMLElement* containerElement() const;
    134135    virtual HTMLElement* innerTextElement() const;
    135136    HTMLElement* innerBlockElement() const;
Note: See TracChangeset for help on using the changeset viewer.