[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

jorlow at chromium.org jorlow at chromium.org
Wed Dec 22 11:44:26 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit eb405800cc75a4f04a1492413e2b50cb64544813
Author: jorlow at chromium.org <jorlow at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Aug 5 14:28:06 2010 +0000

    2010-08-05  Satish Sampath  <satish at chromium.org>
    
            Reviewed by Jeremy Orlow.
    
            Fix rendering of speech button and enable layout tests
            https://bugs.webkit.org/show_bug.cgi?id=43425
    
            Added layout and pixel test expecations for speech button on chromium-linux and chromium-mac.
            Also enabled the relevant layout tests on these platforms.
            Non chromium ports don't have the feature flag enabled and the code does not get compiled in yet,
            so there are no test expectations for those ports.
    
            * fast/speech/input-appearance-numberandspeech-expected.txt: Removed.
            * fast/speech/input-appearance-numberandspeech.html:
            * fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
            * fast/speech/input-appearance-searchandspeech.html:
            * fast/speech/input-appearance-speechbutton-expected.txt: Removed.
            * fast/speech/input-appearance-speechbutton.html:
            * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.checksum: Added.
            * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.png: Added.
            * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.txt: Added.
            * platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.checksum: Added.
            * platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.png: Added.
            * platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.txt: Added.
            * platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.checksum: Added.
            * platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png: Added.
            * platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.txt: Added.
            * platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.checksum: Added.
            * platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.png: Added.
            * platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.txt: Added.
            * platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.checksum: Added.
            * platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png: Added.
            * platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.txt: Added.
            * platform/chromium/test_expectations.txt:
            * platform/mac/fast/forms/input-appearance-numberandspeech-expected.checksum: Removed.
            * platform/mac/fast/forms/input-appearance-numberandspeech-expected.png: Removed.
            * platform/mac/fast/forms/input-appearance-speechbutton-expected.checksum: Removed.
            * platform/mac/fast/forms/input-appearance-speechbutton-expected.png: Removed.
    2010-08-05  Satish Sampath  <satish at chromium.org>
    
            Reviewed by Jeremy Orlow.
    
            Fix rendering of speech button and enable layout tests
            https://bugs.webkit.org/show_bug.cgi?id=43425
    
            Rewrote the speech button rendering code to match how the spin buttons (for input type=number)
            are implemented as the previous implementation did not work well on many platforms.
    
            * rendering/RenderTextControlSingleLine.cpp:
            (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
            (WebCore::RenderTextControlSingleLine::layout):
            (WebCore::RenderTextControlSingleLine::nodeAtPoint):
            (WebCore::RenderTextControlSingleLine::styleDidChange):
            (WebCore::RenderTextControlSingleLine::hasControlClip):
            (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
            (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
            (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
            (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
            (WebCore::RenderTextControlSingleLine::clientPaddingRight):
            * rendering/RenderTextControlSingleLine.h:
            * rendering/TextControlInnerElements.cpp:
            (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
            (WebCore::InputFieldSpeechButtonElement::create):
            * rendering/TextControlInnerElements.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 669f2ba..69788dd 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,42 @@
+2010-08-05  Satish Sampath  <satish at chromium.org>
+
+        Reviewed by Jeremy Orlow.
+
+        Fix rendering of speech button and enable layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=43425
+
+        Added layout and pixel test expecations for speech button on chromium-linux and chromium-mac.
+        Also enabled the relevant layout tests on these platforms.
+        Non chromium ports don't have the feature flag enabled and the code does not get compiled in yet,
+        so there are no test expectations for those ports.
+
+        * fast/speech/input-appearance-numberandspeech-expected.txt: Removed.
+        * fast/speech/input-appearance-numberandspeech.html:
+        * fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
+        * fast/speech/input-appearance-searchandspeech.html:
+        * fast/speech/input-appearance-speechbutton-expected.txt: Removed.
+        * fast/speech/input-appearance-speechbutton.html:
+        * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.checksum: Added.
+        * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.png: Added.
+        * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.txt: Added.
+        * platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.checksum: Added.
+        * platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.png: Added.
+        * platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.txt: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.checksum: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.txt: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.checksum: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.png: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.txt: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.checksum: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png: Added.
+        * platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.txt: Added.
+        * platform/chromium/test_expectations.txt:
+        * platform/mac/fast/forms/input-appearance-numberandspeech-expected.checksum: Removed.
+        * platform/mac/fast/forms/input-appearance-numberandspeech-expected.png: Removed.
+        * platform/mac/fast/forms/input-appearance-speechbutton-expected.checksum: Removed.
+        * platform/mac/fast/forms/input-appearance-speechbutton-expected.png: Removed.
+
 2010-08-05  Andrey Kosyakov  <caseq at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/LayoutTests/fast/speech/input-appearance-numberandspeech-expected.txt b/LayoutTests/fast/speech/input-appearance-numberandspeech-expected.txt
deleted file mode 100644
index 04877ef..0000000
--- a/LayoutTests/fast/speech/input-appearance-numberandspeech-expected.txt
+++ /dev/null
@@ -1,303 +0,0 @@
-layer at (0,0) size 785x605
-  RenderView at (0,0) size 785x600
-layer at (0,0) size 785x605
-  RenderBlock {HTML} at (0,0) size 785x600
-    RenderBody {BODY} at (8,8) size 769x584
-      RenderBlock {P} at (0,0) size 769x18
-        RenderText {#text} at (0,0) size 422x18
-          text run at (0,0) width 422: "Test appearances of input-speech-button in <input type='number'>."
-      RenderBlock {DIV} at (0,34) size 769x0
-      RenderBlock {DIV} at (0,34) size 769x539
-        RenderTable {TABLE} at (0,0) size 439x539
-          RenderTableSection {TBODY} at (0,0) size 439x539
-            RenderTableRow {TR} at (0,2) size 439x535
-              RenderTableCell {TD} at (2,85) size 180x369 [r=0 c=0 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 178x35
-                  RenderTextControl {INPUT} at (0,3) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (84,1) size 13x15
-                  RenderText {#text} at (100,0) size 4x18
-                    text run at (100,0) width 4: " "
-                  RenderBR {BR} at (104,14) size 0x0
-                  RenderTextControl {INPUT} at (0,19) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 94x12
-                      RenderBlock {DIV} at (66,0) size 10x10
-                    RenderBlock {DIV} at (84,1) size 13x15
-                RenderBlock {DIV} at (1,36) size 178x36
-                  RenderTextControl {INPUT} at (0,2) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (86,1) size 13x15
-                  RenderText {#text} at (102,0) size 4x18
-                    text run at (102,0) width 4: " "
-                  RenderBR {BR} at (106,14) size 0x0
-                  RenderTextControl {INPUT} at (0,19) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (67,0) size 11x11
-                    RenderBlock {DIV} at (86,1) size 13x15
-                RenderBlock {DIV} at (1,72) size 178x37
-                  RenderTextControl {INPUT} at (0,1) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (88,2) size 13x15
-                  RenderText {#text} at (104,0) size 4x18
-                    text run at (104,0) width 4: " "
-                  RenderBR {BR} at (108,14) size 0x0
-                  RenderTextControl {INPUT} at (0,19) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 98x14
-                      RenderBlock {DIV} at (68,0) size 12x12
-                    RenderBlock {DIV} at (88,2) size 13x15
-                RenderBlock {DIV} at (1,109) size 178x47
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (109,2) size 13x15
-                  RenderText {#text} at (129,2) size 4x18
-                    text run at (129,2) width 4: " "
-                  RenderBR {BR} at (133,16) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 119x16
-                      RenderBlock {DIV} at (87,0) size 14x14
-                    RenderBlock {DIV} at (109,3) size 13x15
-                RenderBlock {DIV} at (1,156) size 178x50
-                  RenderTextControl {INPUT} at (2,2) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (111,3) size 13x15
-                  RenderText {#text} at (131,3) size 4x18
-                    text run at (131,3) width 4: " "
-                  RenderBR {BR} at (135,17) size 0x0
-                  RenderTextControl {INPUT} at (2,27) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 121x18
-                      RenderBlock {DIV} at (88,0) size 15x15
-                    RenderBlock {DIV} at (111,3) size 13x15
-                RenderBlock {DIV} at (1,206) size 178x52
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (130,0) size 15x22
-                  RenderText {#text} at (152,4) size 4x18
-                    text run at (152,4) width 4: " "
-                  RenderBR {BR} at (156,18) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (106,0) size 16x16
-                    RenderBlock {DIV} at (130,0) size 15x22
-                RenderBlock {DIV} at (1,258) size 178x54
-                  RenderTextControl {INPUT} at (2,2) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (132,1) size 15x22
-                  RenderText {#text} at (154,5) size 4x18
-                    text run at (154,5) width 4: " "
-                  RenderBR {BR} at (158,19) size 0x0
-                  RenderTextControl {INPUT} at (2,29) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 144x20
-                      RenderBlock {DIV} at (107,0) size 17x17
-                    RenderBlock {DIV} at (132,1) size 15x22
-                RenderBlock {DIV} at (1,312) size 178x56
-                  RenderTextControl {INPUT} at (2,2) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (152,1) size 15x22
-                  RenderText {#text} at (174,6) size 4x18
-                    text run at (174,6) width 4: " "
-                  RenderBR {BR} at (178,20) size 0x0
-                  RenderTextControl {INPUT} at (2,30) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 164x21
-                      RenderBlock {DIV} at (126,0) size 18x18
-                    RenderBlock {DIV} at (152,1) size 15x22
-              RenderTableCell {TD} at (184,2) size 253x535 [r=0 c=1 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 251x58
-                  RenderTextControl {INPUT} at (2,2) size 172x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (154,1) size 15x22
-                  RenderText {#text} at (176,6) size 4x18
-                    text run at (176,6) width 4: " "
-                  RenderBR {BR} at (180,20) size 0x0
-                  RenderTextControl {INPUT} at (2,30) size 172x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 166x23
-                      RenderBlock {DIV} at (126,0) size 20x20
-                    RenderBlock {DIV} at (154,2) size 15x22
-                RenderBlock {DIV} at (1,59) size 251x61
-                  RenderTextControl {INPUT} at (2,2) size 174x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (156,2) size 15x22
-                  RenderText {#text} at (178,7) size 4x18
-                    text run at (178,7) width 4: " "
-                  RenderBR {BR} at (182,21) size 0x0
-                  RenderTextControl {INPUT} at (2,32) size 174x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 168x25
-                      RenderBlock {DIV} at (127,0) size 21x21
-                    RenderBlock {DIV} at (156,3) size 15x22
-                RenderBlock {DIV} at (1,120) size 251x63
-                  RenderTextControl {INPUT} at (2,2) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (173,0) size 19x27
-                  RenderText {#text} at (199,8) size 4x18
-                    text run at (199,8) width 4: " "
-                  RenderBR {BR} at (203,22) size 0x0
-                  RenderTextControl {INPUT} at (2,33) size 195x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 189x26
-                      RenderBlock {DIV} at (143,0) size 22x22
-                    RenderBlock {DIV} at (173,1) size 19x27
-                RenderBlock {DIV} at (1,183) size 251x65
-                  RenderTextControl {INPUT} at (2,2) size 197x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (175,1) size 19x27
-                  RenderText {#text} at (201,9) size 4x18
-                    text run at (201,9) width 4: " "
-                  RenderBR {BR} at (205,23) size 0x0
-                  RenderTextControl {INPUT} at (2,34) size 197x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 191x27
-                      RenderBlock {DIV} at (144,0) size 23x23
-                    RenderBlock {DIV} at (175,1) size 19x27
-                RenderBlock {DIV} at (1,248) size 251x68
-                  RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (196,1) size 19x27
-                  RenderText {#text} at (222,10) size 4x18
-                    text run at (222,10) width 4: " "
-                  RenderBR {BR} at (226,24) size 0x0
-                  RenderTextControl {INPUT} at (2,35) size 218x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 212x29
-                      RenderBlock {DIV} at (163,0) size 25x25
-                    RenderBlock {DIV} at (196,2) size 19x27
-                RenderBlock {DIV} at (1,316) size 251x70
-                  RenderTextControl {INPUT} at (2,2) size 220x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (198,2) size 19x27
-                  RenderText {#text} at (224,11) size 4x18
-                    text run at (224,11) width 4: " "
-                  RenderBR {BR} at (228,25) size 0x0
-                  RenderTextControl {INPUT} at (2,36) size 220x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 214x30
-                      RenderBlock {DIV} at (164,0) size 26x26
-                    RenderBlock {DIV} at (198,3) size 19x27
-                RenderBlock {DIV} at (1,386) size 251x73
-                  RenderTextControl {INPUT} at (2,2) size 241x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (219,3) size 19x27
-                  RenderText {#text} at (245,12) size 4x18
-                    text run at (245,12) width 4: " "
-                  RenderBR {BR} at (249,26) size 0x0
-                  RenderTextControl {INPUT} at (2,38) size 241x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,0) size 235x32
-                      RenderBlock {DIV} at (184,0) size 27x27
-                    RenderBlock {DIV} at (219,3) size 19x27
-                RenderBlock {DIV} at (1,459) size 251x75
-                  RenderTextControl {INPUT} at (2,2) size 243x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (221,3) size 19x27
-                  RenderText {#text} at (247,13) size 4x18
-                    text run at (247,13) width 4: " "
-                  RenderBR {BR} at (251,27) size 0x0
-                  RenderTextControl {INPUT} at (2,39) size 243x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,0) size 237x33
-                      RenderBlock {DIV} at (185,0) size 28x28
-                    RenderBlock {DIV} at (221,4) size 19x27
-layer at (14,134) size 76x10 scrollWidth 154
-  RenderBlock {DIV} at (3,3) size 76x10
-    RenderText {#text} at (1,0) size 152x10
-      text run at (1,0) width 152: "012345678901234567890123456789"
-layer at (14,151) size 66x10 scrollWidth 154
-  RenderBlock {DIV} at (0,2) size 66x10
-    RenderText {#text} at (1,0) size 152x10
-      text run at (1,0) width 152: "012345678901234567890123456789"
-layer at (14,168) size 78x11 scrollWidth 173
-  RenderBlock {DIV} at (3,3) size 78x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (14,186) size 67x11 scrollWidth 173
-  RenderBlock {DIV} at (0,2) size 67x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (14,203) size 80x12 scrollWidth 192
-  RenderBlock {DIV} at (3,3) size 80x12
-    RenderText {#text} at (1,0) size 190x12
-      text run at (1,0) width 190: "012345678901234567890123456789"
-layer at (14,222) size 68x12 scrollWidth 192
-  RenderBlock {DIV} at (0,2) size 68x12
-    RenderText {#text} at (1,0) size 190x12
-      text run at (1,0) width 190: "012345678901234567890123456789"
-layer at (16,241) size 101x13 scrollWidth 211
-  RenderBlock {DIV} at (3,3) size 101x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (16,266) size 87x13 scrollWidth 211
-  RenderBlock {DIV} at (0,3) size 87x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (16,288) size 103x15 scrollWidth 230
-  RenderBlock {DIV} at (3,3) size 103x15
-    RenderText {#text} at (1,0) size 228x15
-      text run at (1,0) width 228: "012345678901234567890123456789"
-layer at (16,314) size 88x15 scrollWidth 230
-  RenderBlock {DIV} at (0,3) size 88x15
-    RenderText {#text} at (1,0) size 228x15
-      text run at (1,0) width 228: "012345678901234567890123456789"
-layer at (16,338) size 122x16 scrollWidth 249
-  RenderBlock {DIV} at (3,3) size 122x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (16,365) size 106x16 scrollWidth 249
-  RenderBlock {DIV} at (0,3) size 106x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (16,390) size 124x17 scrollWidth 268
-  RenderBlock {DIV} at (3,3) size 124x17
-    RenderText {#text} at (1,0) size 266x17
-      text run at (1,0) width 266: "012345678901234567890123456789"
-layer at (16,418) size 107x17 scrollWidth 268
-  RenderBlock {DIV} at (0,3) size 107x17
-    RenderText {#text} at (1,0) size 266x17
-      text run at (1,0) width 266: "012345678901234567890123456789"
-layer at (16,444) size 144x18 scrollWidth 287
-  RenderBlock {DIV} at (3,3) size 144x18
-    RenderText {#text} at (1,0) size 285x18
-      text run at (1,0) width 285: "012345678901234567890123456789"
-layer at (16,473) size 126x18 scrollWidth 287
-  RenderBlock {DIV} at (0,3) size 126x18
-    RenderText {#text} at (1,0) size 285x18
-      text run at (1,0) width 285: "012345678901234567890123456789"
-layer at (198,50) size 146x18 scrollWidth 306
-  RenderBlock {DIV} at (3,3) size 146x18
-    RenderText {#text} at (1,0) size 304x18
-      text run at (1,0) width 304: "012345678901234567890123456789"
-layer at (198,81) size 126x18 scrollWidth 306
-  RenderBlock {DIV} at (0,5) size 126x18
-    RenderText {#text} at (1,0) size 304x18
-      text run at (1,0) width 304: "012345678901234567890123456789"
-layer at (198,108) size 148x20 scrollWidth 325
-  RenderBlock {DIV} at (3,3) size 148x20
-    RenderText {#text} at (1,0) size 323x20
-      text run at (1,0) width 323: "012345678901234567890123456789"
-layer at (198,141) size 127x20 scrollWidth 325
-  RenderBlock {DIV} at (0,5) size 127x20
-    RenderText {#text} at (1,0) size 323x20
-      text run at (1,0) width 323: "012345678901234567890123456789"
-layer at (198,169) size 165x21 scrollWidth 344
-  RenderBlock {DIV} at (3,3) size 165x21
-    RenderText {#text} at (1,0) size 342x21
-      text run at (1,0) width 342: "012345678901234567890123456789"
-layer at (198,203) size 143x21 scrollWidth 344
-  RenderBlock {DIV} at (0,5) size 143x21
-    RenderText {#text} at (1,0) size 342x21
-      text run at (1,0) width 342: "012345678901234567890123456789"
-layer at (198,232) size 167x22 scrollWidth 363
-  RenderBlock {DIV} at (3,3) size 167x22
-    RenderText {#text} at (1,0) size 361x22
-      text run at (1,0) width 361: "012345678901234567890123456789"
-layer at (198,267) size 144x22 scrollWidth 363
-  RenderBlock {DIV} at (0,5) size 144x22
-    RenderText {#text} at (1,0) size 361x22
-      text run at (1,0) width 361: "012345678901234567890123456789"
-layer at (198,297) size 188x23 scrollWidth 382
-  RenderBlock {DIV} at (3,3) size 188x23
-    RenderText {#text} at (1,0) size 380x23
-      text run at (1,0) width 380: "012345678901234567890123456789"
-layer at (198,334) size 163x23 scrollWidth 382
-  RenderBlock {DIV} at (0,6) size 163x23
-    RenderText {#text} at (1,0) size 380x23
-      text run at (1,0) width 380: "012345678901234567890123456789"
-layer at (198,365) size 190x24 scrollWidth 401
-  RenderBlock {DIV} at (3,3) size 190x24
-    RenderText {#text} at (1,0) size 399x24
-      text run at (1,0) width 399: "012345678901234567890123456789"
-layer at (198,403) size 164x24 scrollWidth 401
-  RenderBlock {DIV} at (0,6) size 164x24
-    RenderText {#text} at (1,0) size 399x24
-      text run at (1,0) width 399: "012345678901234567890123456789"
-layer at (198,435) size 211x26 scrollWidth 420
-  RenderBlock {DIV} at (3,3) size 211x26
-    RenderText {#text} at (1,0) size 418x26
-      text run at (1,0) width 418: "012345678901234567890123456789"
-layer at (198,474) size 184x26 scrollWidth 420
-  RenderBlock {DIV} at (0,6) size 184x26
-    RenderText {#text} at (1,0) size 418x26
-      text run at (1,0) width 418: "012345678901234567890123456789"
-layer at (198,508) size 213x27 scrollWidth 439
-  RenderBlock {DIV} at (3,3) size 213x27
-    RenderText {#text} at (1,0) size 437x27
-      text run at (1,0) width 437: "012345678901234567890123456789"
-layer at (198,548) size 185x27 scrollWidth 439
-  RenderBlock {DIV} at (0,6) size 185x27
-    RenderText {#text} at (1,0) size 437x27
-      text run at (1,0) width 437: "012345678901234567890123456789"
diff --git a/LayoutTests/fast/speech/input-appearance-numberandspeech.html b/LayoutTests/fast/speech/input-appearance-numberandspeech.html
index b7b95d4..3b866e5 100644
--- a/LayoutTests/fast/speech/input-appearance-numberandspeech.html
+++ b/LayoutTests/fast/speech/input-appearance-numberandspeech.html
@@ -12,12 +12,23 @@
 <script>
 var parent = document.createElement('div');
 document.body.appendChild(parent);
-parent.innerHTML = '<table><tr><td id=p1><td id=p2></tr></table>';
+parent.innerHTML = '<table><tr><td id=p1><td id=p2><td id=p3></tr></table>';
+var cells = ["", "", ""];
+var maxCellCount = [7, 5, 5];
+var cellCount = 0;
+var index = 0;
 for (var size = 8; size < 24; size++) {
-    var div = document.createElement('div');
-    document.getElementById(size < (24 + 8) / 2 ? 'p1' : 'p2').appendChild(div);
-    div.innerHTML = '<input type="number" style="font-size:' + size + 'px" value="012345678901234567890123456789"> <br>'
-        + '<input type="number" style="font-size:' + size + 'px" value="012345678901234567890123456789" speech>';
+    cells[index] += '<input type="number" style="font-size:' + size + 'px" value="012345678901234567890123456789"><br>'
+        + '<input type="number" style="font-size:' + size + 'px" value="012345678901234567890123456789" speech><br>';
+    if (++cellCount >= maxCellCount[index]) {
+        ++index;
+        cellCount = 0;
+    }
+}
+for (var i = 0; i < cells.length; ++i) {
+  var div = document.createElement('div');
+  div.innerHTML = cells[i];
+  document.getElementById('p' + (i + 1)).appendChild(div);
 }
 </script>
 </body>
diff --git a/LayoutTests/fast/speech/input-appearance-searchandspeech-expected.txt b/LayoutTests/fast/speech/input-appearance-searchandspeech-expected.txt
deleted file mode 100644
index c21e72e..0000000
--- a/LayoutTests/fast/speech/input-appearance-searchandspeech-expected.txt
+++ /dev/null
@@ -1,512 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 414x18
-          text run at (0,0) width 414: "Test appearances of input-speech-button in <input type='search'>."
-      RenderBlock {DIV} at (0,34) size 784x0
-      RenderBlock {DIV} at (0,34) size 784x456
-        RenderTable {TABLE} at (0,0) size 459x456
-          RenderTableSection {TBODY} at (0,0) size 459x456
-            RenderTableRow {TR} at (0,2) size 459x452
-              RenderTableCell {TD} at (2,42) size 135x371 [r=0 c=0 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 133x54
-                  RenderTextControl {INPUT} at (0,1) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (0,2) size 8x9
-                      RenderBlock {DIV} at (72,2) size 13x9
-                      RenderBlock {DIV} at (85,0) size 11x11
-                  RenderText {#text} at (102,0) size 4x18
-                    text run at (102,0) width 4: " "
-                  RenderBR {BR} at (106,14) size 0x0
-                  RenderTextControl {INPUT} at (0,20) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 96x11
-                      RenderBlock {DIV} at (0,0) size 8x9
-                      RenderBlock {DIV} at (83,0) size 13x9
-                  RenderText {#text} at (102,18) size 4x18
-                    text run at (102,18) width 4: " "
-                  RenderBR {BR} at (106,32) size 0x0
-                  RenderTextControl {INPUT} at (0,37) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (0,2) size 8x9
-                      RenderBlock {DIV} at (72,2) size 13x9
-                      RenderBlock {DIV} at (85,0) size 11x11
-                RenderBlock {DIV} at (1,55) size 133x54
-                  RenderTextControl {INPUT} at (0,1) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (0,2) size 8x9
-                      RenderBlock {DIV} at (72,2) size 13x9
-                      RenderBlock {DIV} at (85,0) size 11x11
-                  RenderText {#text} at (102,0) size 4x18
-                    text run at (102,0) width 4: " "
-                  RenderBR {BR} at (106,14) size 0x0
-                  RenderTextControl {INPUT} at (0,20) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 96x11
-                      RenderBlock {DIV} at (0,0) size 8x9
-                      RenderBlock {DIV} at (83,0) size 13x9
-                  RenderText {#text} at (102,18) size 4x18
-                    text run at (102,18) width 4: " "
-                  RenderBR {BR} at (106,32) size 0x0
-                  RenderTextControl {INPUT} at (0,37) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (0,2) size 8x9
-                      RenderBlock {DIV} at (72,2) size 13x9
-                      RenderBlock {DIV} at (85,0) size 11x11
-                RenderBlock {DIV} at (1,109) size 133x54
-                  RenderTextControl {INPUT} at (0,1) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (0,2) size 8x9
-                      RenderBlock {DIV} at (72,2) size 13x9
-                      RenderBlock {DIV} at (85,0) size 11x11
-                  RenderText {#text} at (102,0) size 4x18
-                    text run at (102,0) width 4: " "
-                  RenderBR {BR} at (106,14) size 0x0
-                  RenderTextControl {INPUT} at (0,20) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 96x11
-                      RenderBlock {DIV} at (0,0) size 8x9
-                      RenderBlock {DIV} at (83,0) size 13x9
-                  RenderText {#text} at (102,18) size 4x18
-                    text run at (102,18) width 4: " "
-                  RenderBR {BR} at (106,32) size 0x0
-                  RenderTextControl {INPUT} at (0,37) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (0,2) size 8x9
-                      RenderBlock {DIV} at (72,2) size 13x9
-                      RenderBlock {DIV} at (85,0) size 11x11
-                RenderBlock {DIV} at (1,163) size 133x69
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                  RenderText {#text} at (129,3) size 4x18
-                    text run at (129,3) width 4: " "
-                  RenderBR {BR} at (133,17) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 119x13
-                      RenderBlock {DIV} at (0,0) size 8x11
-                      RenderBlock {DIV} at (106,0) size 13x11
-                  RenderText {#text} at (129,25) size 4x18
-                    text run at (129,25) width 4: " "
-                  RenderBR {BR} at (133,39) size 0x0
-                  RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                RenderBlock {DIV} at (1,232) size 133x69
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                  RenderText {#text} at (129,3) size 4x18
-                    text run at (129,3) width 4: " "
-                  RenderBR {BR} at (133,17) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 119x13
-                      RenderBlock {DIV} at (0,0) size 8x11
-                      RenderBlock {DIV} at (106,0) size 13x11
-                  RenderText {#text} at (129,25) size 4x18
-                    text run at (129,25) width 4: " "
-                  RenderBR {BR} at (133,39) size 0x0
-                  RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                RenderBlock {DIV} at (1,301) size 133x69
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                  RenderText {#text} at (129,3) size 4x18
-                    text run at (129,3) width 4: " "
-                  RenderBR {BR} at (133,17) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 119x13
-                      RenderBlock {DIV} at (0,0) size 8x11
-                      RenderBlock {DIV} at (106,0) size 13x11
-                  RenderText {#text} at (129,25) size 4x18
-                    text run at (129,25) width 4: " "
-                  RenderBR {BR} at (133,39) size 0x0
-                  RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-              RenderTableCell {TD} at (139,2) size 158x452 [r=0 c=1 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 156x69
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                  RenderText {#text} at (129,3) size 4x18
-                    text run at (129,3) width 4: " "
-                  RenderBR {BR} at (133,17) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 119x13
-                      RenderBlock {DIV} at (0,0) size 8x11
-                      RenderBlock {DIV} at (106,0) size 13x11
-                  RenderText {#text} at (129,25) size 4x18
-                    text run at (129,25) width 4: " "
-                  RenderBR {BR} at (133,39) size 0x0
-                  RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                RenderBlock {DIV} at (1,70) size 156x69
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                  RenderText {#text} at (129,3) size 4x18
-                    text run at (129,3) width 4: " "
-                  RenderBR {BR} at (133,17) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 119x13
-                      RenderBlock {DIV} at (0,0) size 8x11
-                      RenderBlock {DIV} at (106,0) size 13x11
-                  RenderText {#text} at (129,25) size 4x18
-                    text run at (129,25) width 4: " "
-                  RenderBR {BR} at (133,39) size 0x0
-                  RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 119x16
-                      RenderBlock {DIV} at (0,3) size 8x11
-                      RenderBlock {DIV} at (92,3) size 13x11
-                      RenderBlock {DIV} at (105,0) size 14x14
-                RenderBlock {DIV} at (1,139) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,217) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,295) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,373) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-              RenderTableCell {TD} at (299,71) size 158x314 [r=0 c=2 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,79) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,157) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,235) size 156x78
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-                  RenderText {#text} at (152,5) size 4x18
-                    text run at (152,5) width 4: " "
-                  RenderBR {BR} at (156,19) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,3) size 142x16
-                      RenderBlock {DIV} at (0,0) size 10x13
-                      RenderBlock {DIV} at (126,0) size 16x13
-                  RenderText {#text} at (152,30) size 4x18
-                    text run at (152,30) width 4: " "
-                  RenderBR {BR} at (156,44) size 0x0
-                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (0,3) size 10x13
-                      RenderBlock {DIV} at (110,3) size 16x13
-                      RenderBlock {DIV} at (126,0) size 16x16
-layer at (22,90) size 64x11
-  RenderBlock {DIV} at (8,2) size 64x11
-layer at (22,108) size 75x11 scrollWidth 173
-  RenderBlock {DIV} at (8,0) size 75x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (22,126) size 64x11 scrollWidth 173
-  RenderBlock {DIV} at (8,2) size 64x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (22,144) size 64x11
-  RenderBlock {DIV} at (8,2) size 64x11
-layer at (22,162) size 75x11 scrollWidth 173
-  RenderBlock {DIV} at (8,0) size 75x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (22,180) size 64x11 scrollWidth 173
-  RenderBlock {DIV} at (8,2) size 64x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (22,198) size 64x11
-  RenderBlock {DIV} at (8,2) size 64x11
-layer at (22,216) size 75x11 scrollWidth 173
-  RenderBlock {DIV} at (8,0) size 75x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (22,234) size 64x11 scrollWidth 173
-  RenderBlock {DIV} at (8,2) size 64x11
-    RenderText {#text} at (1,0) size 171x11
-      text run at (1,0) width 171: "012345678901234567890123456789"
-layer at (24,253) size 84x13
-  RenderBlock {DIV} at (8,3) size 84x13
-layer at (24,275) size 98x13 scrollWidth 211
-  RenderBlock {DIV} at (8,0) size 98x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (24,299) size 84x13 scrollWidth 211
-  RenderBlock {DIV} at (8,3) size 84x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (24,322) size 84x13
-  RenderBlock {DIV} at (8,3) size 84x13
-layer at (24,344) size 98x13 scrollWidth 211
-  RenderBlock {DIV} at (8,0) size 98x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (24,368) size 84x13 scrollWidth 211
-  RenderBlock {DIV} at (8,3) size 84x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (24,391) size 84x13
-  RenderBlock {DIV} at (8,3) size 84x13
-layer at (24,413) size 98x13 scrollWidth 211
-  RenderBlock {DIV} at (8,0) size 98x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (24,437) size 84x13 scrollWidth 211
-  RenderBlock {DIV} at (8,3) size 84x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (161,51) size 84x13
-  RenderBlock {DIV} at (8,3) size 84x13
-layer at (161,73) size 98x13 scrollWidth 211
-  RenderBlock {DIV} at (8,0) size 98x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (161,97) size 84x13 scrollWidth 211
-  RenderBlock {DIV} at (8,3) size 84x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (161,120) size 84x13
-  RenderBlock {DIV} at (8,3) size 84x13
-layer at (161,142) size 98x13 scrollWidth 211
-  RenderBlock {DIV} at (8,0) size 98x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (161,166) size 84x13 scrollWidth 211
-  RenderBlock {DIV} at (8,3) size 84x13
-    RenderText {#text} at (1,0) size 209x13
-      text run at (1,0) width 209: "012345678901234567890123456789"
-layer at (163,189) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (163,214) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,241) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,267) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (163,292) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,319) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,345) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (163,370) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,397) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,423) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (163,448) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (163,475) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,120) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (323,145) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,172) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,198) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (323,223) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,250) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,276) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (323,301) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,328) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,354) size 100x16
-  RenderBlock {DIV} at (10,3) size 100x16
-layer at (323,379) size 116x16 scrollWidth 249
-  RenderBlock {DIV} at (10,0) size 116x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
-layer at (323,406) size 100x16 scrollWidth 249
-  RenderBlock {DIV} at (10,3) size 100x16
-    RenderText {#text} at (1,0) size 247x16
-      text run at (1,0) width 247: "012345678901234567890123456789"
diff --git a/LayoutTests/fast/speech/input-appearance-searchandspeech.html b/LayoutTests/fast/speech/input-appearance-searchandspeech.html
index befe9a1..0e07cbe 100644
--- a/LayoutTests/fast/speech/input-appearance-searchandspeech.html
+++ b/LayoutTests/fast/speech/input-appearance-searchandspeech.html
@@ -13,12 +13,23 @@
 var parent = document.createElement('div');
 document.body.appendChild(parent);
 parent.innerHTML = '<table><tr><td id=p1><td id=p2><td id=p3></tr></table>';
+var cells = ["", "", ""];
+var maxCellCount = [7, 5, 5];
+var cellCount = 0;
+var index = 0;
 for (var size = 8; size < 24; size++) {
-    var div = document.createElement('div');
-    document.getElementById('p' + (Math.floor((size - 8) / 6) + 1)).appendChild(div);
-    div.innerHTML = '<input type="search" style="font-size:' + size + 'px" speech> <br>'
-        + '<input type="search" style="font-size:' + size + 'px" value="012345678901234567890123456789"> <br>'
-        + '<input type="search" style="font-size:' + size + 'px" value="012345678901234567890123456789" speech>';
+    cells[index] += '<input type="search" style="font-size:' + size + 'px" speech><br>'
+        + '<input type="search" style="font-size:' + size + 'px" value="012345678901234567890123456789"><br>'
+        + '<input type="search" style="font-size:' + size + 'px" value="012345678901234567890123456789" speech><br>';
+    if (++cellCount >= maxCellCount[index]) {
+        ++index;
+        cellCount = 0;
+    }
+}
+for (var i = 0; i < cells.length; ++i) {
+  var div = document.createElement('div');
+  div.innerHTML = cells[i];
+  document.getElementById('p' + (i + 1)).appendChild(div);
 }
 </script>
 </body>
diff --git a/LayoutTests/fast/speech/input-appearance-speechbutton-expected.txt b/LayoutTests/fast/speech/input-appearance-speechbutton-expected.txt
deleted file mode 100644
index 5356e3a..0000000
--- a/LayoutTests/fast/speech/input-appearance-speechbutton-expected.txt
+++ /dev/null
@@ -1,271 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 258x18
-          text run at (0,0) width 258: "Test appearances of input-speech-button."
-      RenderBlock {DIV} at (0,34) size 784x0
-      RenderBlock {DIV} at (0,34) size 784x539
-        RenderTable {TABLE} at (0,0) size 439x539
-          RenderTableSection {TBODY} at (0,0) size 439x539
-            RenderTableRow {TR} at (0,2) size 439x535
-              RenderTableCell {TD} at (2,85) size 180x369 [r=0 c=0 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 178x35
-                  RenderTextControl {INPUT} at (0,3) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (100,0) size 4x18
-                    text run at (100,0) width 4: " "
-                  RenderBR {BR} at (104,14) size 0x0
-                  RenderTextControl {INPUT} at (0,19) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 94x12
-                      RenderBlock {DIV} at (84,0) size 10x10
-                RenderBlock {DIV} at (1,36) size 178x36
-                  RenderTextControl {INPUT} at (0,2) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (102,0) size 4x18
-                    text run at (102,0) width 4: " "
-                  RenderBR {BR} at (106,14) size 0x0
-                  RenderTextControl {INPUT} at (0,19) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 96x13
-                      RenderBlock {DIV} at (85,0) size 11x11
-                RenderBlock {DIV} at (1,72) size 178x37
-                  RenderTextControl {INPUT} at (0,1) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (104,0) size 4x18
-                    text run at (104,0) width 4: " "
-                  RenderBR {BR} at (108,14) size 0x0
-                  RenderTextControl {INPUT} at (0,19) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 98x14
-                      RenderBlock {DIV} at (86,0) size 12x12
-                RenderBlock {DIV} at (1,109) size 178x47
-                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (129,2) size 4x18
-                    text run at (129,2) width 4: " "
-                  RenderBR {BR} at (133,16) size 0x0
-                  RenderTextControl {INPUT} at (2,25) size 125x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,2) size 119x16
-                      RenderBlock {DIV} at (105,0) size 14x14
-                RenderBlock {DIV} at (1,156) size 178x50
-                  RenderTextControl {INPUT} at (2,2) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (131,3) size 4x18
-                    text run at (131,3) width 4: " "
-                  RenderBR {BR} at (135,17) size 0x0
-                  RenderTextControl {INPUT} at (2,27) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 121x18
-                      RenderBlock {DIV} at (106,0) size 15x15
-                RenderBlock {DIV} at (1,206) size 178x52
-                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (152,4) size 4x18
-                    text run at (152,4) width 4: " "
-                  RenderBR {BR} at (156,18) size 0x0
-                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 142x19
-                      RenderBlock {DIV} at (126,0) size 16x16
-                RenderBlock {DIV} at (1,258) size 178x54
-                  RenderTextControl {INPUT} at (2,2) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (154,5) size 4x18
-                    text run at (154,5) width 4: " "
-                  RenderBR {BR} at (158,19) size 0x0
-                  RenderTextControl {INPUT} at (2,29) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 144x20
-                      RenderBlock {DIV} at (127,0) size 17x17
-                RenderBlock {DIV} at (1,312) size 178x56
-                  RenderTextControl {INPUT} at (2,2) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (174,6) size 4x18
-                    text run at (174,6) width 4: " "
-                  RenderBR {BR} at (178,20) size 0x0
-                  RenderTextControl {INPUT} at (2,30) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 164x21
-                      RenderBlock {DIV} at (146,0) size 18x18
-              RenderTableCell {TD} at (184,2) size 253x535 [r=0 c=1 rs=1 cs=1]
-                RenderBlock {DIV} at (1,1) size 251x58
-                  RenderTextControl {INPUT} at (2,2) size 172x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (176,6) size 4x18
-                    text run at (176,6) width 4: " "
-                  RenderBR {BR} at (180,20) size 0x0
-                  RenderTextControl {INPUT} at (2,30) size 172x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 166x23
-                      RenderBlock {DIV} at (146,0) size 20x20
-                RenderBlock {DIV} at (1,59) size 251x61
-                  RenderTextControl {INPUT} at (2,2) size 174x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (178,7) size 4x18
-                    text run at (178,7) width 4: " "
-                  RenderBR {BR} at (182,21) size 0x0
-                  RenderTextControl {INPUT} at (2,32) size 174x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 168x25
-                      RenderBlock {DIV} at (147,0) size 21x21
-                RenderBlock {DIV} at (1,120) size 251x63
-                  RenderTextControl {INPUT} at (2,2) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (199,8) size 4x18
-                    text run at (199,8) width 4: " "
-                  RenderBR {BR} at (203,22) size 0x0
-                  RenderTextControl {INPUT} at (2,33) size 195x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 189x26
-                      RenderBlock {DIV} at (167,0) size 22x22
-                RenderBlock {DIV} at (1,183) size 251x65
-                  RenderTextControl {INPUT} at (2,2) size 197x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (201,9) size 4x18
-                    text run at (201,9) width 4: " "
-                  RenderBR {BR} at (205,23) size 0x0
-                  RenderTextControl {INPUT} at (2,34) size 197x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 191x27
-                      RenderBlock {DIV} at (168,0) size 23x23
-                RenderBlock {DIV} at (1,248) size 251x68
-                  RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (222,10) size 4x18
-                    text run at (222,10) width 4: " "
-                  RenderBR {BR} at (226,24) size 0x0
-                  RenderTextControl {INPUT} at (2,35) size 218x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 212x29
-                      RenderBlock {DIV} at (187,0) size 25x25
-                RenderBlock {DIV} at (1,316) size 251x70
-                  RenderTextControl {INPUT} at (2,2) size 220x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (224,11) size 4x18
-                    text run at (224,11) width 4: " "
-                  RenderBR {BR} at (228,25) size 0x0
-                  RenderTextControl {INPUT} at (2,36) size 220x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,1) size 214x30
-                      RenderBlock {DIV} at (188,0) size 26x26
-                RenderBlock {DIV} at (1,386) size 251x73
-                  RenderTextControl {INPUT} at (2,2) size 241x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (245,12) size 4x18
-                    text run at (245,12) width 4: " "
-                  RenderBR {BR} at (249,26) size 0x0
-                  RenderTextControl {INPUT} at (2,38) size 241x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,0) size 235x32
-                      RenderBlock {DIV} at (208,0) size 27x27
-                RenderBlock {DIV} at (1,459) size 251x75
-                  RenderTextControl {INPUT} at (2,2) size 243x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderText {#text} at (247,13) size 4x18
-                    text run at (247,13) width 4: " "
-                  RenderBR {BR} at (251,27) size 0x0
-                  RenderTextControl {INPUT} at (2,39) size 243x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                    RenderBlock {DIV} at (3,0) size 237x33
-                      RenderBlock {DIV} at (209,0) size 28x28
-layer at (14,134) size 94x10 scrollWidth 177
-  RenderBlock {DIV} at (3,3) size 94x10
-    RenderText {#text} at (1,0) size 175x10
-      text run at (1,0) width 175: "A quick brown fox jumps over the lazy dog"
-layer at (14,151) size 84x10 scrollWidth 177
-  RenderBlock {DIV} at (0,2) size 84x10
-    RenderText {#text} at (1,0) size 175x10
-      text run at (1,0) width 175: "A quick brown fox jumps over the lazy dog"
-layer at (14,168) size 96x11 scrollWidth 195
-  RenderBlock {DIV} at (3,3) size 96x11
-    RenderText {#text} at (1,0) size 193x11
-      text run at (1,0) width 193: "A quick brown fox jumps over the lazy dog"
-layer at (14,186) size 85x11 scrollWidth 195
-  RenderBlock {DIV} at (0,2) size 85x11
-    RenderText {#text} at (1,0) size 193x11
-      text run at (1,0) width 193: "A quick brown fox jumps over the lazy dog"
-layer at (14,203) size 98x12 scrollWidth 213
-  RenderBlock {DIV} at (3,3) size 98x12
-    RenderText {#text} at (1,0) size 211x12
-      text run at (1,0) width 211: "A quick brown fox jumps over the lazy dog"
-layer at (14,222) size 86x12 scrollWidth 213
-  RenderBlock {DIV} at (0,2) size 86x12
-    RenderText {#text} at (1,0) size 211x12
-      text run at (1,0) width 211: "A quick brown fox jumps over the lazy dog"
-layer at (16,241) size 119x13 scrollWidth 233
-  RenderBlock {DIV} at (3,3) size 119x13
-    RenderText {#text} at (1,0) size 231x13
-      text run at (1,0) width 231: "A quick brown fox jumps over the lazy dog"
-layer at (16,266) size 105x13 scrollWidth 233
-  RenderBlock {DIV} at (0,3) size 105x13
-    RenderText {#text} at (1,0) size 231x13
-      text run at (1,0) width 231: "A quick brown fox jumps over the lazy dog"
-layer at (16,288) size 121x15 scrollWidth 260
-  RenderBlock {DIV} at (3,3) size 121x15
-    RenderText {#text} at (1,0) size 258x15
-      text run at (1,0) width 258: "A quick brown fox jumps over the lazy dog"
-layer at (16,314) size 106x15 scrollWidth 260
-  RenderBlock {DIV} at (0,3) size 106x15
-    RenderText {#text} at (1,0) size 258x15
-      text run at (1,0) width 258: "A quick brown fox jumps over the lazy dog"
-layer at (16,338) size 142x16 scrollWidth 278
-  RenderBlock {DIV} at (3,3) size 142x16
-    RenderText {#text} at (1,0) size 276x16
-      text run at (1,0) width 276: "A quick brown fox jumps over the lazy dog"
-layer at (16,365) size 126x16 scrollWidth 278
-  RenderBlock {DIV} at (0,3) size 126x16
-    RenderText {#text} at (1,0) size 276x16
-      text run at (1,0) width 276: "A quick brown fox jumps over the lazy dog"
-layer at (16,390) size 144x17 scrollWidth 296
-  RenderBlock {DIV} at (3,3) size 144x17
-    RenderText {#text} at (1,0) size 294x17
-      text run at (1,0) width 294: "A quick brown fox jumps over the lazy dog"
-layer at (16,418) size 127x17 scrollWidth 296
-  RenderBlock {DIV} at (0,3) size 127x17
-    RenderText {#text} at (1,0) size 294x17
-      text run at (1,0) width 294: "A quick brown fox jumps over the lazy dog"
-layer at (16,444) size 164x18 scrollWidth 323
-  RenderBlock {DIV} at (3,3) size 164x18
-    RenderText {#text} at (1,0) size 321x18
-      text run at (1,0) width 321: "A quick brown fox jumps over the lazy dog"
-layer at (16,473) size 146x18 scrollWidth 323
-  RenderBlock {DIV} at (0,3) size 146x18
-    RenderText {#text} at (1,0) size 321x18
-      text run at (1,0) width 321: "A quick brown fox jumps over the lazy dog"
-layer at (198,50) size 166x18 scrollWidth 340
-  RenderBlock {DIV} at (3,3) size 166x18
-    RenderText {#text} at (1,0) size 338x18
-      text run at (1,0) width 338: "A quick brown fox jumps over the lazy dog"
-layer at (198,81) size 146x18 scrollWidth 340
-  RenderBlock {DIV} at (0,5) size 146x18
-    RenderText {#text} at (1,0) size 338x18
-      text run at (1,0) width 338: "A quick brown fox jumps over the lazy dog"
-layer at (198,108) size 168x20 scrollWidth 358
-  RenderBlock {DIV} at (3,3) size 168x20
-    RenderText {#text} at (1,0) size 356x20
-      text run at (1,0) width 356: "A quick brown fox jumps over the lazy dog"
-layer at (198,141) size 147x20 scrollWidth 358
-  RenderBlock {DIV} at (0,5) size 147x20
-    RenderText {#text} at (1,0) size 356x20
-      text run at (1,0) width 356: "A quick brown fox jumps over the lazy dog"
-layer at (198,169) size 189x21 scrollWidth 384
-  RenderBlock {DIV} at (3,3) size 189x21
-    RenderText {#text} at (1,0) size 382x21
-      text run at (1,0) width 382: "A quick brown fox jumps over the lazy dog"
-layer at (198,203) size 167x21 scrollWidth 384
-  RenderBlock {DIV} at (0,5) size 167x21
-    RenderText {#text} at (1,0) size 382x21
-      text run at (1,0) width 382: "A quick brown fox jumps over the lazy dog"
-layer at (198,232) size 191x22 scrollWidth 404
-  RenderBlock {DIV} at (3,3) size 191x22
-    RenderText {#text} at (1,0) size 402x22
-      text run at (1,0) width 402: "A quick brown fox jumps over the lazy dog"
-layer at (198,267) size 168x22 scrollWidth 404
-  RenderBlock {DIV} at (0,5) size 168x22
-    RenderText {#text} at (1,0) size 402x22
-      text run at (1,0) width 402: "A quick brown fox jumps over the lazy dog"
-layer at (198,297) size 212x23 scrollWidth 421
-  RenderBlock {DIV} at (3,3) size 212x23
-    RenderText {#text} at (1,0) size 419x23
-      text run at (1,0) width 419: "A quick brown fox jumps over the lazy dog"
-layer at (198,334) size 187x23 scrollWidth 421
-  RenderBlock {DIV} at (0,6) size 187x23
-    RenderText {#text} at (1,0) size 419x23
-      text run at (1,0) width 419: "A quick brown fox jumps over the lazy dog"
-layer at (198,365) size 214x24 scrollWidth 449
-  RenderBlock {DIV} at (3,3) size 214x24
-    RenderText {#text} at (1,0) size 447x24
-      text run at (1,0) width 447: "A quick brown fox jumps over the lazy dog"
-layer at (198,403) size 188x24 scrollWidth 449
-  RenderBlock {DIV} at (0,6) size 188x24
-    RenderText {#text} at (1,0) size 447x24
-      text run at (1,0) width 447: "A quick brown fox jumps over the lazy dog"
-layer at (198,435) size 235x26 scrollWidth 468
-  RenderBlock {DIV} at (3,3) size 235x26
-    RenderText {#text} at (1,0) size 466x26
-      text run at (1,0) width 466: "A quick brown fox jumps over the lazy dog"
-layer at (198,474) size 208x26 scrollWidth 468
-  RenderBlock {DIV} at (0,6) size 208x26
-    RenderText {#text} at (1,0) size 466x26
-      text run at (1,0) width 466: "A quick brown fox jumps over the lazy dog"
-layer at (198,508) size 237x27 scrollWidth 485
-  RenderBlock {DIV} at (3,3) size 237x27
-    RenderText {#text} at (1,0) size 483x27
-      text run at (1,0) width 483: "A quick brown fox jumps over the lazy dog"
-layer at (198,548) size 209x27 scrollWidth 485
-  RenderBlock {DIV} at (0,6) size 209x27
-    RenderText {#text} at (1,0) size 483x27
-      text run at (1,0) width 483: "A quick brown fox jumps over the lazy dog"
diff --git a/LayoutTests/fast/speech/input-appearance-speechbutton.html b/LayoutTests/fast/speech/input-appearance-speechbutton.html
index 4eb8f28..639f247 100644
--- a/LayoutTests/fast/speech/input-appearance-speechbutton.html
+++ b/LayoutTests/fast/speech/input-appearance-speechbutton.html
@@ -12,12 +12,23 @@
 <script>
 var parent = document.createElement('div');
 document.body.appendChild(parent);
-parent.innerHTML = '<table><tr><td id=p1><td id=p2></tr></table>';
+parent.innerHTML = '<table><tr><td id=p1><td id=p2><td id=p3></tr></table>';
+var cells = ["", "", ""];
+var maxCellCount = [7, 5, 5];
+var cellCount = 0;
+var index = 0;
 for (var size = 8; size < 24; size++) {
-    var div = document.createElement('div');
-    document.getElementById(size < (24 + 8) / 2 ? 'p1' : 'p2').appendChild(div);
-    div.innerHTML = '<input style="font-size:' + size + 'px" value="A quick brown fox jumps over the lazy dog"> <br>'
-        + '<input style="font-size:' + size + 'px" value="A quick brown fox jumps over the lazy dog" speech>';
+    cells[index] += '<input style="font-size:' + size + 'px" value="A quick brown fox jumps over the lazy dog"><br>'
+        + '<input style="font-size:' + size + 'px" value="A quick brown fox jumps over the lazy dog" speech><br>';
+    if (++cellCount >= maxCellCount[index]) {
+        ++index;
+        cellCount = 0;
+    }
+}
+for (var i = 0; i < cells.length; ++i) {
+  var div = document.createElement('div');
+  div.innerHTML = cells[i];
+  document.getElementById('p' + (i + 1)).appendChild(div);
 }
 </script>
 </body>
diff --git a/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.checksum b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.checksum
new file mode 100644
index 0000000..aa4364d
--- /dev/null
+++ b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.checksum
@@ -0,0 +1 @@
+1690478daa28b18666d5331d5b3a2c7c
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.png b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.png
new file mode 100644
index 0000000..e94ad7e
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.txt b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.txt
new file mode 100644
index 0000000..ab9c363
--- /dev/null
+++ b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.txt
@@ -0,0 +1,451 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 400x19
+          text run at (0,0) width 400: "Test appearances of input-speech-button in <input type='search'>."
+      RenderBlock {DIV} at (0,36) size 784x0
+      RenderBlock {DIV} at (0,36) size 784x473
+        RenderTable {TABLE} at (0,0) size 657x473
+          RenderTableSection {TBODY} at (0,0) size 657x473
+            RenderTableRow {TR} at (0,2) size 657x469
+              RenderTableCell {TD} at (2,2) size 166x469 [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 164x467
+                  RenderTextControl {INPUT} at (0,0) size 106x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 100x13
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (81,5) size 6x6
+                      RenderBlock {DIV} at (90,1) size 10x10
+                  RenderBR {BR} at (106,13) size 0x0
+                  RenderTextControl {INPUT} at (0,17) size 106x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 100x13
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (91,5) size 6x6
+                  RenderBR {BR} at (106,30) size 0x0
+                  RenderTextControl {INPUT} at (0,34) size 106x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 100x13
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (81,5) size 6x6
+                      RenderBlock {DIV} at (90,1) size 10x10
+                  RenderBR {BR} at (106,47) size 0x0
+                  RenderTextControl {INPUT} at (0,51) size 108x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 102x14
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (82,5) size 6x6
+                      RenderBlock {DIV} at (91,0) size 11x11
+                  RenderBR {BR} at (108,64) size 0x0
+                  RenderTextControl {INPUT} at (0,69) size 108x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 102x14
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (93,5) size 6x6
+                  RenderBR {BR} at (108,82) size 0x0
+                  RenderTextControl {INPUT} at (0,87) size 108x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 102x14
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (82,5) size 6x6
+                      RenderBlock {DIV} at (91,0) size 11x11
+                  RenderBR {BR} at (108,100) size 0x0
+                  RenderTextControl {INPUT} at (0,105) size 111x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 105x15
+                      RenderBlock {DIV} at (0,1) size 1x11
+                      RenderBlock {DIV} at (83,5) size 7x7
+                      RenderBlock {DIV} at (93,0) size 12x12
+                  RenderBR {BR} at (111,119) size 0x0
+                  RenderTextControl {INPUT} at (0,124) size 111x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 105x14
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (95,4) size 7x7
+                  RenderBR {BR} at (111,137) size 0x0
+                  RenderTextControl {INPUT} at (0,143) size 111x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 105x15
+                      RenderBlock {DIV} at (0,1) size 1x11
+                      RenderBlock {DIV} at (83,5) size 7x7
+                      RenderBlock {DIV} at (93,0) size 12x12
+                  RenderBR {BR} at (111,157) size 0x0
+                  RenderTextControl {INPUT} at (2,164) size 133x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 127x17
+                      RenderBlock {DIV} at (0,3) size 1x11
+                      RenderBlock {DIV} at (102,6) size 8x8
+                      RenderBlock {DIV} at (113,0) size 14x14
+                  RenderBR {BR} at (137,179) size 0x0
+                  RenderTextControl {INPUT} at (2,188) size 133x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 127x14
+                      RenderBlock {DIV} at (0,0) size 1x11
+                      RenderBlock {DIV} at (116,3) size 8x8
+                  RenderBR {BR} at (137,202) size 0x0
+                  RenderTextControl {INPUT} at (2,212) size 133x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 127x17
+                      RenderBlock {DIV} at (0,3) size 1x11
+                      RenderBlock {DIV} at (102,6) size 8x8
+                      RenderBlock {DIV} at (113,0) size 14x14
+                  RenderBR {BR} at (137,227) size 0x0
+                  RenderTextControl {INPUT} at (2,236) size 135x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 129x18
+                      RenderBlock {DIV} at (0,4) size 1x11
+                      RenderBlock {DIV} at (103,7) size 8x8
+                      RenderBlock {DIV} at (114,0) size 15x15
+                  RenderBR {BR} at (139,252) size 0x0
+                  RenderTextControl {INPUT} at (2,261) size 135x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 129x15
+                      RenderBlock {DIV} at (0,1) size 1x11
+                      RenderBlock {DIV} at (118,4) size 8x8
+                  RenderBR {BR} at (139,276) size 0x0
+                  RenderTextControl {INPUT} at (2,286) size 135x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 129x18
+                      RenderBlock {DIV} at (0,4) size 1x11
+                      RenderBlock {DIV} at (103,7) size 8x8
+                      RenderBlock {DIV} at (114,0) size 15x15
+                  RenderBR {BR} at (139,302) size 0x0
+                  RenderTextControl {INPUT} at (2,311) size 157x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 151x19
+                      RenderBlock {DIV} at (0,5) size 1x11
+                      RenderBlock {DIV} at (123,7) size 9x9
+                      RenderBlock {DIV} at (135,0) size 16x16
+                  RenderBR {BR} at (161,328) size 0x0
+                  RenderTextControl {INPUT} at (2,337) size 157x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 151x16
+                      RenderBlock {DIV} at (0,2) size 1x11
+                      RenderBlock {DIV} at (139,4) size 9x9
+                  RenderBR {BR} at (161,353) size 0x0
+                  RenderTextControl {INPUT} at (2,363) size 157x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 151x19
+                      RenderBlock {DIV} at (0,5) size 1x11
+                      RenderBlock {DIV} at (123,7) size 9x9
+                      RenderBlock {DIV} at (135,0) size 16x16
+                  RenderBR {BR} at (161,380) size 0x0
+                  RenderTextControl {INPUT} at (2,389) size 160x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 154x20
+                      RenderBlock {DIV} at (0,6) size 1x11
+                      RenderBlock {DIV} at (124,7) size 10x10
+                      RenderBlock {DIV} at (137,0) size 17x17
+                  RenderBR {BR} at (164,407) size 0x0
+                  RenderTextControl {INPUT} at (2,416) size 160x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 154x16
+                      RenderBlock {DIV} at (0,2) size 1x11
+                      RenderBlock {DIV} at (141,3) size 10x10
+                  RenderBR {BR} at (164,432) size 0x0
+                  RenderTextControl {INPUT} at (2,442) size 160x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 154x20
+                      RenderBlock {DIV} at (0,6) size 1x11
+                      RenderBlock {DIV} at (124,7) size 10x10
+                      RenderBlock {DIV} at (137,0) size 17x17
+                  RenderBR {BR} at (164,460) size 0x0
+              RenderTableCell {TD} at (170,6) size 217x461 [r=0 c=1 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 215x459
+                  RenderTextControl {INPUT} at (2,2) size 181x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 175x21
+                      RenderBlock {DIV} at (0,7) size 1x11
+                      RenderBlock {DIV} at (144,8) size 10x10
+                      RenderBlock {DIV} at (157,0) size 18x18
+                  RenderBR {BR} at (185,21) size 0x0
+                  RenderTextControl {INPUT} at (2,30) size 181x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 175x17
+                      RenderBlock {DIV} at (0,3) size 1x11
+                      RenderBlock {DIV} at (162,4) size 10x10
+                  RenderBR {BR} at (185,47) size 0x0
+                  RenderTextControl {INPUT} at (2,57) size 181x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 175x21
+                      RenderBlock {DIV} at (0,7) size 1x11
+                      RenderBlock {DIV} at (144,8) size 10x10
+                      RenderBlock {DIV} at (157,0) size 18x18
+                  RenderBR {BR} at (185,76) size 0x0
+                  RenderTextControl {INPUT} at (2,85) size 184x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 178x24
+                      RenderBlock {DIV} at (0,9) size 1x11
+                      RenderBlock {DIV} at (144,9) size 11x11
+                      RenderBlock {DIV} at (158,0) size 20x20
+                  RenderBR {BR} at (188,106) size 0x0
+                  RenderTextControl {INPUT} at (2,115) size 184x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 178x19
+                      RenderBlock {DIV} at (0,4) size 1x11
+                      RenderBlock {DIV} at (164,4) size 11x11
+                  RenderBR {BR} at (188,133) size 0x0
+                  RenderTextControl {INPUT} at (2,144) size 184x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 178x24
+                      RenderBlock {DIV} at (0,9) size 1x11
+                      RenderBlock {DIV} at (144,9) size 11x11
+                      RenderBlock {DIV} at (158,0) size 20x20
+                  RenderBR {BR} at (188,165) size 0x0
+                  RenderTextControl {INPUT} at (2,174) size 206x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 200x26
+                      RenderBlock {DIV} at (0,10) size 1x11
+                      RenderBlock {DIV} at (164,9) size 12x12
+                      RenderBlock {DIV} at (179,0) size 21x21
+                  RenderBR {BR} at (210,195) size 0x0
+                  RenderTextControl {INPUT} at (2,205) size 206x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 200x20
+                      RenderBlock {DIV} at (0,4) size 1x11
+                      RenderBlock {DIV} at (185,3) size 12x12
+                  RenderBR {BR} at (210,223) size 0x0
+                  RenderTextControl {INPUT} at (2,235) size 206x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 200x26
+                      RenderBlock {DIV} at (0,10) size 1x11
+                      RenderBlock {DIV} at (164,9) size 12x12
+                      RenderBlock {DIV} at (179,0) size 21x21
+                  RenderBR {BR} at (210,256) size 0x0
+                  RenderTextControl {INPUT} at (2,266) size 208x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 202x27
+                      RenderBlock {DIV} at (0,11) size 1x11
+                      RenderBlock {DIV} at (165,10) size 12x12
+                      RenderBlock {DIV} at (180,0) size 22x22
+                  RenderBR {BR} at (212,288) size 0x0
+                  RenderTextControl {INPUT} at (2,298) size 208x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 202x22
+                      RenderBlock {DIV} at (0,6) size 1x11
+                      RenderBlock {DIV} at (187,5) size 12x12
+                  RenderBR {BR} at (212,318) size 0x0
+                  RenderTextControl {INPUT} at (2,330) size 208x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 202x27
+                      RenderBlock {DIV} at (0,11) size 1x11
+                      RenderBlock {DIV} at (165,10) size 12x12
+                      RenderBlock {DIV} at (180,0) size 22x22
+                  RenderBR {BR} at (212,352) size 0x0
+                  RenderTextControl {INPUT} at (2,362) size 211x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 205x28
+                      RenderBlock {DIV} at (0,12) size 1x11
+                      RenderBlock {DIV} at (166,10) size 13x13
+                      RenderBlock {DIV} at (182,0) size 23x23
+                  RenderBR {BR} at (215,385) size 0x0
+                  RenderTextControl {INPUT} at (2,395) size 211x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 205x23
+                      RenderBlock {DIV} at (0,7) size 1x11
+                      RenderBlock {DIV} at (189,5) size 13x13
+                  RenderBR {BR} at (215,416) size 0x0
+                  RenderTextControl {INPUT} at (2,428) size 211x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 205x28
+                      RenderBlock {DIV} at (0,12) size 1x11
+                      RenderBlock {DIV} at (166,10) size 13x13
+                      RenderBlock {DIV} at (182,0) size 23x23
+                  RenderBR {BR} at (215,451) size 0x0
+              RenderTableCell {TD} at (389,18) size 266x436 [r=0 c=2 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 264x434
+                  RenderTextControl {INPUT} at (2,2) size 233x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 227x30
+                      RenderBlock {DIV} at (0,14) size 1x11
+                      RenderBlock {DIV} at (185,11) size 14x14
+                      RenderBlock {DIV} at (202,0) size 25x25
+                  RenderBR {BR} at (237,27) size 0x0
+                  RenderTextControl {INPUT} at (2,37) size 233x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 227x24
+                      RenderBlock {DIV} at (0,8) size 1x11
+                      RenderBlock {DIV} at (210,5) size 14x14
+                  RenderBR {BR} at (237,59) size 0x0
+                  RenderTextControl {INPUT} at (2,71) size 233x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 227x30
+                      RenderBlock {DIV} at (0,14) size 1x11
+                      RenderBlock {DIV} at (185,11) size 14x14
+                      RenderBlock {DIV} at (202,0) size 25x25
+                  RenderBR {BR} at (237,96) size 0x0
+                  RenderTextControl {INPUT} at (2,106) size 236x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 230x32
+                      RenderBlock {DIV} at (0,15) size 1x11
+                      RenderBlock {DIV} at (186,11) size 15x15
+                      RenderBlock {DIV} at (204,0) size 26x26
+                  RenderBR {BR} at (240,135) size 0x0
+                  RenderTextControl {INPUT} at (2,142) size 236x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 230x25
+                      RenderBlock {DIV} at (0,8) size 1x11
+                      RenderBlock {DIV} at (212,4) size 15x15
+                  RenderBR {BR} at (240,164) size 0x0
+                  RenderTextControl {INPUT} at (2,177) size 236x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 230x32
+                      RenderBlock {DIV} at (0,15) size 1x11
+                      RenderBlock {DIV} at (186,11) size 15x15
+                      RenderBlock {DIV} at (204,0) size 26x26
+                  RenderBR {BR} at (240,206) size 0x0
+                  RenderTextControl {INPUT} at (2,213) size 257x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 251x33
+                      RenderBlock {DIV} at (0,16) size 1x11
+                      RenderBlock {DIV} at (206,12) size 15x15
+                      RenderBlock {DIV} at (224,0) size 27x27
+                  RenderBR {BR} at (261,243) size 0x0
+                  RenderTextControl {INPUT} at (2,250) size 257x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 251x26
+                      RenderBlock {DIV} at (0,9) size 1x11
+                      RenderBlock {DIV} at (233,5) size 15x15
+                  RenderBR {BR} at (261,273) size 0x0
+                  RenderTextControl {INPUT} at (2,286) size 257x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 251x33
+                      RenderBlock {DIV} at (0,16) size 1x11
+                      RenderBlock {DIV} at (206,12) size 15x15
+                      RenderBlock {DIV} at (224,0) size 27x27
+                  RenderBR {BR} at (261,316) size 0x0
+                  RenderTextControl {INPUT} at (2,323) size 260x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 254x34
+                      RenderBlock {DIV} at (0,17) size 1x11
+                      RenderBlock {DIV} at (207,12) size 16x16
+                      RenderBlock {DIV} at (226,0) size 28x28
+                  RenderBR {BR} at (264,354) size 0x0
+                  RenderTextControl {INPUT} at (2,361) size 260x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 254x27
+                      RenderBlock {DIV} at (0,10) size 1x11
+                      RenderBlock {DIV} at (235,5) size 16x16
+                  RenderBR {BR} at (264,385) size 0x0
+                  RenderTextControl {INPUT} at (2,398) size 260x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 254x34
+                      RenderBlock {DIV} at (0,17) size 1x11
+                      RenderBlock {DIV} at (207,12) size 16x16
+                      RenderBlock {DIV} at (226,0) size 28x28
+                  RenderBR {BR} at (264,429) size 0x0
+layer at (15,52) size 80x10
+  RenderBlock {DIV} at (1,3) size 80x10
+layer at (15,69) size 90x10 scrollWidth 122
+  RenderBlock {DIV} at (1,3) size 90x10
+    RenderText {#text} at (1,0) size 120x10
+      text run at (1,0) width 120: "012345678901234567890123456789"
+layer at (15,86) size 80x10 scrollWidth 122
+  RenderBlock {DIV} at (1,3) size 80x10
+    RenderText {#text} at (1,0) size 120x10
+      text run at (1,0) width 120: "012345678901234567890123456789"
+layer at (15,102) size 81x12
+  RenderBlock {DIV} at (1,2) size 81x12
+layer at (15,120) size 92x12 scrollWidth 152
+  RenderBlock {DIV} at (1,2) size 92x12
+    RenderText {#text} at (1,0) size 150x12
+      text run at (1,0) width 150: "012345678901234567890123456789"
+layer at (15,138) size 81x12 scrollWidth 152
+  RenderBlock {DIV} at (1,2) size 81x12
+    RenderText {#text} at (1,0) size 150x12
+      text run at (1,0) width 150: "012345678901234567890123456789"
+layer at (15,156) size 82x13
+  RenderBlock {DIV} at (1,2) size 82x13
+layer at (15,174) size 94x13 scrollWidth 182
+  RenderBlock {DIV} at (1,1) size 94x13
+    RenderText {#text} at (1,0) size 180x13
+      text run at (1,0) width 180: "012345678901234567890123456789"
+layer at (15,194) size 82x13 scrollWidth 182
+  RenderBlock {DIV} at (1,2) size 82x13
+    RenderText {#text} at (1,0) size 180x13
+      text run at (1,0) width 180: "012345678901234567890123456789"
+layer at (17,215) size 101x14
+  RenderBlock {DIV} at (1,3) size 101x14
+layer at (17,238) size 115x14 scrollWidth 182
+  RenderBlock {DIV} at (1,0) size 115x14
+    RenderText {#text} at (1,0) size 180x14
+      text run at (1,0) width 180: "012345678901234567890123456789"
+layer at (17,263) size 101x14 scrollWidth 182
+  RenderBlock {DIV} at (1,3) size 101x14
+    RenderText {#text} at (1,0) size 180x14
+      text run at (1,0) width 180: "012345678901234567890123456789"
+layer at (17,287) size 102x15
+  RenderBlock {DIV} at (1,3) size 102x15
+layer at (17,311) size 117x15 scrollWidth 212
+  RenderBlock {DIV} at (1,0) size 117x15
+    RenderText {#text} at (1,0) size 210x15
+      text run at (1,0) width 210: "012345678901234567890123456789"
+layer at (17,337) size 102x15 scrollWidth 212
+  RenderBlock {DIV} at (1,3) size 102x15
+    RenderText {#text} at (1,0) size 210x15
+      text run at (1,0) width 210: "012345678901234567890123456789"
+layer at (17,362) size 122x16
+  RenderBlock {DIV} at (1,3) size 122x16
+layer at (17,387) size 138x16 scrollWidth 212
+  RenderBlock {DIV} at (1,0) size 138x16
+    RenderText {#text} at (1,0) size 210x16
+      text run at (1,0) width 210: "012345678901234567890123456789"
+layer at (17,414) size 122x16 scrollWidth 212
+  RenderBlock {DIV} at (1,3) size 122x16
+    RenderText {#text} at (1,0) size 210x16
+      text run at (1,0) width 210: "012345678901234567890123456789"
+layer at (17,441) size 123x16
+  RenderBlock {DIV} at (1,4) size 123x16
+layer at (17,466) size 140x16 scrollWidth 242
+  RenderBlock {DIV} at (1,0) size 140x16
+    RenderText {#text} at (1,0) size 240x16
+      text run at (1,0) width 240: "012345678901234567890123456789"
+layer at (17,494) size 123x16 scrollWidth 242
+  RenderBlock {DIV} at (1,4) size 123x16
+    RenderText {#text} at (1,0) size 240x16
+      text run at (1,0) width 240: "012345678901234567890123456789"
+layer at (185,58) size 143x17
+  RenderBlock {DIV} at (1,4) size 143x17
+layer at (185,84) size 161x17 scrollWidth 242
+  RenderBlock {DIV} at (1,0) size 161x17
+    RenderText {#text} at (1,0) size 240x17
+      text run at (1,0) width 240: "012345678901234567890123456789"
+layer at (185,113) size 143x17 scrollWidth 242
+  RenderBlock {DIV} at (1,4) size 143x17
+    RenderText {#text} at (1,0) size 240x17
+      text run at (1,0) width 240: "012345678901234567890123456789"
+layer at (185,142) size 143x19
+  RenderBlock {DIV} at (1,5) size 143x19
+layer at (185,169) size 163x19 scrollWidth 272
+  RenderBlock {DIV} at (1,0) size 163x19
+    RenderText {#text} at (1,0) size 270x18
+      text run at (1,0) width 270: "012345678901234567890123456789"
+layer at (185,201) size 143x19 scrollWidth 272
+  RenderBlock {DIV} at (1,5) size 143x19
+    RenderText {#text} at (1,0) size 270x18
+      text run at (1,0) width 270: "012345678901234567890123456789"
+layer at (185,231) size 163x20
+  RenderBlock {DIV} at (1,6) size 163x20
+layer at (185,259) size 184x20 scrollWidth 272
+  RenderBlock {DIV} at (1,0) size 184x20
+    RenderText {#text} at (1,0) size 270x19
+      text run at (1,0) width 270: "012345678901234567890123456789"
+layer at (185,292) size 163x20 scrollWidth 272
+  RenderBlock {DIV} at (1,6) size 163x20
+    RenderText {#text} at (1,0) size 270x19
+      text run at (1,0) width 270: "012345678901234567890123456789"
+layer at (185,322) size 164x22
+  RenderBlock {DIV} at (1,5) size 164x22
+layer at (185,352) size 186x22 scrollWidth 302
+  RenderBlock {DIV} at (1,0) size 186x22
+    RenderText {#text} at (1,0) size 300x21
+      text run at (1,0) width 300: "012345678901234567890123456789"
+layer at (185,386) size 164x22 scrollWidth 302
+  RenderBlock {DIV} at (1,5) size 164x22
+    RenderText {#text} at (1,0) size 300x21
+      text run at (1,0) width 300: "012345678901234567890123456789"
+layer at (185,418) size 165x23
+  RenderBlock {DIV} at (1,5) size 165x23
+layer at (185,449) size 188x23 scrollWidth 332
+  RenderBlock {DIV} at (1,0) size 188x23
+    RenderText {#text} at (1,0) size 330x22
+      text run at (1,0) width 330: "012345678901234567890123456789"
+layer at (185,484) size 165x23 scrollWidth 332
+  RenderBlock {DIV} at (1,5) size 165x23
+    RenderText {#text} at (1,0) size 330x22
+      text run at (1,0) width 330: "012345678901234567890123456789"
+layer at (404,71) size 184x24
+  RenderBlock {DIV} at (1,6) size 184x24
+layer at (404,103) size 209x24 scrollWidth 332
+  RenderBlock {DIV} at (1,0) size 209x24
+    RenderText {#text} at (1,0) size 330x23
+      text run at (1,0) width 330: "012345678901234567890123456789"
+layer at (404,140) size 184x24 scrollWidth 332
+  RenderBlock {DIV} at (1,6) size 184x24
+    RenderText {#text} at (1,0) size 330x23
+      text run at (1,0) width 330: "012345678901234567890123456789"
+layer at (404,179) size 185x25
+  RenderBlock {DIV} at (1,7) size 185x25
+layer at (404,208) size 211x25 scrollWidth 362
+  RenderBlock {DIV} at (1,0) size 211x25
+    RenderText {#text} at (1,0) size 360x24
+      text run at (1,0) width 360: "012345678901234567890123456789"
+layer at (404,250) size 185x25 scrollWidth 362
+  RenderBlock {DIV} at (1,7) size 185x25
+    RenderText {#text} at (1,0) size 360x24
+      text run at (1,0) width 360: "012345678901234567890123456789"
+layer at (404,286) size 205x26
+  RenderBlock {DIV} at (1,7) size 205x26
+layer at (404,316) size 232x26 scrollWidth 362
+  RenderBlock {DIV} at (1,0) size 232x26
+    RenderText {#text} at (1,0) size 360x25
+      text run at (1,0) width 360: "012345678901234567890123456789"
+layer at (404,359) size 205x26 scrollWidth 362
+  RenderBlock {DIV} at (1,7) size 205x26
+    RenderText {#text} at (1,0) size 360x25
+      text run at (1,0) width 360: "012345678901234567890123456789"
+layer at (404,396) size 206x27
+  RenderBlock {DIV} at (1,7) size 206x27
+layer at (404,427) size 234x27 scrollWidth 392
+  RenderBlock {DIV} at (1,0) size 234x27
+    RenderText {#text} at (1,0) size 390x26
+      text run at (1,0) width 390: "012345678901234567890123456789"
+layer at (404,471) size 206x27 scrollWidth 392
+  RenderBlock {DIV} at (1,7) size 206x27
+    RenderText {#text} at (1,0) size 390x26
+      text run at (1,0) width 390: "012345678901234567890123456789"
diff --git a/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.checksum b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.checksum
new file mode 100644
index 0000000..95dd482
--- /dev/null
+++ b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.checksum
@@ -0,0 +1 @@
+420b835b6aa5ec4d1d077f9f1cdebcf3
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.png b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.png
new file mode 100644
index 0000000..29fbae6
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.txt b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.txt
new file mode 100644
index 0000000..1f54cb8
--- /dev/null
+++ b/LayoutTests/platform/chromium-linux/fast/speech/input-appearance-speechbutton-expected.txt
@@ -0,0 +1,243 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 251x19
+          text run at (0,0) width 251: "Test appearances of input-speech-button."
+      RenderBlock {DIV} at (0,36) size 784x0
+      RenderBlock {DIV} at (0,36) size 784x315
+        RenderTable {TABLE} at (0,0) size 651x315
+          RenderTableSection {TBODY} at (0,0) size 651x315
+            RenderTableRow {TR} at (0,2) size 651x311
+              RenderTableCell {TD} at (2,2) size 164x311 [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 162x309
+                  RenderTextControl {INPUT} at (0,0) size 104x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (104,11) size 0x0
+                  RenderTextControl {INPUT} at (0,16) size 104x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,2) size 100x12
+                      RenderBlock {DIV} at (90,0) size 10x10
+                  RenderBR {BR} at (104,28) size 0x0
+                  RenderTextControl {INPUT} at (0,32) size 106x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (106,44) size 0x0
+                  RenderTextControl {INPUT} at (0,50) size 106x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,2) size 102x14
+                      RenderBlock {DIV} at (91,0) size 11x11
+                  RenderBR {BR} at (106,63) size 0x0
+                  RenderTextControl {INPUT} at (0,68) size 109x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (109,81) size 0x0
+                  RenderTextControl {INPUT} at (0,87) size 109x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,2) size 105x15
+                      RenderBlock {DIV} at (93,0) size 12x12
+                  RenderBR {BR} at (109,101) size 0x0
+                  RenderTextControl {INPUT} at (2,108) size 131x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (135,122) size 0x0
+                  RenderTextControl {INPUT} at (2,132) size 131x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,1) size 127x17
+                      RenderBlock {DIV} at (113,0) size 14x14
+                  RenderBR {BR} at (135,147) size 0x0
+                  RenderTextControl {INPUT} at (2,156) size 133x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (137,171) size 0x0
+                  RenderTextControl {INPUT} at (2,181) size 133x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,1) size 129x18
+                      RenderBlock {DIV} at (114,0) size 15x15
+                  RenderBR {BR} at (137,197) size 0x0
+                  RenderTextControl {INPUT} at (2,206) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (159,222) size 0x0
+                  RenderTextControl {INPUT} at (2,232) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,1) size 151x19
+                      RenderBlock {DIV} at (135,0) size 16x16
+                  RenderBR {BR} at (159,249) size 0x0
+                  RenderTextControl {INPUT} at (2,258) size 158x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (162,274) size 0x0
+                  RenderTextControl {INPUT} at (2,284) size 158x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,1) size 154x20
+                      RenderBlock {DIV} at (137,0) size 17x17
+                  RenderBR {BR} at (162,302) size 0x0
+              RenderTableCell {TD} at (168,4) size 215x307 [r=0 c=1 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 213x305
+                  RenderTextControl {INPUT} at (2,2) size 179x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (183,19) size 0x0
+                  RenderTextControl {INPUT} at (2,29) size 179x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,1) size 175x21
+                      RenderBlock {DIV} at (157,0) size 18x18
+                  RenderBR {BR} at (183,48) size 0x0
+                  RenderTextControl {INPUT} at (2,57) size 182x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (186,75) size 0x0
+                  RenderTextControl {INPUT} at (2,86) size 182x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,1) size 178x24
+                      RenderBlock {DIV} at (158,0) size 20x20
+                  RenderBR {BR} at (186,107) size 0x0
+                  RenderTextControl {INPUT} at (2,116) size 204x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (208,134) size 0x0
+                  RenderTextControl {INPUT} at (2,146) size 204x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,0) size 200x26
+                      RenderBlock {DIV} at (179,0) size 21x21
+                  RenderBR {BR} at (208,167) size 0x0
+                  RenderTextControl {INPUT} at (2,177) size 206x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (210,197) size 0x0
+                  RenderTextControl {INPUT} at (2,209) size 206x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,0) size 202x27
+                      RenderBlock {DIV} at (180,0) size 22x22
+                  RenderBR {BR} at (210,231) size 0x0
+                  RenderTextControl {INPUT} at (2,241) size 209x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (213,262) size 0x0
+                  RenderTextControl {INPUT} at (2,274) size 209x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,0) size 205x28
+                      RenderBlock {DIV} at (182,0) size 23x23
+                  RenderBR {BR} at (213,297) size 0x0
+              RenderTableCell {TD} at (385,12) size 264x290 [r=0 c=2 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 262x288
+                  RenderTextControl {INPUT} at (2,2) size 231x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (235,24) size 0x0
+                  RenderTextControl {INPUT} at (2,36) size 231x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,0) size 227x30
+                      RenderBlock {DIV} at (202,0) size 25x25
+                  RenderBR {BR} at (235,61) size 0x0
+                  RenderTextControl {INPUT} at (2,71) size 234x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (238,93) size 0x0
+                  RenderTextControl {INPUT} at (2,106) size 234x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,3) size 230x32
+                      RenderBlock {DIV} at (204,0) size 26x26
+                  RenderBR {BR} at (238,135) size 0x0
+                  RenderTextControl {INPUT} at (2,142) size 255x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (259,165) size 0x0
+                  RenderTextControl {INPUT} at (2,178) size 255x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,3) size 251x33
+                      RenderBlock {DIV} at (224,0) size 27x27
+                  RenderBR {BR} at (259,208) size 0x0
+                  RenderTextControl {INPUT} at (2,215) size 258x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (262,239) size 0x0
+                  RenderTextControl {INPUT} at (2,252) size 258x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (2,3) size 254x34
+                      RenderBlock {DIV} at (226,0) size 28x28
+                  RenderBR {BR} at (262,283) size 0x0
+layer at (13,50) size 100x10 scrollWidth 140
+  RenderBlock {DIV} at (2,3) size 100x10
+    RenderText {#text} at (1,0) size 138x10
+      text run at (1,0) width 138: "A quick brown fox jumps over the lazy dog"
+layer at (13,67) size 90x10 scrollWidth 140
+  RenderBlock {DIV} at (0,2) size 90x10
+    RenderText {#text} at (1,0) size 138x10
+      text run at (1,0) width 138: "A quick brown fox jumps over the lazy dog"
+layer at (13,82) size 102x12 scrollWidth 181
+  RenderBlock {DIV} at (2,3) size 102x12
+    RenderText {#text} at (1,0) size 179x12
+      text run at (1,0) width 179: "A quick brown fox jumps over the lazy dog"
+layer at (13,101) size 91x12 scrollWidth 181
+  RenderBlock {DIV} at (0,2) size 91x12
+    RenderText {#text} at (1,0) size 179x12
+      text run at (1,0) width 179: "A quick brown fox jumps over the lazy dog"
+layer at (13,118) size 105x13 scrollWidth 200
+  RenderBlock {DIV} at (2,3) size 105x13
+    RenderText {#text} at (1,0) size 198x13
+      text run at (1,0) width 198: "A quick brown fox jumps over the lazy dog"
+layer at (13,138) size 93x13 scrollWidth 200
+  RenderBlock {DIV} at (0,2) size 93x13
+    RenderText {#text} at (1,0) size 198x13
+      text run at (1,0) width 198: "A quick brown fox jumps over the lazy dog"
+layer at (15,158) size 127x14 scrollWidth 210
+  RenderBlock {DIV} at (2,3) size 127x14
+    RenderText {#text} at (1,0) size 208x14
+      text run at (1,0) width 208: "A quick brown fox jumps over the lazy dog"
+layer at (15,183) size 113x14 scrollWidth 210
+  RenderBlock {DIV} at (0,3) size 113x14
+    RenderText {#text} at (1,0) size 208x14
+      text run at (1,0) width 208: "A quick brown fox jumps over the lazy dog"
+layer at (15,206) size 129x15 scrollWidth 227
+  RenderBlock {DIV} at (2,3) size 129x15
+    RenderText {#text} at (1,0) size 225x15
+      text run at (1,0) width 225: "A quick brown fox jumps over the lazy dog"
+layer at (15,232) size 114x15 scrollWidth 227
+  RenderBlock {DIV} at (0,3) size 114x15
+    RenderText {#text} at (1,0) size 225x15
+      text run at (1,0) width 225: "A quick brown fox jumps over the lazy dog"
+layer at (15,256) size 151x16 scrollWidth 246
+  RenderBlock {DIV} at (2,3) size 151x16
+    RenderText {#text} at (1,0) size 244x16
+      text run at (1,0) width 244: "A quick brown fox jumps over the lazy dog"
+layer at (15,283) size 135x16 scrollWidth 246
+  RenderBlock {DIV} at (0,3) size 135x16
+    RenderText {#text} at (1,0) size 244x16
+      text run at (1,0) width 244: "A quick brown fox jumps over the lazy dog"
+layer at (15,308) size 154x16 scrollWidth 265
+  RenderBlock {DIV} at (2,3) size 154x16
+    RenderText {#text} at (1,0) size 263x16
+      text run at (1,0) width 263: "A quick brown fox jumps over the lazy dog"
+layer at (15,336) size 137x16 scrollWidth 265
+  RenderBlock {DIV} at (0,4) size 137x16
+    RenderText {#text} at (1,0) size 263x16
+      text run at (1,0) width 263: "A quick brown fox jumps over the lazy dog"
+layer at (181,54) size 175x17 scrollWidth 274
+  RenderBlock {DIV} at (2,3) size 175x17
+    RenderText {#text} at (1,0) size 272x17
+      text run at (1,0) width 272: "A quick brown fox jumps over the lazy dog"
+layer at (181,83) size 157x17 scrollWidth 274
+  RenderBlock {DIV} at (0,4) size 157x17
+    RenderText {#text} at (1,0) size 272x17
+      text run at (1,0) width 272: "A quick brown fox jumps over the lazy dog"
+layer at (181,109) size 178x19 scrollWidth 289
+  RenderBlock {DIV} at (2,3) size 178x19
+    RenderText {#text} at (1,0) size 287x18
+      text run at (1,0) width 287: "A quick brown fox jumps over the lazy dog"
+layer at (181,141) size 158x19 scrollWidth 289
+  RenderBlock {DIV} at (0,5) size 158x19
+    RenderText {#text} at (1,0) size 287x18
+      text run at (1,0) width 287: "A quick brown fox jumps over the lazy dog"
+layer at (181,168) size 200x20 scrollWidth 308
+  RenderBlock {DIV} at (2,3) size 200x20
+    RenderText {#text} at (1,0) size 306x19
+      text run at (1,0) width 306: "A quick brown fox jumps over the lazy dog"
+layer at (181,201) size 179x20 scrollWidth 308
+  RenderBlock {DIV} at (0,6) size 179x20
+    RenderText {#text} at (1,0) size 306x19
+      text run at (1,0) width 306: "A quick brown fox jumps over the lazy dog"
+layer at (181,229) size 202x22 scrollWidth 335
+  RenderBlock {DIV} at (2,3) size 202x22
+    RenderText {#text} at (1,0) size 333x21
+      text run at (1,0) width 333: "A quick brown fox jumps over the lazy dog"
+layer at (181,263) size 180x22 scrollWidth 335
+  RenderBlock {DIV} at (0,5) size 180x22
+    RenderText {#text} at (1,0) size 333x21
+      text run at (1,0) width 333: "A quick brown fox jumps over the lazy dog"
+layer at (181,293) size 205x23 scrollWidth 355
+  RenderBlock {DIV} at (2,3) size 205x23
+    RenderText {#text} at (1,0) size 353x22
+      text run at (1,0) width 353: "A quick brown fox jumps over the lazy dog"
+layer at (181,328) size 182x23 scrollWidth 355
+  RenderBlock {DIV} at (0,5) size 182x23
+    RenderText {#text} at (1,0) size 353x22
+      text run at (1,0) width 353: "A quick brown fox jumps over the lazy dog"
+layer at (398,62) size 227x24 scrollWidth 371
+  RenderBlock {DIV} at (2,3) size 227x24
+    RenderText {#text} at (1,0) size 369x23
+      text run at (1,0) width 369: "A quick brown fox jumps over the lazy dog"
+layer at (398,99) size 202x24 scrollWidth 371
+  RenderBlock {DIV} at (0,6) size 202x24
+    RenderText {#text} at (1,0) size 369x23
+      text run at (1,0) width 369: "A quick brown fox jumps over the lazy dog"
+layer at (398,131) size 230x25 scrollWidth 389
+  RenderBlock {DIV} at (2,3) size 230x25
+    RenderText {#text} at (1,0) size 387x24
+      text run at (1,0) width 387: "A quick brown fox jumps over the lazy dog"
+layer at (398,173) size 204x25 scrollWidth 389
+  RenderBlock {DIV} at (0,7) size 204x25
+    RenderText {#text} at (1,0) size 387x24
+      text run at (1,0) width 387: "A quick brown fox jumps over the lazy dog"
+layer at (398,202) size 251x26 scrollWidth 405
+  RenderBlock {DIV} at (2,3) size 251x26
+    RenderText {#text} at (1,0) size 403x25
+      text run at (1,0) width 403: "A quick brown fox jumps over the lazy dog"
+layer at (398,245) size 224x26 scrollWidth 405
+  RenderBlock {DIV} at (0,7) size 224x26
+    RenderText {#text} at (1,0) size 403x25
+      text run at (1,0) width 403: "A quick brown fox jumps over the lazy dog"
+layer at (398,275) size 254x27 scrollWidth 418
+  RenderBlock {DIV} at (2,3) size 254x27
+    RenderText {#text} at (1,0) size 416x26
+      text run at (1,0) width 416: "A quick brown fox jumps over the lazy dog"
+layer at (398,319) size 226x27 scrollWidth 418
+  RenderBlock {DIV} at (0,7) size 226x27
+    RenderText {#text} at (1,0) size 416x26
+      text run at (1,0) width 416: "A quick brown fox jumps over the lazy dog"
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.checksum b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.checksum
new file mode 100644
index 0000000..d4c3793
--- /dev/null
+++ b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.checksum
@@ -0,0 +1 @@
+64cfff17cb80d10bb02f9e37faa3c1cd
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png
new file mode 100644
index 0000000..6eccb96
Binary files /dev/null and b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png differ
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.txt b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.txt
new file mode 100644
index 0000000..43fca71
--- /dev/null
+++ b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.txt
@@ -0,0 +1,291 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 422x18
+          text run at (0,0) width 422: "Test appearances of input-speech-button in <input type='number'>."
+      RenderBlock {DIV} at (0,34) size 784x0
+      RenderBlock {DIV} at (0,34) size 784x311
+        RenderTable {TABLE} at (0,0) size 616x311
+          RenderTableSection {TBODY} at (0,0) size 616x311
+            RenderTableRow {TR} at (0,2) size 616x307
+              RenderTableCell {TD} at (2,2) size 156x307 [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 154x305
+                  RenderTextControl {INPUT} at (0,0) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (80,2) size 0x12
+                    RenderBlock {DIV} at (84,1) size 13x15
+                  RenderBR {BR} at (100,11) size 0x0
+                  RenderTextControl {INPUT} at (0,16) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 94x12
+                      RenderBlock {DIV} at (66,0) size 10x10
+                    RenderBlock {DIV} at (84,1) size 13x15
+                  RenderBR {BR} at (100,32) size 0x0
+                  RenderTextControl {INPUT} at (0,32) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (82,2) size 0x13
+                    RenderBlock {DIV} at (86,1) size 13x15
+                  RenderBR {BR} at (102,44) size 0x0
+                  RenderTextControl {INPUT} at (0,49) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (67,0) size 11x11
+                    RenderBlock {DIV} at (86,1) size 13x15
+                  RenderBR {BR} at (102,66) size 0x0
+                  RenderTextControl {INPUT} at (0,66) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (84,2) size 0x14
+                    RenderBlock {DIV} at (88,2) size 13x15
+                  RenderBR {BR} at (104,79) size 0x0
+                  RenderTextControl {INPUT} at (0,84) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 98x14
+                      RenderBlock {DIV} at (68,0) size 12x12
+                    RenderBlock {DIV} at (88,2) size 13x15
+                  RenderBR {BR} at (104,102) size 0x0
+                  RenderTextControl {INPUT} at (2,104) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (105,2) size 0x15
+                    RenderBlock {DIV} at (109,2) size 13x15
+                  RenderBR {BR} at (129,118) size 0x0
+                  RenderTextControl {INPUT} at (2,127) size 125x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 119x16
+                      RenderBlock {DIV} at (87,0) size 14x14
+                    RenderBlock {DIV} at (109,3) size 13x15
+                  RenderBR {BR} at (129,149) size 0x0
+                  RenderTextControl {INPUT} at (2,151) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (107,2) size 0x17
+                    RenderBlock {DIV} at (111,3) size 13x15
+                  RenderBR {BR} at (131,166) size 0x0
+                  RenderTextControl {INPUT} at (2,176) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 121x18
+                      RenderBlock {DIV} at (88,0) size 15x15
+                    RenderBlock {DIV} at (111,3) size 13x15
+                  RenderBR {BR} at (131,199) size 0x0
+                  RenderTextControl {INPUT} at (2,201) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (126,2) size 0x18
+                    RenderBlock {DIV} at (130,0) size 15x22
+                  RenderBR {BR} at (152,217) size 0x0
+                  RenderTextControl {INPUT} at (2,227) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (106,0) size 16x16
+                    RenderBlock {DIV} at (130,0) size 15x22
+                  RenderBR {BR} at (152,251) size 0x0
+                  RenderTextControl {INPUT} at (2,253) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (128,2) size 0x19
+                    RenderBlock {DIV} at (132,1) size 15x22
+                  RenderBR {BR} at (154,270) size 0x0
+                  RenderTextControl {INPUT} at (2,280) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 144x20
+                      RenderBlock {DIV} at (107,0) size 17x17
+                    RenderBlock {DIV} at (132,1) size 15x22
+                  RenderBR {BR} at (154,305) size 0x0
+              RenderTableCell {TD} at (160,3) size 203x305 [r=0 c=1 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 201x303
+                  RenderTextControl {INPUT} at (2,2) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (148,2) size 0x20
+                    RenderBlock {DIV} at (152,1) size 15x22
+                  RenderBR {BR} at (174,20) size 0x0
+                  RenderTextControl {INPUT} at (2,30) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 164x21
+                      RenderBlock {DIV} at (126,0) size 18x18
+                    RenderBlock {DIV} at (152,1) size 15x22
+                  RenderBR {BR} at (174,56) size 0x0
+                  RenderTextControl {INPUT} at (2,58) size 172x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (150,2) size 0x20
+                    RenderBlock {DIV} at (154,1) size 15x22
+                  RenderBR {BR} at (176,76) size 0x0
+                  RenderTextControl {INPUT} at (2,86) size 172x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 166x23
+                      RenderBlock {DIV} at (126,0) size 20x20
+                    RenderBlock {DIV} at (154,2) size 15x22
+                  RenderBR {BR} at (176,114) size 0x0
+                  RenderTextControl {INPUT} at (2,116) size 174x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (152,2) size 0x22
+                    RenderBlock {DIV} at (156,2) size 15x22
+                  RenderBR {BR} at (178,135) size 0x0
+                  RenderTextControl {INPUT} at (2,146) size 174x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 168x25
+                      RenderBlock {DIV} at (127,0) size 21x21
+                    RenderBlock {DIV} at (156,3) size 15x22
+                  RenderBR {BR} at (178,175) size 0x0
+                  RenderTextControl {INPUT} at (2,177) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (169,2) size 0x23
+                    RenderBlock {DIV} at (173,0) size 19x27
+                  RenderBR {BR} at (199,197) size 0x0
+                  RenderTextControl {INPUT} at (2,208) size 195x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 189x26
+                      RenderBlock {DIV} at (143,0) size 22x22
+                    RenderBlock {DIV} at (173,1) size 19x27
+                  RenderBR {BR} at (199,238) size 0x0
+                  RenderTextControl {INPUT} at (2,240) size 197x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (171,2) size 0x24
+                    RenderBlock {DIV} at (175,1) size 19x27
+                  RenderBR {BR} at (201,261) size 0x0
+                  RenderTextControl {INPUT} at (2,272) size 197x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 191x27
+                      RenderBlock {DIV} at (144,0) size 23x23
+                    RenderBlock {DIV} at (175,1) size 19x27
+                  RenderBR {BR} at (201,303) size 0x0
+              RenderTableCell {TD} at (365,11) size 249x288 [r=0 c=2 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 247x286
+                  RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (192,2) size 0x25
+                    RenderBlock {DIV} at (196,1) size 19x27
+                  RenderBR {BR} at (222,24) size 0x0
+                  RenderTextControl {INPUT} at (2,35) size 218x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 212x29
+                      RenderBlock {DIV} at (163,0) size 25x25
+                    RenderBlock {DIV} at (196,2) size 19x27
+                  RenderBR {BR} at (222,68) size 0x0
+                  RenderTextControl {INPUT} at (2,70) size 220x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (194,2) size 0x26
+                    RenderBlock {DIV} at (198,2) size 19x27
+                  RenderBR {BR} at (224,93) size 0x0
+                  RenderTextControl {INPUT} at (2,104) size 220x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 214x30
+                      RenderBlock {DIV} at (164,0) size 26x26
+                    RenderBlock {DIV} at (198,3) size 19x27
+                  RenderBR {BR} at (224,138) size 0x0
+                  RenderTextControl {INPUT} at (2,140) size 241x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (215,2) size 0x28
+                    RenderBlock {DIV} at (219,3) size 19x27
+                  RenderBR {BR} at (245,164) size 0x0
+                  RenderTextControl {INPUT} at (2,176) size 241x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 235x32
+                      RenderBlock {DIV} at (184,0) size 27x27
+                    RenderBlock {DIV} at (219,3) size 19x27
+                  RenderBR {BR} at (245,211) size 0x0
+                  RenderTextControl {INPUT} at (2,213) size 243x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (217,2) size 0x29
+                    RenderBlock {DIV} at (221,3) size 19x27
+                  RenderBR {BR} at (247,238) size 0x0
+                  RenderTextControl {INPUT} at (2,250) size 243x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 237x33
+                      RenderBlock {DIV} at (185,0) size 28x28
+                    RenderBlock {DIV} at (221,4) size 19x27
+                  RenderBR {BR} at (247,286) size 0x0
+layer at (14,48) size 76x10 scrollWidth 154
+  RenderBlock {DIV} at (3,3) size 76x10
+    RenderText {#text} at (1,0) size 152x10
+      text run at (1,0) width 152: "012345678901234567890123456789"
+layer at (14,65) size 66x10 scrollWidth 154
+  RenderBlock {DIV} at (0,2) size 66x10
+    RenderText {#text} at (1,0) size 152x10
+      text run at (1,0) width 152: "012345678901234567890123456789"
+layer at (14,80) size 78x11 scrollWidth 173
+  RenderBlock {DIV} at (3,3) size 78x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (14,98) size 67x11 scrollWidth 173
+  RenderBlock {DIV} at (0,2) size 67x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (14,114) size 80x12 scrollWidth 192
+  RenderBlock {DIV} at (3,3) size 80x12
+    RenderText {#text} at (1,0) size 190x12
+      text run at (1,0) width 190: "012345678901234567890123456789"
+layer at (14,133) size 68x12 scrollWidth 192
+  RenderBlock {DIV} at (0,2) size 68x12
+    RenderText {#text} at (1,0) size 190x12
+      text run at (1,0) width 190: "012345678901234567890123456789"
+layer at (16,152) size 101x13 scrollWidth 211
+  RenderBlock {DIV} at (3,3) size 101x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (16,177) size 87x13 scrollWidth 211
+  RenderBlock {DIV} at (0,3) size 87x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (16,199) size 103x15 scrollWidth 230
+  RenderBlock {DIV} at (3,3) size 103x15
+    RenderText {#text} at (1,0) size 228x15
+      text run at (1,0) width 228: "012345678901234567890123456789"
+layer at (16,225) size 88x15 scrollWidth 230
+  RenderBlock {DIV} at (0,3) size 88x15
+    RenderText {#text} at (1,0) size 228x15
+      text run at (1,0) width 228: "012345678901234567890123456789"
+layer at (16,249) size 122x16 scrollWidth 249
+  RenderBlock {DIV} at (3,3) size 122x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (16,276) size 106x16 scrollWidth 249
+  RenderBlock {DIV} at (0,3) size 106x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (16,301) size 124x17 scrollWidth 268
+  RenderBlock {DIV} at (3,3) size 124x17
+    RenderText {#text} at (1,0) size 266x17
+      text run at (1,0) width 266: "012345678901234567890123456789"
+layer at (16,329) size 107x17 scrollWidth 268
+  RenderBlock {DIV} at (0,3) size 107x17
+    RenderText {#text} at (1,0) size 266x17
+      text run at (1,0) width 266: "012345678901234567890123456789"
+layer at (174,51) size 144x18 scrollWidth 287
+  RenderBlock {DIV} at (3,3) size 144x18
+    RenderText {#text} at (1,0) size 285x18
+      text run at (1,0) width 285: "012345678901234567890123456789"
+layer at (174,80) size 126x18 scrollWidth 287
+  RenderBlock {DIV} at (0,3) size 126x18
+    RenderText {#text} at (1,0) size 285x18
+      text run at (1,0) width 285: "012345678901234567890123456789"
+layer at (174,107) size 146x18 scrollWidth 306
+  RenderBlock {DIV} at (3,3) size 146x18
+    RenderText {#text} at (1,0) size 304x18
+      text run at (1,0) width 304: "012345678901234567890123456789"
+layer at (174,138) size 126x18 scrollWidth 306
+  RenderBlock {DIV} at (0,5) size 126x18
+    RenderText {#text} at (1,0) size 304x18
+      text run at (1,0) width 304: "012345678901234567890123456789"
+layer at (174,165) size 148x20 scrollWidth 325
+  RenderBlock {DIV} at (3,3) size 148x20
+    RenderText {#text} at (1,0) size 323x20
+      text run at (1,0) width 323: "012345678901234567890123456789"
+layer at (174,198) size 127x20 scrollWidth 325
+  RenderBlock {DIV} at (0,5) size 127x20
+    RenderText {#text} at (1,0) size 323x20
+      text run at (1,0) width 323: "012345678901234567890123456789"
+layer at (174,226) size 165x21 scrollWidth 344
+  RenderBlock {DIV} at (3,3) size 165x21
+    RenderText {#text} at (1,0) size 342x21
+      text run at (1,0) width 342: "012345678901234567890123456789"
+layer at (174,260) size 143x21 scrollWidth 344
+  RenderBlock {DIV} at (0,5) size 143x21
+    RenderText {#text} at (1,0) size 342x21
+      text run at (1,0) width 342: "012345678901234567890123456789"
+layer at (174,289) size 167x22 scrollWidth 363
+  RenderBlock {DIV} at (3,3) size 167x22
+    RenderText {#text} at (1,0) size 361x22
+      text run at (1,0) width 361: "012345678901234567890123456789"
+layer at (174,324) size 144x22 scrollWidth 363
+  RenderBlock {DIV} at (0,5) size 144x22
+    RenderText {#text} at (1,0) size 361x22
+      text run at (1,0) width 361: "012345678901234567890123456789"
+layer at (379,59) size 188x23 scrollWidth 382
+  RenderBlock {DIV} at (3,3) size 188x23
+    RenderText {#text} at (1,0) size 380x23
+      text run at (1,0) width 380: "012345678901234567890123456789"
+layer at (379,96) size 163x23 scrollWidth 382
+  RenderBlock {DIV} at (0,6) size 163x23
+    RenderText {#text} at (1,0) size 380x23
+      text run at (1,0) width 380: "012345678901234567890123456789"
+layer at (379,127) size 190x24 scrollWidth 401
+  RenderBlock {DIV} at (3,3) size 190x24
+    RenderText {#text} at (1,0) size 399x24
+      text run at (1,0) width 399: "012345678901234567890123456789"
+layer at (379,165) size 164x24 scrollWidth 401
+  RenderBlock {DIV} at (0,6) size 164x24
+    RenderText {#text} at (1,0) size 399x24
+      text run at (1,0) width 399: "012345678901234567890123456789"
+layer at (379,197) size 211x26 scrollWidth 420
+  RenderBlock {DIV} at (3,3) size 211x26
+    RenderText {#text} at (1,0) size 418x26
+      text run at (1,0) width 418: "012345678901234567890123456789"
+layer at (379,236) size 184x26 scrollWidth 420
+  RenderBlock {DIV} at (0,6) size 184x26
+    RenderText {#text} at (1,0) size 418x26
+      text run at (1,0) width 418: "012345678901234567890123456789"
+layer at (379,270) size 213x27 scrollWidth 439
+  RenderBlock {DIV} at (3,3) size 213x27
+    RenderText {#text} at (1,0) size 437x27
+      text run at (1,0) width 437: "012345678901234567890123456789"
+layer at (379,310) size 185x27 scrollWidth 439
+  RenderBlock {DIV} at (0,6) size 185x27
+    RenderText {#text} at (1,0) size 437x27
+      text run at (1,0) width 437: "012345678901234567890123456789"
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.checksum b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.checksum
new file mode 100644
index 0000000..2bc871a
--- /dev/null
+++ b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.checksum
@@ -0,0 +1 @@
+6e2b02644918cd2e44cdd3cc1ce9e16c
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.png b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.png
new file mode 100644
index 0000000..ab8ac3e
Binary files /dev/null and b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.png differ
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.txt b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.txt
new file mode 100644
index 0000000..870c949
--- /dev/null
+++ b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-searchandspeech-expected.txt
@@ -0,0 +1,451 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 414x18
+          text run at (0,0) width 414: "Test appearances of input-speech-button in <input type='search'>."
+      RenderBlock {DIV} at (0,34) size 784x0
+      RenderBlock {DIV} at (0,34) size 784x435
+        RenderTable {TABLE} at (0,0) size 447x435
+          RenderTableSection {TBODY} at (0,0) size 447x435
+            RenderTableRow {TR} at (0,2) size 447x431
+              RenderTableCell {TD} at (2,2) size 131x431 [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 129x429
+                  RenderTextControl {INPUT} at (0,0) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (0,2) size 8x9
+                      RenderBlock {DIV} at (72,2) size 13x9
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,13) size 0x0
+                  RenderTextControl {INPUT} at (0,17) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 96x11
+                      RenderBlock {DIV} at (0,0) size 8x9
+                      RenderBlock {DIV} at (83,0) size 13x9
+                  RenderBR {BR} at (102,29) size 0x0
+                  RenderTextControl {INPUT} at (0,34) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (0,2) size 8x9
+                      RenderBlock {DIV} at (72,2) size 13x9
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,47) size 0x0
+                  RenderTextControl {INPUT} at (0,51) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (0,2) size 8x9
+                      RenderBlock {DIV} at (72,2) size 13x9
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,64) size 0x0
+                  RenderTextControl {INPUT} at (0,68) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 96x11
+                      RenderBlock {DIV} at (0,0) size 8x9
+                      RenderBlock {DIV} at (83,0) size 13x9
+                  RenderBR {BR} at (102,80) size 0x0
+                  RenderTextControl {INPUT} at (0,85) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (0,2) size 8x9
+                      RenderBlock {DIV} at (72,2) size 13x9
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,98) size 0x0
+                  RenderTextControl {INPUT} at (0,102) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (0,2) size 8x9
+                      RenderBlock {DIV} at (72,2) size 13x9
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,115) size 0x0
+                  RenderTextControl {INPUT} at (0,119) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 96x11
+                      RenderBlock {DIV} at (0,0) size 8x9
+                      RenderBlock {DIV} at (83,0) size 13x9
+                  RenderBR {BR} at (102,131) size 0x0
+                  RenderTextControl {INPUT} at (0,136) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (0,2) size 8x9
+                      RenderBlock {DIV} at (72,2) size 13x9
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,149) size 0x0
+                  RenderTextControl {INPUT} at (2,155) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,170) size 0x0
+                  RenderTextControl {INPUT} at (2,178) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 119x13
+                      RenderBlock {DIV} at (0,0) size 8x11
+                      RenderBlock {DIV} at (106,0) size 13x11
+                  RenderBR {BR} at (129,192) size 0x0
+                  RenderTextControl {INPUT} at (2,201) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,216) size 0x0
+                  RenderTextControl {INPUT} at (2,224) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,239) size 0x0
+                  RenderTextControl {INPUT} at (2,247) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 119x13
+                      RenderBlock {DIV} at (0,0) size 8x11
+                      RenderBlock {DIV} at (106,0) size 13x11
+                  RenderBR {BR} at (129,261) size 0x0
+                  RenderTextControl {INPUT} at (2,270) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,285) size 0x0
+                  RenderTextControl {INPUT} at (2,293) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,308) size 0x0
+                  RenderTextControl {INPUT} at (2,316) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 119x13
+                      RenderBlock {DIV} at (0,0) size 8x11
+                      RenderBlock {DIV} at (106,0) size 13x11
+                  RenderBR {BR} at (129,330) size 0x0
+                  RenderTextControl {INPUT} at (2,339) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,354) size 0x0
+                  RenderTextControl {INPUT} at (2,362) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,377) size 0x0
+                  RenderTextControl {INPUT} at (2,385) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 119x13
+                      RenderBlock {DIV} at (0,0) size 8x11
+                      RenderBlock {DIV} at (106,0) size 13x11
+                  RenderBR {BR} at (129,399) size 0x0
+                  RenderTextControl {INPUT} at (2,408) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,423) size 0x0
+              RenderTableCell {TD} at (135,26) size 154x383 [r=0 c=1 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 152x381
+                  RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,17) size 0x0
+                  RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 119x13
+                      RenderBlock {DIV} at (0,0) size 8x11
+                      RenderBlock {DIV} at (106,0) size 13x11
+                  RenderBR {BR} at (129,39) size 0x0
+                  RenderTextControl {INPUT} at (2,48) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 119x16
+                      RenderBlock {DIV} at (0,3) size 8x11
+                      RenderBlock {DIV} at (92,3) size 13x11
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,63) size 0x0
+                  RenderTextControl {INPUT} at (2,71) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,88) size 0x0
+                  RenderTextControl {INPUT} at (2,97) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,113) size 0x0
+                  RenderTextControl {INPUT} at (2,123) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,140) size 0x0
+                  RenderTextControl {INPUT} at (2,149) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,166) size 0x0
+                  RenderTextControl {INPUT} at (2,175) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,191) size 0x0
+                  RenderTextControl {INPUT} at (2,201) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,218) size 0x0
+                  RenderTextControl {INPUT} at (2,227) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,244) size 0x0
+                  RenderTextControl {INPUT} at (2,253) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,269) size 0x0
+                  RenderTextControl {INPUT} at (2,279) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,296) size 0x0
+                  RenderTextControl {INPUT} at (2,305) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,322) size 0x0
+                  RenderTextControl {INPUT} at (2,331) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,347) size 0x0
+                  RenderTextControl {INPUT} at (2,357) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,374) size 0x0
+              RenderTableCell {TD} at (291,60) size 154x314 [r=0 c=2 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 152x312
+                  RenderTextControl {INPUT} at (2,2) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,19) size 0x0
+                  RenderTextControl {INPUT} at (2,28) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,44) size 0x0
+                  RenderTextControl {INPUT} at (2,54) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,71) size 0x0
+                  RenderTextControl {INPUT} at (2,80) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,97) size 0x0
+                  RenderTextControl {INPUT} at (2,106) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,122) size 0x0
+                  RenderTextControl {INPUT} at (2,132) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,149) size 0x0
+                  RenderTextControl {INPUT} at (2,158) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,175) size 0x0
+                  RenderTextControl {INPUT} at (2,184) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,200) size 0x0
+                  RenderTextControl {INPUT} at (2,210) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,227) size 0x0
+                  RenderTextControl {INPUT} at (2,236) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,253) size 0x0
+                  RenderTextControl {INPUT} at (2,262) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,3) size 142x16
+                      RenderBlock {DIV} at (0,0) size 10x13
+                      RenderBlock {DIV} at (126,0) size 16x13
+                  RenderBR {BR} at (152,278) size 0x0
+                  RenderTextControl {INPUT} at (2,288) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (0,3) size 10x13
+                      RenderBlock {DIV} at (110,3) size 16x13
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,305) size 0x0
+layer at (22,49) size 64x11
+  RenderBlock {DIV} at (8,2) size 64x11
+layer at (22,65) size 75x11 scrollWidth 173
+  RenderBlock {DIV} at (8,0) size 75x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (22,83) size 64x11 scrollWidth 173
+  RenderBlock {DIV} at (8,2) size 64x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (22,100) size 64x11
+  RenderBlock {DIV} at (8,2) size 64x11
+layer at (22,116) size 75x11 scrollWidth 173
+  RenderBlock {DIV} at (8,0) size 75x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (22,134) size 64x11 scrollWidth 173
+  RenderBlock {DIV} at (8,2) size 64x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (22,151) size 64x11
+  RenderBlock {DIV} at (8,2) size 64x11
+layer at (22,167) size 75x11 scrollWidth 173
+  RenderBlock {DIV} at (8,0) size 75x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (22,185) size 64x11 scrollWidth 173
+  RenderBlock {DIV} at (8,2) size 64x11
+    RenderText {#text} at (1,0) size 171x11
+      text run at (1,0) width 171: "012345678901234567890123456789"
+layer at (24,204) size 84x13
+  RenderBlock {DIV} at (8,3) size 84x13
+layer at (24,226) size 98x13 scrollWidth 211
+  RenderBlock {DIV} at (8,0) size 98x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,250) size 84x13 scrollWidth 211
+  RenderBlock {DIV} at (8,3) size 84x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,273) size 84x13
+  RenderBlock {DIV} at (8,3) size 84x13
+layer at (24,295) size 98x13 scrollWidth 211
+  RenderBlock {DIV} at (8,0) size 98x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,319) size 84x13 scrollWidth 211
+  RenderBlock {DIV} at (8,3) size 84x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,342) size 84x13
+  RenderBlock {DIV} at (8,3) size 84x13
+layer at (24,364) size 98x13 scrollWidth 211
+  RenderBlock {DIV} at (8,0) size 98x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,388) size 84x13 scrollWidth 211
+  RenderBlock {DIV} at (8,3) size 84x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,411) size 84x13
+  RenderBlock {DIV} at (8,3) size 84x13
+layer at (24,433) size 98x13 scrollWidth 211
+  RenderBlock {DIV} at (8,0) size 98x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (24,457) size 84x13 scrollWidth 211
+  RenderBlock {DIV} at (8,3) size 84x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (157,75) size 84x13
+  RenderBlock {DIV} at (8,3) size 84x13
+layer at (157,97) size 98x13 scrollWidth 211
+  RenderBlock {DIV} at (8,0) size 98x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (157,121) size 84x13 scrollWidth 211
+  RenderBlock {DIV} at (8,3) size 84x13
+    RenderText {#text} at (1,0) size 209x13
+      text run at (1,0) width 209: "012345678901234567890123456789"
+layer at (159,144) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (159,169) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,196) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,222) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (159,247) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,274) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,300) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (159,325) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,352) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,378) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (159,403) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (159,430) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,109) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (315,134) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,161) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,187) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (315,212) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,239) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,265) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (315,290) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,317) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,343) size 100x16
+  RenderBlock {DIV} at (10,3) size 100x16
+layer at (315,368) size 116x16 scrollWidth 249
+  RenderBlock {DIV} at (10,0) size 116x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
+layer at (315,395) size 100x16 scrollWidth 249
+  RenderBlock {DIV} at (10,3) size 100x16
+    RenderText {#text} at (1,0) size 247x16
+      text run at (1,0) width 247: "012345678901234567890123456789"
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.checksum b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.checksum
new file mode 100644
index 0000000..6290b76
--- /dev/null
+++ b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.checksum
@@ -0,0 +1 @@
+1075a63509fbd803440cb25e09eaca52
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png
new file mode 100644
index 0000000..4079232
Binary files /dev/null and b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png differ
diff --git a/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.txt b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.txt
new file mode 100644
index 0000000..bade900
--- /dev/null
+++ b/LayoutTests/platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.txt
@@ -0,0 +1,243 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 258x18
+          text run at (0,0) width 258: "Test appearances of input-speech-button."
+      RenderBlock {DIV} at (0,34) size 784x0
+      RenderBlock {DIV} at (0,34) size 784x311
+        RenderTable {TABLE} at (0,0) size 616x311
+          RenderTableSection {TBODY} at (0,0) size 616x311
+            RenderTableRow {TR} at (0,2) size 616x307
+              RenderTableCell {TD} at (2,2) size 156x307 [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 154x305
+                  RenderTextControl {INPUT} at (0,0) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (100,11) size 0x0
+                  RenderTextControl {INPUT} at (0,16) size 100x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 94x12
+                      RenderBlock {DIV} at (84,0) size 10x10
+                  RenderBR {BR} at (100,28) size 0x0
+                  RenderTextControl {INPUT} at (0,32) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (102,44) size 0x0
+                  RenderTextControl {INPUT} at (0,49) size 102x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 96x13
+                      RenderBlock {DIV} at (85,0) size 11x11
+                  RenderBR {BR} at (102,62) size 0x0
+                  RenderTextControl {INPUT} at (0,66) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (104,79) size 0x0
+                  RenderTextControl {INPUT} at (0,84) size 104x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 98x14
+                      RenderBlock {DIV} at (86,0) size 12x12
+                  RenderBR {BR} at (104,98) size 0x0
+                  RenderTextControl {INPUT} at (2,104) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (129,118) size 0x0
+                  RenderTextControl {INPUT} at (2,127) size 125x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,2) size 119x16
+                      RenderBlock {DIV} at (105,0) size 14x14
+                  RenderBR {BR} at (129,143) size 0x0
+                  RenderTextControl {INPUT} at (2,151) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (131,166) size 0x0
+                  RenderTextControl {INPUT} at (2,176) size 127x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 121x18
+                      RenderBlock {DIV} at (106,0) size 15x15
+                  RenderBR {BR} at (131,192) size 0x0
+                  RenderTextControl {INPUT} at (2,201) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (152,217) size 0x0
+                  RenderTextControl {INPUT} at (2,227) size 148x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 142x19
+                      RenderBlock {DIV} at (126,0) size 16x16
+                  RenderBR {BR} at (152,244) size 0x0
+                  RenderTextControl {INPUT} at (2,253) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (154,270) size 0x0
+                  RenderTextControl {INPUT} at (2,280) size 150x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 144x20
+                      RenderBlock {DIV} at (127,0) size 17x17
+                  RenderBR {BR} at (154,298) size 0x0
+              RenderTableCell {TD} at (160,3) size 203x305 [r=0 c=1 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 201x303
+                  RenderTextControl {INPUT} at (2,2) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (174,20) size 0x0
+                  RenderTextControl {INPUT} at (2,30) size 170x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 164x21
+                      RenderBlock {DIV} at (146,0) size 18x18
+                  RenderBR {BR} at (174,49) size 0x0
+                  RenderTextControl {INPUT} at (2,58) size 172x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (176,76) size 0x0
+                  RenderTextControl {INPUT} at (2,86) size 172x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 166x23
+                      RenderBlock {DIV} at (146,0) size 20x20
+                  RenderBR {BR} at (176,107) size 0x0
+                  RenderTextControl {INPUT} at (2,116) size 174x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (178,135) size 0x0
+                  RenderTextControl {INPUT} at (2,146) size 174x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 168x25
+                      RenderBlock {DIV} at (147,0) size 21x21
+                  RenderBR {BR} at (178,168) size 0x0
+                  RenderTextControl {INPUT} at (2,177) size 195x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (199,197) size 0x0
+                  RenderTextControl {INPUT} at (2,208) size 195x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 189x26
+                      RenderBlock {DIV} at (167,0) size 22x22
+                  RenderBR {BR} at (199,231) size 0x0
+                  RenderTextControl {INPUT} at (2,240) size 197x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (201,261) size 0x0
+                  RenderTextControl {INPUT} at (2,272) size 197x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 191x27
+                      RenderBlock {DIV} at (168,0) size 23x23
+                  RenderBR {BR} at (201,296) size 0x0
+              RenderTableCell {TD} at (365,11) size 249x288 [r=0 c=2 rs=1 cs=1]
+                RenderBlock {DIV} at (1,1) size 247x286
+                  RenderTextControl {INPUT} at (2,2) size 218x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (222,24) size 0x0
+                  RenderTextControl {INPUT} at (2,35) size 218x31 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 212x29
+                      RenderBlock {DIV} at (187,0) size 25x25
+                  RenderBR {BR} at (222,61) size 0x0
+                  RenderTextControl {INPUT} at (2,70) size 220x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (224,93) size 0x0
+                  RenderTextControl {INPUT} at (2,104) size 220x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,1) size 214x30
+                      RenderBlock {DIV} at (188,0) size 26x26
+                  RenderBR {BR} at (224,131) size 0x0
+                  RenderTextControl {INPUT} at (2,140) size 241x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (245,164) size 0x0
+                  RenderTextControl {INPUT} at (2,176) size 241x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 235x32
+                      RenderBlock {DIV} at (208,0) size 27x27
+                  RenderBR {BR} at (245,203) size 0x0
+                  RenderTextControl {INPUT} at (2,213) size 243x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (247,238) size 0x0
+                  RenderTextControl {INPUT} at (2,250) size 243x34 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                    RenderBlock {DIV} at (3,0) size 237x33
+                      RenderBlock {DIV} at (209,0) size 28x28
+                  RenderBR {BR} at (247,278) size 0x0
+layer at (14,48) size 94x10 scrollWidth 177
+  RenderBlock {DIV} at (3,3) size 94x10
+    RenderText {#text} at (1,0) size 175x10
+      text run at (1,0) width 175: "A quick brown fox jumps over the lazy dog"
+layer at (14,65) size 84x10 scrollWidth 177
+  RenderBlock {DIV} at (0,2) size 84x10
+    RenderText {#text} at (1,0) size 175x10
+      text run at (1,0) width 175: "A quick brown fox jumps over the lazy dog"
+layer at (14,80) size 96x11 scrollWidth 195
+  RenderBlock {DIV} at (3,3) size 96x11
+    RenderText {#text} at (1,0) size 193x11
+      text run at (1,0) width 193: "A quick brown fox jumps over the lazy dog"
+layer at (14,98) size 85x11 scrollWidth 195
+  RenderBlock {DIV} at (0,2) size 85x11
+    RenderText {#text} at (1,0) size 193x11
+      text run at (1,0) width 193: "A quick brown fox jumps over the lazy dog"
+layer at (14,114) size 98x12 scrollWidth 213
+  RenderBlock {DIV} at (3,3) size 98x12
+    RenderText {#text} at (1,0) size 211x12
+      text run at (1,0) width 211: "A quick brown fox jumps over the lazy dog"
+layer at (14,133) size 86x12 scrollWidth 213
+  RenderBlock {DIV} at (0,2) size 86x12
+    RenderText {#text} at (1,0) size 211x12
+      text run at (1,0) width 211: "A quick brown fox jumps over the lazy dog"
+layer at (16,152) size 119x13 scrollWidth 233
+  RenderBlock {DIV} at (3,3) size 119x13
+    RenderText {#text} at (1,0) size 231x13
+      text run at (1,0) width 231: "A quick brown fox jumps over the lazy dog"
+layer at (16,177) size 105x13 scrollWidth 233
+  RenderBlock {DIV} at (0,3) size 105x13
+    RenderText {#text} at (1,0) size 231x13
+      text run at (1,0) width 231: "A quick brown fox jumps over the lazy dog"
+layer at (16,199) size 121x15 scrollWidth 260
+  RenderBlock {DIV} at (3,3) size 121x15
+    RenderText {#text} at (1,0) size 258x15
+      text run at (1,0) width 258: "A quick brown fox jumps over the lazy dog"
+layer at (16,225) size 106x15 scrollWidth 260
+  RenderBlock {DIV} at (0,3) size 106x15
+    RenderText {#text} at (1,0) size 258x15
+      text run at (1,0) width 258: "A quick brown fox jumps over the lazy dog"
+layer at (16,249) size 142x16 scrollWidth 278
+  RenderBlock {DIV} at (3,3) size 142x16
+    RenderText {#text} at (1,0) size 276x16
+      text run at (1,0) width 276: "A quick brown fox jumps over the lazy dog"
+layer at (16,276) size 126x16 scrollWidth 278
+  RenderBlock {DIV} at (0,3) size 126x16
+    RenderText {#text} at (1,0) size 276x16
+      text run at (1,0) width 276: "A quick brown fox jumps over the lazy dog"
+layer at (16,301) size 144x17 scrollWidth 296
+  RenderBlock {DIV} at (3,3) size 144x17
+    RenderText {#text} at (1,0) size 294x17
+      text run at (1,0) width 294: "A quick brown fox jumps over the lazy dog"
+layer at (16,329) size 127x17 scrollWidth 296
+  RenderBlock {DIV} at (0,3) size 127x17
+    RenderText {#text} at (1,0) size 294x17
+      text run at (1,0) width 294: "A quick brown fox jumps over the lazy dog"
+layer at (174,51) size 164x18 scrollWidth 323
+  RenderBlock {DIV} at (3,3) size 164x18
+    RenderText {#text} at (1,0) size 321x18
+      text run at (1,0) width 321: "A quick brown fox jumps over the lazy dog"
+layer at (174,80) size 146x18 scrollWidth 323
+  RenderBlock {DIV} at (0,3) size 146x18
+    RenderText {#text} at (1,0) size 321x18
+      text run at (1,0) width 321: "A quick brown fox jumps over the lazy dog"
+layer at (174,107) size 166x18 scrollWidth 340
+  RenderBlock {DIV} at (3,3) size 166x18
+    RenderText {#text} at (1,0) size 338x18
+      text run at (1,0) width 338: "A quick brown fox jumps over the lazy dog"
+layer at (174,138) size 146x18 scrollWidth 340
+  RenderBlock {DIV} at (0,5) size 146x18
+    RenderText {#text} at (1,0) size 338x18
+      text run at (1,0) width 338: "A quick brown fox jumps over the lazy dog"
+layer at (174,165) size 168x20 scrollWidth 358
+  RenderBlock {DIV} at (3,3) size 168x20
+    RenderText {#text} at (1,0) size 356x20
+      text run at (1,0) width 356: "A quick brown fox jumps over the lazy dog"
+layer at (174,198) size 147x20 scrollWidth 358
+  RenderBlock {DIV} at (0,5) size 147x20
+    RenderText {#text} at (1,0) size 356x20
+      text run at (1,0) width 356: "A quick brown fox jumps over the lazy dog"
+layer at (174,226) size 189x21 scrollWidth 384
+  RenderBlock {DIV} at (3,3) size 189x21
+    RenderText {#text} at (1,0) size 382x21
+      text run at (1,0) width 382: "A quick brown fox jumps over the lazy dog"
+layer at (174,260) size 167x21 scrollWidth 384
+  RenderBlock {DIV} at (0,5) size 167x21
+    RenderText {#text} at (1,0) size 382x21
+      text run at (1,0) width 382: "A quick brown fox jumps over the lazy dog"
+layer at (174,289) size 191x22 scrollWidth 404
+  RenderBlock {DIV} at (3,3) size 191x22
+    RenderText {#text} at (1,0) size 402x22
+      text run at (1,0) width 402: "A quick brown fox jumps over the lazy dog"
+layer at (174,324) size 168x22 scrollWidth 404
+  RenderBlock {DIV} at (0,5) size 168x22
+    RenderText {#text} at (1,0) size 402x22
+      text run at (1,0) width 402: "A quick brown fox jumps over the lazy dog"
+layer at (379,59) size 212x23 scrollWidth 421
+  RenderBlock {DIV} at (3,3) size 212x23
+    RenderText {#text} at (1,0) size 419x23
+      text run at (1,0) width 419: "A quick brown fox jumps over the lazy dog"
+layer at (379,96) size 187x23 scrollWidth 421
+  RenderBlock {DIV} at (0,6) size 187x23
+    RenderText {#text} at (1,0) size 419x23
+      text run at (1,0) width 419: "A quick brown fox jumps over the lazy dog"
+layer at (379,127) size 214x24 scrollWidth 449
+  RenderBlock {DIV} at (3,3) size 214x24
+    RenderText {#text} at (1,0) size 447x24
+      text run at (1,0) width 447: "A quick brown fox jumps over the lazy dog"
+layer at (379,165) size 188x24 scrollWidth 449
+  RenderBlock {DIV} at (0,6) size 188x24
+    RenderText {#text} at (1,0) size 447x24
+      text run at (1,0) width 447: "A quick brown fox jumps over the lazy dog"
+layer at (379,197) size 235x26 scrollWidth 468
+  RenderBlock {DIV} at (3,3) size 235x26
+    RenderText {#text} at (1,0) size 466x26
+      text run at (1,0) width 466: "A quick brown fox jumps over the lazy dog"
+layer at (379,236) size 208x26 scrollWidth 468
+  RenderBlock {DIV} at (0,6) size 208x26
+    RenderText {#text} at (1,0) size 466x26
+      text run at (1,0) width 466: "A quick brown fox jumps over the lazy dog"
+layer at (379,270) size 237x27 scrollWidth 485
+  RenderBlock {DIV} at (3,3) size 237x27
+    RenderText {#text} at (1,0) size 483x27
+      text run at (1,0) width 483: "A quick brown fox jumps over the lazy dog"
+layer at (379,310) size 209x27 scrollWidth 485
+  RenderBlock {DIV} at (0,6) size 209x27
+    RenderText {#text} at (1,0) size 483x27
+      text run at (1,0) width 483: "A quick brown fox jumps over the lazy dog"
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index 7a6be4b..3750618 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -2883,9 +2883,12 @@ BUGWK41311 WIN LINUX : fast/borders/borderRadiusDouble07.html = IMAGE
 BUGWK41311 WIN LINUX : fast/borders/borderRadiusDouble08.html = IMAGE
 BUGWK41311 WIN LINUX : fast/borders/borderRadiusDouble09.html = IMAGE
 
-// Speech input UI rendering is partially implemented and not matching the
-// expected images now, fixing shortly.
-BUG44844 SKIP: fast/speech = IMAGE+TEXT
+// Speech input UI expectations are not yet available for windows, so temporarily
+// disabled. Will add them it shortly.
+BUG44844 SKIP WIN: fast/speech = IMAGE+TEXT
+
+// This test uses <input type='number'> which is not yet ready on chromium-linux
+BUG44844 SKIP LINUX: fast/speech/input-appearance-numberandspeech.html = IMAGE+TEXT
 
 // v8 bindings for dataset need to be implemented.
 BUG48133 :  fast/dom/dataset-xhtml.xhtml = TEXT
diff --git a/LayoutTests/platform/mac/fast/forms/input-appearance-numberandspeech-expected.checksum b/LayoutTests/platform/mac/fast/forms/input-appearance-numberandspeech-expected.checksum
deleted file mode 100644
index 9b69a27..0000000
--- a/LayoutTests/platform/mac/fast/forms/input-appearance-numberandspeech-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-8b51398a672cdbc2c2f84be20645eb9e
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/forms/input-appearance-numberandspeech-expected.png b/LayoutTests/platform/mac/fast/forms/input-appearance-numberandspeech-expected.png
deleted file mode 100644
index ccdeaa4..0000000
Binary files a/LayoutTests/platform/mac/fast/forms/input-appearance-numberandspeech-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/fast/forms/input-appearance-speechbutton-expected.checksum b/LayoutTests/platform/mac/fast/forms/input-appearance-speechbutton-expected.checksum
deleted file mode 100644
index 2f0ed8c..0000000
--- a/LayoutTests/platform/mac/fast/forms/input-appearance-speechbutton-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-994f79479f0e0c270d0ec326cf5c8a35
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/forms/input-appearance-speechbutton-expected.png b/LayoutTests/platform/mac/fast/forms/input-appearance-speechbutton-expected.png
deleted file mode 100644
index 70795c9..0000000
Binary files a/LayoutTests/platform/mac/fast/forms/input-appearance-speechbutton-expected.png and /dev/null differ
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index fbc45fe..efdb297 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,30 @@
+2010-08-05  Satish Sampath  <satish at chromium.org>
+
+        Reviewed by Jeremy Orlow.
+
+        Fix rendering of speech button and enable layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=43425
+
+        Rewrote the speech button rendering code to match how the spin buttons (for input type=number)
+        are implemented as the previous implementation did not work well on many platforms.
+
+        * rendering/RenderTextControlSingleLine.cpp:
+        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
+        (WebCore::RenderTextControlSingleLine::layout):
+        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
+        (WebCore::RenderTextControlSingleLine::styleDidChange):
+        (WebCore::RenderTextControlSingleLine::hasControlClip):
+        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
+        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
+        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
+        * rendering/RenderTextControlSingleLine.h:
+        * rendering/TextControlInnerElements.cpp:
+        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
+        (WebCore::InputFieldSpeechButtonElement::create):
+        * rendering/TextControlInnerElements.h:
+
 2010-08-05  Andrey Kosyakov  <caseq at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebCore/rendering/RenderTextControlSingleLine.cpp b/WebCore/rendering/RenderTextControlSingleLine.cpp
index bcd3729..9fcacb6 100644
--- a/WebCore/rendering/RenderTextControlSingleLine.cpp
+++ b/WebCore/rendering/RenderTextControlSingleLine.cpp
@@ -74,6 +74,10 @@ RenderTextControlSingleLine::~RenderTextControlSingleLine()
         m_innerSpinButton->detach();
     if (m_outerSpinButton)
         m_outerSpinButton->detach();
+#if ENABLE(INPUT_SPEECH)
+    if (m_speechButton)
+        m_speechButton->detach();
+#endif
 }
 
 RenderStyle* RenderTextControlSingleLine::textBaseStyle() const
@@ -266,6 +270,22 @@ void RenderTextControlSingleLine::layout()
         spinBox->setHeight(height() - borderTop() - borderBottom());
     }
 
+#if ENABLE(INPUT_SPEECH)
+    if (RenderBox* button = m_speechButton ? m_speechButton->renderBox() : 0) {
+        if (m_innerBlock) {
+            // This is mostly the case where this is a search field. The speech button is a sibling
+            // of the inner block and laid out at the far right.
+            int x = width() - borderAndPaddingWidth() - button->width() - button->borderAndPaddingWidth();
+            int y = (height() - button->height()) / 2;
+            button->setLocation(x, y);
+        } else {
+            // For non-search fields which are simpler and we let the defaut layout handle things
+            // except for small tweaking below.
+            button->setLocation(button->x() + paddingRight(), (height() - button->height()) / 2);
+        }
+    }
+#endif
+
     // Center the spin button vertically, and move it to the right by
     // padding + border of the text fields.
     if (RenderBox* spinBox = m_outerSpinButton ? m_outerSpinButton->renderBox() : 0) {
@@ -301,13 +321,13 @@ bool RenderTextControlSingleLine::nodeAtPoint(const HitTestRequest& request, Hit
         return true;
     if (m_outerSpinButton && result.innerNode() == m_outerSpinButton)
         return true;
-    // If we're not a search field, or we already found the speech, results or cancel buttons, we're done.
-    if (!m_innerBlock || result.innerNode() == m_resultsButton || result.innerNode() == m_cancelButton)
-        return true;
 #if ENABLE(INPUT_SPEECH)
-    if (m_innerBlock && m_speechButton && result.innerNode() == m_speechButton)
+    if (m_speechButton && result.innerNode() == m_speechButton)
         return true;
 #endif
+    // If we're not a search field, or we already found the speech, results or cancel buttons, we're done.
+    if (!m_innerBlock || result.innerNode() == m_resultsButton || result.innerNode() == m_cancelButton)
+        return true;
 
     Node* innerNode = 0;
     RenderBox* innerBlockRenderer = m_innerBlock->renderBox();
@@ -320,19 +340,6 @@ bool RenderTextControlSingleLine::nodeAtPoint(const HitTestRequest& request, Hit
     if (m_resultsButton && m_resultsButton->renderer() && xPos < textLeft)
         innerNode = m_resultsButton.get();
 
-#if ENABLE(INPUT_SPEECH)
-    if (!innerNode && m_speechButton && m_speechButton->renderer()) {
-        int buttonLeft = textLeft + innerTextRenderer->width();
-        if (m_cancelButton) {
-            RenderBox* cancelRenderer = m_cancelButton->renderBox();
-            cancelRenderer->calcWidth();
-            buttonLeft += cancelRenderer->width() + cancelRenderer->marginLeft() + cancelRenderer->marginRight();
-        }
-        if (xPos > buttonLeft)
-            innerNode = m_speechButton.get();
-    }
-#endif
-
     if (!innerNode) {
         int textRight = textLeft + innerTextRenderer->width();
         if (m_cancelButton && m_cancelButton->renderer() && xPos > textRight)
@@ -414,7 +421,7 @@ void RenderTextControlSingleLine::styleDidChange(StyleDifference diff, const Ren
 
 #if ENABLE(INPUT_SPEECH)
     if (RenderObject* speechRenderer = m_speechButton ? m_speechButton->renderer() : 0)
-        speechRenderer->setStyle(createSpeechButtonStyle(style()));
+        speechRenderer->setStyle(createSpeechButtonStyle());
 #endif
 
     setHasOverflowClip(false);
@@ -447,10 +454,6 @@ void RenderTextControlSingleLine::capsLockStateMayHaveChanged()
 bool RenderTextControlSingleLine::hasControlClip() const
 {
     bool clip = m_cancelButton;
-#if ENABLE(INPUT_SPEECH)
-    if (m_speechButton)
-        clip = true;
-#endif
     return clip;
 }
 
@@ -592,29 +595,21 @@ void RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight(int lineH
         lineHeight = max(lineHeight, cancelRenderer->height());
     }
 
-#if ENABLE(INPUT_SPEECH)
-    if (RenderBox* speechRenderer = m_speechButton ? m_speechButton->renderBox() : 0) {
-        toRenderBlock(speechRenderer)->calcHeight();
-        setHeight(max(height(),
-                  speechRenderer->borderTop() + speechRenderer->borderBottom() +
-                  speechRenderer->paddingTop() + speechRenderer->paddingBottom() +
-                  speechRenderer->marginTop() + speechRenderer->marginBottom()));
-        lineHeight = max(lineHeight, speechRenderer->height());
-    }
-#endif
-
     setHeight(height() + lineHeight);
 }
 
 void RenderTextControlSingleLine::createSubtreeIfNeeded()
 {
     bool createSubtree = inputElement()->isSearchField();
-#if ENABLE(INPUT_SPEECH)
-    if (inputElement()->isSpeechEnabled())
-        createSubtree = true;
-#endif
     if (!createSubtree) {
         RenderTextControl::createSubtreeIfNeeded(m_innerBlock.get());
+#if ENABLE(INPUT_SPEECH)
+        if (inputElement()->isSpeechEnabled() && !m_speechButton) {
+            // Create the speech button element.
+            m_speechButton = InputFieldSpeechButtonElement::create(node());
+            m_speechButton->attachInnerElement(node(), createSpeechButtonStyle(), renderArena());
+        }
+#endif
         bool hasSpinButton = inputElement()->hasSpinButton();
         if (hasSpinButton && !m_innerSpinButton) {
             m_innerSpinButton = SpinButtonElement::create(node());
@@ -632,6 +627,13 @@ void RenderTextControlSingleLine::createSubtreeIfNeeded()
         m_innerBlock = TextControlInnerElement::create(node());
         m_innerBlock->attachInnerElement(node(), createInnerBlockStyle(style()), renderArena());
     }
+#if ENABLE(INPUT_SPEECH)
+    if (inputElement()->isSpeechEnabled() && !m_speechButton) {
+        // Create the speech button element.
+        m_speechButton = InputFieldSpeechButtonElement::create(node());
+        m_speechButton->attachInnerElement(node(), createSpeechButtonStyle(), renderArena());
+    }
+#endif
     if (inputElement()->hasSpinButton() && !m_outerSpinButton) {
         m_outerSpinButton = SpinButtonElement::create(node());
         m_outerSpinButton->attachInnerElement(node(), createOuterSpinButtonStyle(), renderArena());
@@ -655,13 +657,6 @@ void RenderTextControlSingleLine::createSubtreeIfNeeded()
             m_cancelButton->attachInnerElement(m_innerBlock.get(), createCancelButtonStyle(m_innerBlock->renderer()->style()), renderArena());
         }
     }
-#if ENABLE(INPUT_SPEECH)
-    if (inputElement()->isSpeechEnabled() && !m_speechButton) {
-        // Create the speech button element.
-        m_speechButton = InputFieldSpeechButtonElement::create(document());
-        m_speechButton->attachInnerElement(m_innerBlock.get(), createSpeechButtonStyle(m_innerBlock->renderer()->style()), renderArena());
-    }
-#endif
 }
 
 void RenderTextControlSingleLine::updateFromElement()
@@ -717,7 +712,12 @@ PassRefPtr<RenderStyle> RenderTextControlSingleLine::createInnerTextStyle(const
     if (textBlockStyle->font().lineSpacing() > lineHeight(true, true))
         textBlockStyle->setLineHeight(Length(-100.0f, Percent));
 
-    textBlockStyle->setDisplay(m_innerBlock || inputElement()->hasSpinButton() ? INLINE_BLOCK : BLOCK);
+    WebCore::EDisplay display = (m_innerBlock || inputElement()->hasSpinButton() ? INLINE_BLOCK : BLOCK);
+#if ENABLE(INPUT_SPEECH)
+    if (inputElement()->isSpeechEnabled())
+      display = INLINE_BLOCK;
+#endif
+    textBlockStyle->setDisplay(display);
 
     // We're adding one extra pixel of padding to match WinIE.
     textBlockStyle->setPaddingLeft(Length(1, Fixed));
@@ -810,14 +810,13 @@ PassRefPtr<RenderStyle> RenderTextControlSingleLine::createOuterSpinButtonStyle(
 }
 
 #if ENABLE(INPUT_SPEECH)
-PassRefPtr<RenderStyle> RenderTextControlSingleLine::createSpeechButtonStyle(const RenderStyle* startStyle) const
+PassRefPtr<RenderStyle> RenderTextControlSingleLine::createSpeechButtonStyle() const
 {
     ASSERT(node()->isHTMLElement());
     RefPtr<RenderStyle> buttonStyle = getCachedPseudoStyle(INPUT_SPEECH_BUTTON);
     if (!buttonStyle)
         buttonStyle = RenderStyle::create();
-    if (startStyle)
-        buttonStyle->inheritFrom(startStyle);
+    buttonStyle->inheritFrom(style());
     return buttonStyle.release();
 }
 #endif
@@ -970,10 +969,6 @@ int RenderTextControlSingleLine::clientPaddingRight() const
 
     if (RenderBox* cancelRenderer = m_cancelButton ? m_cancelButton->renderBox() : 0)
         padding += cancelRenderer->width();
-#if ENABLE(INPUT_SPEECH)
-    if (RenderBox* speechRenderer = m_speechButton ? m_speechButton->renderBox() : 0)
-        padding += speechRenderer->width();
-#endif
 
     return padding;
 }
diff --git a/WebCore/rendering/RenderTextControlSingleLine.h b/WebCore/rendering/RenderTextControlSingleLine.h
index 4bc80cf..e57e37e 100644
--- a/WebCore/rendering/RenderTextControlSingleLine.h
+++ b/WebCore/rendering/RenderTextControlSingleLine.h
@@ -102,7 +102,7 @@ private:
     PassRefPtr<RenderStyle> createInnerSpinButtonStyle() const;
     PassRefPtr<RenderStyle> createOuterSpinButtonStyle() const;
 #if ENABLE(INPUT_SPEECH)
-    PassRefPtr<RenderStyle> createSpeechButtonStyle(const RenderStyle* startStyle) const;
+    PassRefPtr<RenderStyle> createSpeechButtonStyle() const;
 #endif
 
     void updateCancelButtonVisibility() const;
diff --git a/WebCore/rendering/TextControlInnerElements.cpp b/WebCore/rendering/TextControlInnerElements.cpp
index 3846f03..cf0e864 100644
--- a/WebCore/rendering/TextControlInnerElements.cpp
+++ b/WebCore/rendering/TextControlInnerElements.cpp
@@ -342,15 +342,15 @@ void SpinButtonElement::setHovered(bool flag)
 
 #if ENABLE(INPUT_SPEECH)
 
-inline InputFieldSpeechButtonElement::InputFieldSpeechButtonElement(Document* document)
-    : TextControlInnerElement(document)
+inline InputFieldSpeechButtonElement::InputFieldSpeechButtonElement(Node* shadowParent)
+    : TextControlInnerElement(shadowParent->document(), shadowParent)
     , m_capturing(false)
 {
 }
 
-PassRefPtr<InputFieldSpeechButtonElement> InputFieldSpeechButtonElement::create(Document* document)
+PassRefPtr<InputFieldSpeechButtonElement> InputFieldSpeechButtonElement::create(Node* shadowParent)
 {
-    return adoptRef(new InputFieldSpeechButtonElement(document));
+    return adoptRef(new InputFieldSpeechButtonElement(shadowParent));
 }
 
 void InputFieldSpeechButtonElement::defaultEventHandler(Event* event)
diff --git a/WebCore/rendering/TextControlInnerElements.h b/WebCore/rendering/TextControlInnerElements.h
index ed38221..66aca9a 100644
--- a/WebCore/rendering/TextControlInnerElements.h
+++ b/WebCore/rendering/TextControlInnerElements.h
@@ -119,8 +119,9 @@ class InputFieldSpeechButtonElement
     : public TextControlInnerElement,
       public SpeechInputListener {
 public:
-    static PassRefPtr<InputFieldSpeechButtonElement> create(Document*);
+    static PassRefPtr<InputFieldSpeechButtonElement> create(Node*);
 
+    virtual void detach();
     virtual void defaultEventHandler(Event*);
 
     // SpeechInputListener methods.
@@ -129,8 +130,7 @@ public:
     void setRecognitionResult(const String& result);
 
 private:
-    InputFieldSpeechButtonElement(Document*);
-    virtual void detach();
+    InputFieldSpeechButtonElement(Node*);
     SpeechInput* speechInput();
 
     bool m_capturing;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list