Changeset 205858 in webkit


Ignore:
Timestamp:
Sep 13, 2016 8:02:44 AM (8 years ago)
Author:
Chris Dumez
Message:

Drop support for <isindex>
https://bugs.webkit.org/show_bug.cgi?id=7139

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Import layout test coverage from W3C web-platform-tests. We used to fail
the last check but we now pass it. Chrome also passes this last check.

  • web-platform-tests/html/semantics/forms/historical-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/historical.html: Added.
  • web-platform-tests/html/semantics/forms/w3c-import.log: Added.

Source/WebCore:

Drop support for <isindex> and <input name=isindex>. Those are no longer
in the HTML specification and Chrome / Edge have already dropped their
support. Firefox is also planning on dropping this.

Test: imported/w3c/web-platform-tests/html/semantics/forms/historical.html

  • css/StyleResolver.cpp:

(WebCore::elementTypeHasAppearanceFromUAStyle):

  • css/html.css:

(input, textarea, keygen, select, button, meter, progress):
(input, textarea, keygen, select, button):
(#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS):
(input::placeholder):
(input:focus, textarea:focus, keygen:focus, select:focus):

  • dom/Element.cpp:

(WebCore::Element::ieForbidsInsertHTML):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):

  • html/HTMLTagNames.in:
  • html/parser/HTMLStackItem.h:

(WebCore::isSpecialNode):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Deleted.
(WebCore::createCaseMap): Deleted.

  • html/parser/HTMLTreeBuilder.h:
  • platform/network/FormData.cpp:

(WebCore::FormData::appendKeyValuePairItems):

Source/WebInspectorUI:

Drop references to isindex.

  • UserInterface/Views/DOMTreeElement.js:

Source/WebKit/mac:

Drop references to isindex.

  • WebCoreSupport/WebEditorClient.mm:

(attributesForAttributedStringConversion):

  • WebView/WebHTMLView.mm:

(+[WebHTMLView _excludedElementsForAttributedStringConversion]):

LayoutTests:

Drop outdated tests / checks.

  • dom/html/level2/html/HTMLIsIndexElement01-expected.txt: Removed.
  • dom/html/level2/html/HTMLIsIndexElement01.html: Removed.
  • dom/html/level2/html/HTMLIsIndexElement01.js: Removed.
  • dom/html/level2/html/HTMLIsIndexElement02-expected.txt: Removed.
  • dom/html/level2/html/HTMLIsIndexElement02.html: Removed.
  • dom/html/level2/html/HTMLIsIndexElement02.js: Removed.
  • dom/html/level2/html/HTMLIsIndexElement03-expected.txt: Removed.
  • dom/html/level2/html/HTMLIsIndexElement03.html: Removed.
  • dom/html/level2/html/HTMLIsIndexElement03.js: Removed.
  • fast/dom/HTMLIsIndexElement/prototype-chain-expected.txt: Removed.
  • fast/dom/HTMLIsIndexElement/prototype-chain.html: Removed.
  • fast/dom/HTMLIsIndexElement/script-tests/prototype-chain.js: Removed.
  • fast/dom/isindex-001.html: Removed.
  • fast/dom/isindex-002.html: Removed.
  • fast/events/resources/tabindex-focus-blur-all-frame1.html:
  • fast/events/resources/tabindex-focus-blur-all-frame2.html:
  • fast/events/resources/tabindex-focus-blur-all-iframe1.html:
  • fast/events/resources/tabindex-focus-blur-all-iframe2.html:
  • fast/forms/isindex-name-expected.txt: Removed.
  • fast/forms/isindex-name.html: Removed.
  • fast/forms/isindex-placeholder-expected.html: Removed.
  • fast/forms/isindex-placeholder.html: Removed.
  • fast/forms/text-style-color.html: Removed.
  • fast/parser/fragment-parser-expected.txt:
  • fast/parser/script-tests/fragment-parser.js:
  • fast/replaced/table-percent-height-text-controls-expected.txt:
  • fast/replaced/table-percent-height-text-controls.html:
  • html5lib/generated/run-isindex-data-expected.txt: Removed.
  • html5lib/generated/run-isindex-data.html: Removed.
  • html5lib/generated/run-isindex-write-expected.txt: Removed.
  • html5lib/generated/run-isindex-write.html: Removed.
  • html5lib/resources/isindex.dat:
  • html5lib/resources/tests19.dat:
  • html5lib/resources/tests2.dat:
  • html5lib/resources/webkit02.dat:
  • http/tests/misc/isindex-formdata-expected.txt: Removed.
  • http/tests/misc/isindex-formdata.html: Removed.
  • http/tests/misc/isindex-with-no-form-base-href-expected.txt: Removed.
  • http/tests/misc/isindex-with-no-form-base-href.html: Removed.
  • http/tests/misc/isindex-with-no-form-expected.txt: Removed.
  • http/tests/misc/isindex-with-no-form.html: Removed.
  • http/tests/misc/resources/isindex-with-no-form-base-href-submit.html: Removed.
  • http/tests/misc/resources/isindex-with-no-form-base-href.html: Removed.
  • platform/efl/fast/dom/isindex-001-expected.png: Removed.
  • platform/efl/fast/dom/isindex-001-expected.txt: Removed.
  • platform/efl/fast/dom/isindex-002-expected.png: Removed.
  • platform/efl/fast/dom/isindex-002-expected.txt: Removed.
  • platform/efl/fast/forms/text-style-color-expected.png: Removed.
  • platform/efl/fast/forms/text-style-color-expected.txt: Removed.
  • platform/gtk/fast/dom/isindex-001-expected.png: Removed.
  • platform/gtk/fast/dom/isindex-001-expected.txt: Removed.
  • platform/gtk/fast/dom/isindex-002-expected.png: Removed.
  • platform/gtk/fast/dom/isindex-002-expected.txt: Removed.
  • platform/gtk/fast/forms/text-style-color-expected.png: Removed.
  • platform/gtk/fast/forms/text-style-color-expected.txt: Removed.
  • platform/ios-simulator/fast/dom/isindex-001-expected.txt: Removed.
  • platform/ios-simulator/fast/dom/isindex-002-expected.txt: Removed.
  • platform/ios-simulator/fast/forms/text-style-color-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dom/isindex-001-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dom/isindex-002-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/text-style-color-expected.txt: Removed.
  • platform/mac/fast/dom/isindex-001-expected.png: Removed.
  • platform/mac/fast/dom/isindex-001-expected.txt: Removed.
  • platform/mac/fast/dom/isindex-002-expected.png: Removed.
  • platform/mac/fast/dom/isindex-002-expected.txt: Removed.
  • platform/mac/fast/forms/text-style-color-expected.png: Removed.
  • platform/mac/fast/forms/text-style-color-expected.txt: Removed.
  • platform/win/fast/dom/isindex-001-expected.txt: Removed.
  • platform/win/fast/dom/isindex-002-expected.txt: Removed.
  • platform/win/fast/forms/text-style-color-expected.txt: Removed.
Location:
trunk
Files:
3 added
56 deleted
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r205857 r205858  
     12016-09-13  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop support for <isindex>
     4        https://bugs.webkit.org/show_bug.cgi?id=7139
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Drop outdated tests / checks.
     9
     10        * dom/html/level2/html/HTMLIsIndexElement01-expected.txt: Removed.
     11        * dom/html/level2/html/HTMLIsIndexElement01.html: Removed.
     12        * dom/html/level2/html/HTMLIsIndexElement01.js: Removed.
     13        * dom/html/level2/html/HTMLIsIndexElement02-expected.txt: Removed.
     14        * dom/html/level2/html/HTMLIsIndexElement02.html: Removed.
     15        * dom/html/level2/html/HTMLIsIndexElement02.js: Removed.
     16        * dom/html/level2/html/HTMLIsIndexElement03-expected.txt: Removed.
     17        * dom/html/level2/html/HTMLIsIndexElement03.html: Removed.
     18        * dom/html/level2/html/HTMLIsIndexElement03.js: Removed.
     19        * fast/dom/HTMLIsIndexElement/prototype-chain-expected.txt: Removed.
     20        * fast/dom/HTMLIsIndexElement/prototype-chain.html: Removed.
     21        * fast/dom/HTMLIsIndexElement/script-tests/prototype-chain.js: Removed.
     22        * fast/dom/isindex-001.html: Removed.
     23        * fast/dom/isindex-002.html: Removed.
     24        * fast/events/resources/tabindex-focus-blur-all-frame1.html:
     25        * fast/events/resources/tabindex-focus-blur-all-frame2.html:
     26        * fast/events/resources/tabindex-focus-blur-all-iframe1.html:
     27        * fast/events/resources/tabindex-focus-blur-all-iframe2.html:
     28        * fast/forms/isindex-name-expected.txt: Removed.
     29        * fast/forms/isindex-name.html: Removed.
     30        * fast/forms/isindex-placeholder-expected.html: Removed.
     31        * fast/forms/isindex-placeholder.html: Removed.
     32        * fast/forms/text-style-color.html: Removed.
     33        * fast/parser/fragment-parser-expected.txt:
     34        * fast/parser/script-tests/fragment-parser.js:
     35        * fast/replaced/table-percent-height-text-controls-expected.txt:
     36        * fast/replaced/table-percent-height-text-controls.html:
     37        * html5lib/generated/run-isindex-data-expected.txt: Removed.
     38        * html5lib/generated/run-isindex-data.html: Removed.
     39        * html5lib/generated/run-isindex-write-expected.txt: Removed.
     40        * html5lib/generated/run-isindex-write.html: Removed.
     41        * html5lib/resources/isindex.dat:
     42        * html5lib/resources/tests19.dat:
     43        * html5lib/resources/tests2.dat:
     44        * html5lib/resources/webkit02.dat:
     45        * http/tests/misc/isindex-formdata-expected.txt: Removed.
     46        * http/tests/misc/isindex-formdata.html: Removed.
     47        * http/tests/misc/isindex-with-no-form-base-href-expected.txt: Removed.
     48        * http/tests/misc/isindex-with-no-form-base-href.html: Removed.
     49        * http/tests/misc/isindex-with-no-form-expected.txt: Removed.
     50        * http/tests/misc/isindex-with-no-form.html: Removed.
     51        * http/tests/misc/resources/isindex-with-no-form-base-href-submit.html: Removed.
     52        * http/tests/misc/resources/isindex-with-no-form-base-href.html: Removed.
     53        * platform/efl/fast/dom/isindex-001-expected.png: Removed.
     54        * platform/efl/fast/dom/isindex-001-expected.txt: Removed.
     55        * platform/efl/fast/dom/isindex-002-expected.png: Removed.
     56        * platform/efl/fast/dom/isindex-002-expected.txt: Removed.
     57        * platform/efl/fast/forms/text-style-color-expected.png: Removed.
     58        * platform/efl/fast/forms/text-style-color-expected.txt: Removed.
     59        * platform/gtk/fast/dom/isindex-001-expected.png: Removed.
     60        * platform/gtk/fast/dom/isindex-001-expected.txt: Removed.
     61        * platform/gtk/fast/dom/isindex-002-expected.png: Removed.
     62        * platform/gtk/fast/dom/isindex-002-expected.txt: Removed.
     63        * platform/gtk/fast/forms/text-style-color-expected.png: Removed.
     64        * platform/gtk/fast/forms/text-style-color-expected.txt: Removed.
     65        * platform/ios-simulator/fast/dom/isindex-001-expected.txt: Removed.
     66        * platform/ios-simulator/fast/dom/isindex-002-expected.txt: Removed.
     67        * platform/ios-simulator/fast/forms/text-style-color-expected.txt: Removed.
     68        * platform/mac-elcapitan/fast/dom/isindex-001-expected.txt: Removed.
     69        * platform/mac-elcapitan/fast/dom/isindex-002-expected.txt: Removed.
     70        * platform/mac-elcapitan/fast/forms/text-style-color-expected.txt: Removed.
     71        * platform/mac/fast/dom/isindex-001-expected.png: Removed.
     72        * platform/mac/fast/dom/isindex-001-expected.txt: Removed.
     73        * platform/mac/fast/dom/isindex-002-expected.png: Removed.
     74        * platform/mac/fast/dom/isindex-002-expected.txt: Removed.
     75        * platform/mac/fast/forms/text-style-color-expected.png: Removed.
     76        * platform/mac/fast/forms/text-style-color-expected.txt: Removed.
     77        * platform/win/fast/dom/isindex-001-expected.txt: Removed.
     78        * platform/win/fast/dom/isindex-002-expected.txt: Removed.
     79        * platform/win/fast/forms/text-style-color-expected.txt: Removed.
     80
    1812016-09-13  Per Arne Vollan  <pvollan@apple.com>
    282
  • trunk/LayoutTests/fast/events/resources/tabindex-focus-blur-all-frame1.html

    r147591 r205858  
    152152<textarea id="textarea1">textarea1</textarea><br>
    153153<input type="text" id="text1" value="text1" tabindex="1"><br>
    154 <isindex id="isindex1" prompt="isindex1" tabindex="0"/><br>
    155154<input type="checkbox" id="checkbox1"><br>
    156155<input type="radio" id="radioChoice1a" name="radio1" tabindex="0"><br>
  • trunk/LayoutTests/fast/events/resources/tabindex-focus-blur-all-frame2.html

    r147591 r205858  
    152152<textarea id="textarea3" tabindex="0">textarea</textarea><br>
    153153<input type="text" id="text3" value="text" tabindex="-1"><br>
    154 <isindex id="isindex3" prompt="isindex"/><br>
    155154<input type="checkbox" id="checkbox3" tabindex="0"><br>
    156155<input type="radio" id="radioChoice3a" name="radio3"><br>
  • trunk/LayoutTests/fast/events/resources/tabindex-focus-blur-all-iframe1.html

    r147591 r205858  
    152152<textarea id="textarea2" tabindex="3">textarea</textarea><br>
    153153<input type="text" id="text2" value="text" tabindex="0"><br>
    154 <isindex id="isindex2" prompt="isindex" tabindex="-1"/><br>
    155154<input type="checkbox" id="checkbox2" tabindex="2"><br>
    156155<input type="radio" id="radioChoice2a" name="radio2" tabindex="-1"><br>
  • trunk/LayoutTests/fast/events/resources/tabindex-focus-blur-all-iframe2.html

    r147591 r205858  
    152152<textarea id="textarea4" tabindex="-1">textarea1</textarea><br>
    153153<input type="text" id="text4" value="text"><br>
    154 <isindex id="isindex4" prompt="isindex" tabindex="1"/><br>
    155154<input type="checkbox" id="checkbox4" tabindex="-1"><br>
    156155<input type="radio" id="radioChoice4a" name="radio4" tabindex="-1"><br>
  • trunk/LayoutTests/fast/parser/fragment-parser-expected.txt

    r66482 r205858  
    1515PASS parse('<html><embed>') is ['<embed>','<html><body></body></html>']
    1616PASS parse('<html><title>') is ['<title></title>','<html><body></body></html>']
    17 PASS parse('<html><isindex>') is ['<form><hr><label>This is a searchable index. Enter search keywords: <input name="isindex"></label><hr></form>','<html><body></body></html>']
    1817FAIL parse('<html><base>') should be ,<html><body></body></html>. Was <base>,<html><body></body></html>.
    1918PASS parse('<html><div>') is ['<div></div>','<html><body></body></html>']
  • trunk/LayoutTests/fast/parser/script-tests/fragment-parser.js

    r98407 r205858  
    2727
    2828shouldBe("parse('<html><title>')", "['<title></title>','<html><body></body></html>']");
    29 shouldBe("parse('<html><isindex>')", "['<form><hr><label>This is a searchable index. Enter search keywords: <input name=\"isindex\"></label><hr></form>','<html><body></body></html>']");
    3029shouldBe("parse('<html><base>')", "['','<html><body></body></html>']");
    3130shouldBe("parse('<html><div>')", "['<div></div>','<html><body></body></html>']");
  • trunk/LayoutTests/fast/replaced/table-percent-height-text-controls-expected.txt

    r180441 r205858  
    33
    44
    5 This is a searchable index. Enter search keywords:
    6 This is a searchable index. Enter search keywords:
    75
    86
     
    1816PASS getFullHeight('input-text-75') != '0px' is true
    1917PASS getFullHeight('input-text-75') is equal to getFullHeight('input-text-100').
    20 PASS getWidth('isindex-75') is getWidth('isindex-100')
    21 PASS getFullHeight('isindex-75') != '0px' is true
    22 PASS getFullHeight('isindex-75') is getFullHeight('isindex-100')
    2318PASS getWidth('textarea-75') is getWidth('textarea-100')
    2419PASS getFullHeight('textarea-75') != '0px' is true
  • trunk/LayoutTests/fast/replaced/table-percent-height-text-controls.html

    r155271 r205858  
    7575    isEqual("getFullHeight('input-text-75')", "getFullHeight('input-text-100')");
    7676
    77     shouldBe("getWidth('isindex-75')", "getWidth('isindex-100')");
    78     shouldBeTrue("getFullHeight('isindex-75') != '0px'");
    79     shouldBe("getFullHeight('isindex-75')", "getFullHeight('isindex-100')");
    80 
    8177    shouldBe("getWidth('textarea-75')", "getWidth('textarea-100')");
    8278    shouldBeTrue("getFullHeight('textarea-75') != '0px'");
     
    9995<table><tr><td><input type="text" id="input-text-100" style="height: 100%;"></td></tr></table>
    10096
    101 <table><tr><td><isindex id="isindex-75" style="height: 75%;"></td></tr></table>
    102 <table><tr><td><isindex id="isindex-100" style="height: 100%;"></td></tr></table>
    103 
    10497<table><tr><td><textarea id="textarea-75" style="height: 75%;"></textarea></td></tr></table>
    10598<table><tr><td><textarea id="textarea-100" style="height: 100%;"></textarea></td></tr></table>
  • trunk/LayoutTests/html5lib/resources/isindex.dat

    r167213 r205858  
    33#errors
    44(1,9): expected-doctype-but-got-start-tag
    5 (1,9): deprecated-tag
     5(1,9): expected-closing-tag-but-got-eof
    66#document
    77| <html>
    88|   <head>
    99|   <body>
    10 |     <form>
    11 |       <hr>
    12 |       <label>
    13 |         "This is a searchable index. Enter search keywords: "
    14 |         <input>
    15 |           name="isindex"
    16 |       <hr>
     10|     <isindex>
    1711
    1812#data
     
    2014#errors
    2115(1,48): expected-doctype-but-got-start-tag
    22 (1,48): deprecated-tag
     16(1,48): expected-closing-tag-but-got-eof
    2317#document
    2418| <html>
    2519|   <head>
    2620|   <body>
    27 |     <form>
     21|     <isindex>
    2822|       action="B"
    29 |       <hr>
    30 |       <label>
    31 |         "C"
    32 |         <input>
    33 |           foo="D"
    34 |           name="isindex"
    35 |       <hr>
     23|       foo="D"
     24|       name="A"
     25|       prompt="C"
    3626
    3727#data
     
    3929#errors
    4030(1,6): expected-doctype-but-got-start-tag
    41 (1,15): deprecated-tag
    4231(1,15): expected-closing-tag-but-got-eof
    4332#document
     
    4635|   <body>
    4736|     <form>
     37|       <isindex>
     38
     39#data
     40<!doctype html><isindex>x</isindex>x
     41#errors
     42#document
     43| <!DOCTYPE html>
     44| <html>
     45|   <head>
     46|   <body>
     47|     <isindex>
     48|       "x"
     49|     "x"
  • trunk/LayoutTests/html5lib/resources/tests19.dat

    r167437 r205858  
    8383
    8484#data
    85 <!doctype html><form><isindex>
    86 #errors
    87 (1,30): deprecated-tag
    88 (1,30): expected-closing-tag-but-got-eof
    89 #document
    90 | <!DOCTYPE html>
    91 | <html>
    92 |   <head>
    93 |   <body>
    94 |     <form>
    95 
    96 #data
    97 <!doctype html><isindex action="POST">
    98 #errors
    99 (1,38): deprecated-tag
    100 #document
    101 | <!DOCTYPE html>
    102 | <html>
    103 |   <head>
    104 |   <body>
    105 |     <form>
    106 |       action="POST"
    107 |       <hr>
    108 |       <label>
    109 |         "This is a searchable index. Enter search keywords: "
    110 |         <input>
    111 |           name="isindex"
    112 |       <hr>
    113 
    114 #data
    115 <!doctype html><isindex prompt="this is isindex">
    116 #errors
    117 (1,49): deprecated-tag
    118 #document
    119 | <!DOCTYPE html>
    120 | <html>
    121 |   <head>
    122 |   <body>
    123 |     <form>
    124 |       <hr>
    125 |       <label>
    126 |         "this is isindex"
    127 |         <input>
    128 |           name="isindex"
    129 |       <hr>
    130 
    131 #data
    13285<!doctype html><isindex type="hidden">
    13386#errors
    134 (1,38): deprecated-tag
    135 #document
    136 | <!DOCTYPE html>
    137 | <html>
    138 |   <head>
    139 |   <body>
    140 |     <form>
    141 |       <hr>
    142 |       <label>
    143 |         "This is a searchable index. Enter search keywords: "
    144 |         <input>
    145 |           name="isindex"
    146 |           type="hidden"
    147 |       <hr>
    148 
    149 #data
    150 <!doctype html><isindex name="foo">
    151 #errors
    152 (1,35): deprecated-tag
    153 #document
    154 | <!DOCTYPE html>
    155 | <html>
    156 |   <head>
    157 |   <body>
    158 |     <form>
    159 |       <hr>
    160 |       <label>
    161 |         "This is a searchable index. Enter search keywords: "
    162 |         <input>
    163 |           name="isindex"
    164 |       <hr>
     87(1,38): expected-closing-tag-but-got-eof
     88#document
     89| <!DOCTYPE html>
     90| <html>
     91|   <head>
     92|   <body>
     93|     <isindex>
     94|       type="hidden"
    16595
    16696#data
     
    13251255(1,44): adoption-agency-1.3
    13261256(1,44): adoption-agency-1.3
     1257(1,50): foster-parenting-character
    13271258(1,50): eof-in-table
    13281259#document
  • trunk/LayoutTests/html5lib/resources/tests2.dat

    r167213 r205858  
    7575|   <head>
    7676|   <frameset>
     77
     78#data
     79<!DOCTYPE html><frameset> te st
     80#errors
     81(1,29): unexpected-char-in-frameset
     82(1,29): unexpected-char-in-frameset
     83(1,29): unexpected-char-in-frameset
     84(1,29): unexpected-char-in-frameset
     85(1,29): eof-in-frameset
     86#document
     87| <!DOCTYPE html>
     88| <html>
     89|   <head>
     90|   <frameset>
     91|     "  "
     92
     93#data
     94<!DOCTYPE html><frameset></frameset> te st
     95#errors
     96(1,29): unexpected-char-after-frameset
     97(1,29): unexpected-char-after-frameset
     98(1,29): unexpected-char-after-frameset
     99(1,29): unexpected-char-after-frameset
     100#document
     101| <!DOCTYPE html>
     102| <html>
     103|   <head>
     104|   <frameset>
     105|   "  "
    77106
    78107#data
     
    443472#errors
    444473(1,68): unexpected-select-in-select
    445 (1,76): expected-closing-tag-but-got-eof
    446474#document
    447475| <!DOCTYPE html>
     
    524552|   <head>
    525553|   <body>
    526 
    527 #data
    528 <isindex test=x name=x>
    529 #errors
    530 (1,23): expected-doctype-but-got-start-tag
    531 (1,23): deprecated-tag
    532 #document
    533 | <html>
    534 |   <head>
    535 |   <body>
    536 |     <form>
    537 |       <hr>
    538 |       <label>
    539 |         "This is a searchable index. Enter search keywords: "
    540 |         <input>
    541 |           name="isindex"
    542 |           test="x"
    543 |       <hr>
    544554
    545555#data
  • trunk/LayoutTests/html5lib/resources/webkit02.dat

    r167213 r205858  
    159159
    160160#data
    161 <isindex action="x">
    162 #errors
    163 #document-fragment
    164 table
    165 #document
    166 | <form>
    167 |   action="x"
    168 | <hr>
    169 | <label>
    170 |   "This is a searchable index. Enter search keywords: "
    171 |   <input>
    172 |     name="isindex"
    173 | <hr>
    174 
    175 #data
    176161<option><XH<optgroup></optgroup>
    177162#errors
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r205791 r205858  
     12016-09-13  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop support for <isindex>
     4        https://bugs.webkit.org/show_bug.cgi?id=7139
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Import layout test coverage from W3C web-platform-tests. We used to fail
     9        the last check but we now pass it. Chrome also passes this last check.
     10
     11        * web-platform-tests/html/semantics/forms/historical-expected.txt: Added.
     12        * web-platform-tests/html/semantics/forms/historical.html: Added.
     13        * web-platform-tests/html/semantics/forms/w3c-import.log: Added.
     14
    1152016-09-11  Chris Dumez  <cdumez@apple.com>
    216
  • trunk/Source/WebCore/ChangeLog

    r205855 r205858  
     12016-09-13  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop support for <isindex>
     4        https://bugs.webkit.org/show_bug.cgi?id=7139
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Drop support for <isindex> and <input name=isindex>. Those are no longer
     9        in the HTML specification and Chrome / Edge have already dropped their
     10        support. Firefox is also planning on dropping this.
     11
     12        Test: imported/w3c/web-platform-tests/html/semantics/forms/historical.html
     13
     14        * css/StyleResolver.cpp:
     15        (WebCore::elementTypeHasAppearanceFromUAStyle):
     16        * css/html.css:
     17        (input, textarea, keygen, select, button, meter, progress):
     18        (input, textarea, keygen, select, button):
     19        (#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS):
     20        (input::placeholder):
     21        (input:focus, textarea:focus, keygen:focus, select:focus):
     22        * dom/Element.cpp:
     23        (WebCore::Element::ieForbidsInsertHTML):
     24        * html/HTMLInputElement.cpp:
     25        (WebCore::HTMLInputElement::HTMLInputElement):
     26        * html/HTMLTagNames.in:
     27        * html/parser/HTMLStackItem.h:
     28        (WebCore::isSpecialNode):
     29        * html/parser/HTMLTreeBuilder.cpp:
     30        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
     31        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Deleted.
     32        (WebCore::createCaseMap): Deleted.
     33        * html/parser/HTMLTreeBuilder.h:
     34        * platform/network/FormData.cpp:
     35        (WebCore::FormData::appendKeyValuePairItems):
     36
    1372016-09-12  Per Arne Vollan  <pvollan@apple.com>
    238
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r205809 r205858  
    11701170        || localName == HTMLNames::progressTag
    11711171        || localName == HTMLNames::selectTag
    1172         || localName == HTMLNames::meterTag
    1173         || localName == HTMLNames::isindexTag;
     1172        || localName == HTMLNames::meterTag;
    11741173}
    11751174
  • trunk/Source/WebCore/css/html.css

    r202066 r205858  
    354354
    355355/* Form controls don't go vertical. */
    356 input, textarea, keygen, select, button, isindex, meter, progress {
     356input, textarea, keygen, select, button, meter, progress {
    357357    -webkit-writing-mode: horizontal-tb !important;
    358358}
    359359
    360 input, textarea, keygen, select, button, isindex {
     360input, textarea, keygen, select, button {
    361361    margin: 0__qem;
    362362#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     
    378378}
    379379
    380 input,
    381 input:matches([type="password"], [type="search"]),
    382380#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
    383381textarea,
    384382input[type="range"],
    385383#endif
    386 isindex {
     384input,
     385input:matches([type="password"], [type="search"]) {
    387386    -webkit-appearance: textfield;
    388387    background-color: white;
     
    626625}
    627626
    628 input::placeholder, isindex::placeholder {
     627input::placeholder {
    629628    white-space: pre;
    630629    word-wrap: normal;
     
    11331132}
    11341133
    1135 input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
     1134input:focus, textarea:focus, keygen:focus, select:focus {
    11361135    outline-offset: -2px;
    11371136}
  • trunk/Source/WebCore/dom/Element.cpp

    r205505 r205858  
    36153615        || hasTagName(imgTag)
    36163616        || hasTagName(inputTag)
    3617         || hasTagName(isindexTag)
    36183617        || hasTagName(linkTag)
    36193618        || hasTagName(metaTag)
  • trunk/Source/WebCore/html/HTMLInputElement.cpp

    r205663 r205858  
    122122    , m_inputType(createdByParser ? nullptr : InputType::createText(*this))
    123123{
    124     ASSERT(hasTagName(inputTag) || hasTagName(isindexTag));
     124    ASSERT(hasTagName(inputTag));
    125125    setHasCustomStyleResolveCallbacks();
    126126}
  • trunk/Source/WebCore/html/HTMLTagNames.in

    r204647 r205858  
    7171input constructorNeedsFormElement, constructorNeedsCreatedByParser
    7272ins interfaceName=HTMLModElement
    73 isindex interfaceName=HTMLUnknownElement
    7473kbd interfaceName=HTMLElement
    7574keygen constructorNeedsFormElement
  • trunk/Source/WebCore/html/parser/HTMLStackItem.h

    r200075 r205858  
    251251            || tagName == HTMLNames::imgTag
    252252            || tagName == HTMLNames::inputTag
    253             || tagName == HTMLNames::isindexTag
    254253            || tagName == HTMLNames::liTag
    255254            || tagName == HTMLNames::linkTag
  • trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp

    r204061 r205858  
    449449}
    450450
    451 Vector<Attribute> HTMLTreeBuilder::attributesForIsindexInput(AtomicHTMLToken& token)
    452 {
    453     Vector<Attribute> attributes = token.attributes();
    454     attributes.removeAllMatching([] (const Attribute& attribute) {
    455         const QualifiedName& name = attribute.name();
    456         return name.matches(nameAttr) || name.matches(actionAttr) || name.matches(promptAttr);
    457     });
    458 
    459     attributes.append(Attribute(nameAttr, isindexTag.localName()));
    460     return attributes;
    461 }
    462 
    463 void HTMLTreeBuilder::processIsindexStartTagForInBody(AtomicHTMLToken& token)
    464 {
    465     ASSERT(token.type() == HTMLToken::StartTag);
    466     ASSERT(token.name() == isindexTag);
    467     parseError(token);
    468     if (m_tree.form() && !isParsingTemplateContents())
    469         return;
    470     notImplemented(); // Acknowledge self-closing flag
    471     processFakeStartTag(formTag);
    472     if (Attribute* actionAttribute = findAttribute(token.attributes(), actionAttr))
    473         m_tree.form()->setAttributeWithoutSynchronization(actionAttr, actionAttribute->value());
    474     processFakeStartTag(hrTag);
    475     processFakeStartTag(labelTag);
    476     if (Attribute* promptAttribute = findAttribute(token.attributes(), promptAttr))
    477         processFakeCharacters(promptAttribute->value());
    478     else
    479         processFakeCharacters(searchableIndexIntroduction());
    480     processFakeStartTag(inputTag, attributesForIsindexInput(token));
    481     notImplemented(); // This second set of characters may be needed by non-english locales.
    482     processFakeEndTag(labelTag);
    483     processFakeStartTag(hrTag);
    484     processFakeEndTag(formTag);
    485 }
    486 
    487451namespace {
    488452
     
    799763        m_tree.insertSelfClosingHTMLElement(token);
    800764        m_framesetOk = false;
    801         return;
    802     }
    803     if (token.name() == isindexTag) {
    804         processIsindexStartTagForInBody(token);
    805765        return;
    806766    }
  • trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h

    r202559 r205858  
    132132    void processEndTagForInCell(AtomicHTMLToken&);
    133133
    134     void processIsindexStartTagForInBody(AtomicHTMLToken&);
    135134    void processHtmlStartTagForInBody(AtomicHTMLToken&);
    136135    bool processBodyEndTagForInBody(AtomicHTMLToken&);
     
    169168    HTMLStackItem& adjustedCurrentStackItem() const;
    170169
    171     Vector<Attribute> attributesForIsindexInput(AtomicHTMLToken&);
    172 
    173170    void callTheAdoptionAgency(AtomicHTMLToken&);
    174171
  • trunk/Source/WebCore/platform/network/FormData.cpp

    r201623 r205858  
    235235                appendData(value.data().data(), value.data().length());
    236236            appendData("\r\n", 2);
    237         } else {
    238             // Omit the name "isindex" if it's the first form data element.
    239             // FIXME: Why is this a good rule? Is this obsolete now?
    240             if (encodedData.isEmpty() && key.data() == "isindex")
    241                 FormDataBuilder::encodeStringAsFormData(encodedData, value.data());
    242             else
    243                 FormDataBuilder::addKeyValuePairAsFormData(encodedData, key.data(), value.data(), encodingType);
    244         }
     237        } else
     238            FormDataBuilder::addKeyValuePairAsFormData(encodedData, key.data(), value.data(), encodingType);
    245239    }
    246240
  • trunk/Source/WebInspectorUI/ChangeLog

    r205834 r205858  
     12016-09-13  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop support for <isindex>
     4        https://bugs.webkit.org/show_bug.cgi?id=7139
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Drop references to isindex.
     9
     10        * UserInterface/Views/DOMTreeElement.js:
     11
    1122016-09-12  Matt Baker  <mattbaker@apple.com>
    213
  • trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js

    r205426 r205858  
    15991599WebInspector.DOMTreeElement.ForbiddenClosingTagElements = [
    16001600    "area", "base", "basefont", "br", "canvas", "col", "command", "embed", "frame",
    1601     "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source",
     1601    "hr", "img", "input", "keygen", "link", "meta", "param", "source",
    16021602    "wbr", "track", "menuitem"
    16031603].keySet();
  • trunk/Source/WebKit/mac/ChangeLog

    r205818 r205858  
     12016-09-13  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop support for <isindex>
     4        https://bugs.webkit.org/show_bug.cgi?id=7139
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Drop references to isindex.
     9
     10        * WebCoreSupport/WebEditorClient.mm:
     11        (attributesForAttributedStringConversion):
     12        * WebView/WebHTMLView.mm:
     13        (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
     14
    1152016-09-12  Chris Dumez  <cdumez@apple.com>
    216
  • trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm

    r205765 r205858  
    427427        @"doctype", @"html", @"head", @"body",
    428428        // Omit deprecated tags.
    429         @"applet", @"basefont", @"center", @"dir", @"font", @"isindex", @"menu", @"s", @"strike", @"u",
     429        @"applet", @"basefont", @"center", @"dir", @"font", @"menu", @"s", @"strike", @"u",
    430430        // Omit object so no file attachments are part of the fragment.
    431431        @"object", nil];
  • trunk/Source/WebKit/mac/WebView/WebHTMLView.mm

    r205818 r205858  
    11831183            @"doctype", @"html", @"head", @"body",
    11841184            // Omit deprecated tags.
    1185             @"applet", @"basefont", @"center", @"dir", @"font", @"isindex", @"menu", @"s", @"strike", @"u",
     1185            @"applet", @"basefont", @"center", @"dir", @"font", @"menu", @"s", @"strike", @"u",
    11861186            // Omit object so no file attachments are part of the fragment.
    11871187            @"object", nil];
Note: See TracChangeset for help on using the changeset viewer.