Index: third_party/WebKit/LayoutTests/fast/forms/textarea-metrics.html |
diff --git a/third_party/WebKit/LayoutTests/fast/forms/textarea-metrics.html b/third_party/WebKit/LayoutTests/fast/forms/textarea-metrics.html |
deleted file mode 100644 |
index d87d20bbeb23c66140b6a94aa40161c163d6e871..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/fast/forms/textarea-metrics.html |
+++ /dev/null |
@@ -1,168 +0,0 @@ |
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
-<html> |
-<head> |
-<script src="../../resources/js-test.js"></script> |
-</head> |
-<body> |
-<p id="description"></p> |
-<div id="console"></div> |
-<script> |
-description("This test checks that textareas have the right metrics. These numbers match IE7 except for scrollHeight. For two reasons:<br>" + |
-"1. scrollHeight is different for elements without enough content to cause scroll because IE7 then reports the height of the text inside the " + |
-"element as the scrollHeight. IE8 reports has scrollHeight == offsetHeight. Gecko/WebKit have scrollHeight == clientHeight.<br>" + |
-"2. For the elements with scroll in standards-mode, IE wraps the text differently. It seems to leave 2px less space for the text. We don't " + |
-"currently mimic this quirk. It's not clear whether we should given that we agree with IE7's clientWidth numbers in all these cases."); |
- |
-function assertTextareaMetrics(doc, properties, expectedMetrics) { |
- var textarea = doc.createElement('textarea'); |
- // Give some consistent CSS for consistent rendering across platforms |
- // and to help in reasoning when trying to match IE metrics. |
- var style = 'overflow-y:auto; font-family:Ahem; line-height:20px; height:50px; width:50px;'; |
- var title = ''; |
- for (property in properties) { |
- var value = properties[property]; |
- title += ' ' + property + ': "' + value + '",'; |
- if (property == 'style') |
- style += value; |
- else |
- textarea[property] = value; |
- } |
- textarea.style.cssText = style; |
- doc.body.appendChild(textarea); |
- |
- // Create a more human-readable ID. |
- var id = title.replace(/[\'\",;\:]/g, ' ').replace(/ +/g, '-'); |
- id = id == '' ? 'no-styles' : id; |
- textarea.id = id; |
- |
- window[doc.compatMode + 'doc'] = doc; |
- |
- function assertMetricsForTextarea() { |
- if (!title) |
- title = ' none'; |
- |
- debug('Properties =' + title); |
- shouldBe(doc.compatMode + "doc.getElementById('" + id + "').clientWidth", String(expectedMetrics.clientWidth)); |
- shouldBe(doc.compatMode + "doc.getElementById('" + id + "').clientHeight", String(expectedMetrics.clientHeight)); |
- shouldBe(doc.compatMode + "doc.getElementById('" + id + "').offsetWidth", String(expectedMetrics.offsetWidth)); |
- shouldBe(doc.compatMode + "doc.getElementById('" + id + "').offsetHeight", String(expectedMetrics.offsetHeight)); |
- shouldBe(doc.compatMode + "doc.getElementById('" + id + "').scrollWidth", String(expectedMetrics.scrollWidth)); |
- shouldBe(doc.compatMode + "doc.getElementById('" + id + "').scrollHeight", String(expectedMetrics.scrollHeight)); |
- debug(''); |
- } |
- if (document.all) |
- // Give a timeout so IE has time to figure out it's metrics. |
- setTimeout(assertMetricsForTextarea, 100); |
- else |
- assertMetricsForTextarea(); |
-} |
- |
-var smallHTML = 'A'; |
-var htmlThatCausesScroll = 'AAAAAAAAA'; |
- |
-function testTextareasForDocument(doc, compatMode, |
- textareaSizes, textareaWithScrollSizes, |
- textareaWith8pxPaddingSizes, textareaWith8pxPaddingAndScrollbarSizes) { |
- if (doc.compatMode != compatMode) |
- testFailed('This doc should be in ' + compatMode + ' mode.'); |
- |
- try { |
- var scrollbarStyle = doc.createElement('style'); |
- scrollbarStyle.innerText = 'textarea::-webkit-scrollbar{ width:17px }'; |
- doc.getElementsByTagName('head')[0].appendChild(scrollbarStyle); |
- } catch (e) { |
- // IE throws an exception here, but doesn't need the above clause anyways. |
- } |
- |
- debug('Testing ' + compatMode + ' document.') |
- assertTextareaMetrics(doc, {}, textareaSizes); |
- assertTextareaMetrics(doc, {disabled: true}, textareaSizes); |
- assertTextareaMetrics(doc, {innerHTML: smallHTML}, textareaSizes); |
- assertTextareaMetrics(doc, {innerHTML: htmlThatCausesScroll}, textareaWithScrollSizes); |
- assertTextareaMetrics(doc, {innerHTML: smallHTML, disabled: true}, textareaSizes); |
- assertTextareaMetrics(doc, {innerHTML: htmlThatCausesScroll, disabled: true}, textareaWithScrollSizes); |
- assertTextareaMetrics(doc, {innerHTML: smallHTML, style: 'padding:8px'}, textareaWith8pxPaddingSizes); |
- assertTextareaMetrics(doc, {innerHTML: htmlThatCausesScroll, style: 'padding:8px'}, textareaWith8pxPaddingAndScrollbarSizes); |
- assertTextareaMetrics(doc, {innerHTML: smallHTML, rows: 10}, textareaSizes); |
- assertTextareaMetrics(doc, {innerHTML: htmlThatCausesScroll, rows: 10}, textareaWithScrollSizes); |
-} |
- |
-// For textareas with scrollbars have the expected clientWidth be the |
-// expected offsetWidth - scrollbarPlusBorderWidth. |
-// default border on textareas is 1px solid. So, the border width is 2. |
-// And the scrollbarWidth we set to be 17 to match windows so that |
-// these numbers will be platform independent and match IE. |
-var scrollbarPlusBorderWidth = 19; |
- |
-var textareaSizesQuirks = {clientWidth: 48, |
- clientHeight: 48, |
- offsetWidth: 50, |
- offsetHeight: 50, |
- scrollWidth: 48, |
- scrollHeight: 48}; |
- |
-var textareaWithScrollSizesQuirks = {clientWidth: 50 - scrollbarPlusBorderWidth, |
- clientHeight: 48, |
- offsetWidth: 50, |
- offsetHeight: 50, |
- scrollWidth: 50 - scrollbarPlusBorderWidth, |
- scrollHeight: 104}; |
- |
-var textareaWith8pxPaddingSizesQuirks = {clientWidth: 48, |
- clientHeight: 48, |
- offsetWidth: 50, |
- offsetHeight: 50, |
- scrollWidth: 48, |
- scrollHeight: 48}; |
- |
-var textareaWith8pxPaddingAndScrollbarSizesQuirks = {clientWidth: 50 - scrollbarPlusBorderWidth, |
- clientHeight: 48, |
- offsetWidth: 50, |
- offsetHeight: 50, |
- scrollWidth: 50 - scrollbarPlusBorderWidth, |
- scrollHeight: 196}; |
- |
-testTextareasForDocument(document, 'BackCompat', |
- textareaSizesQuirks, textareaWithScrollSizesQuirks, |
- textareaWith8pxPaddingSizesQuirks, textareaWith8pxPaddingAndScrollbarSizesQuirks); |
- |
-var standardsIframe = document.createElement('iframe'); |
-standardsIframe.style.width = '100%'; |
-document.body.appendChild(standardsIframe); |
-standardsIframe.contentWindow.document.write('<!DocType html><html><head></head><body></body></html>'); |
-standardsIframe.contentWindow.document.close(); |
- |
-var textareaSizesStandards = {clientWidth: 54, |
- clientHeight: 54, |
- offsetWidth: 56, |
- offsetHeight: 56, |
- scrollWidth: 54, |
- scrollHeight: 54}; |
- |
-var textareaWithScrollSizesStandards = {clientWidth: 56 - scrollbarPlusBorderWidth, |
- clientHeight: 54, |
- offsetWidth: 56, |
- offsetHeight: 56, |
- scrollWidth: 56 - scrollbarPlusBorderWidth, |
- scrollHeight: 64}; |
- |
-var textareaWith8pxPaddingSizesStandards = {clientWidth: 66, |
- clientHeight: 66, |
- offsetWidth: 68, |
- offsetHeight: 68, |
- scrollWidth: 66, |
- scrollHeight: 66}; |
- |
-var textareaWith8pxPaddingAndScrollbarSizesStandards = {clientWidth: 68 - scrollbarPlusBorderWidth, |
- clientHeight: 66, |
- offsetWidth: 68, |
- offsetHeight: 68, |
- scrollWidth: 68 - scrollbarPlusBorderWidth, |
- scrollHeight: 76}; |
- |
-testTextareasForDocument(standardsIframe.contentWindow.document, 'CSS1Compat', |
- textareaSizesStandards, textareaWithScrollSizesStandards, |
- textareaWith8pxPaddingSizesStandards, textareaWith8pxPaddingAndScrollbarSizesStandards); |
-</script> |
-</body> |
-</html> |