Changeset 86827 in webkit
- Timestamp:
- May 19, 2011 2:21:58 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r86826 r86827 1 2011-05-19 Emil A Eklund <eae@chromium.org> 2 3 Reviewed by Alexey Proskuryakov. 4 5 REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones 6 https://bugs.webkit.org/show_bug.cgi?id=60986 7 8 * fast/dom/HTMLSelectElement/change-multiple-preserve-selection-expected.txt: 9 * fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html: 10 1 11 2011-05-19 Mihnea Ovidenie <mihnea@adobe.com> 2 12 -
trunk/LayoutTests/fast/dom/HTMLSelectElement/change-multiple-preserve-selection-expected.txt
r80808 r86827 1 1 2 2 PASS selectElement.selectedIndex is -1 3 3 PASS selectElement.selectedIndex is -1 … … 6 6 PASS selectElement.selectedIndex is -1 7 7 PASS selectElement.selectedIndex is 0 8 PASS selectElement.options[0].selected is true 9 PASS selectElement.options[1].selected is true 10 PASS selectElement.options[2].selected is false 11 PASS selectElement.options[0].selected is true 12 PASS selectElement.options[1].selected is true 13 PASS selectElement.options[2].selected is false 14 PASS selectElement.options[0].selected is true 15 PASS selectElement.options[1].selected is false 16 PASS selectElement.options[2].selected is false 8 17 -
trunk/LayoutTests/fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
r80808 r86827 31 31 selectElement.multiple = true; 32 32 shouldBe("selectElement.selectedIndex", "0"); 33 34 // Test resetting the multiple attribute. 35 selectElement = document.getElementsByTagName('select')[4]; 36 shouldBe("selectElement.options[0].selected", "true"); 37 shouldBe("selectElement.options[1].selected", "true"); 38 shouldBe("selectElement.options[2].selected", "false"); 39 selectElement.multiple = true; 40 shouldBe("selectElement.options[0].selected", "true"); 41 shouldBe("selectElement.options[1].selected", "true"); 42 shouldBe("selectElement.options[2].selected", "false"); 43 selectElement.multiple = false; 44 shouldBe("selectElement.options[0].selected", "true"); 45 shouldBe("selectElement.options[1].selected", "false"); 46 shouldBe("selectElement.options[2].selected", "false"); 33 47 } 34 48 </script> … … 54 68 <option id="opt2" value="3">3</option> 55 69 </select> 70 <select multiple="true"> 71 <option id="opt1" value="1" selected="selected">1</option> 72 <option id="opt2" value="2" selected="selected">2</option> 73 <option id="opt2" value="3">3</option> 74 </select> 56 75 <div id="console"></div> 57 76 </body> -
trunk/Source/WebCore/ChangeLog
r86822 r86827 1 2011-05-19 Emil A Eklund <eae@chromium.org> 2 3 Reviewed by Alexey Proskuryakov. 4 5 REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones 6 https://bugs.webkit.org/show_bug.cgi?id=60986 7 8 * html/HTMLSelectElement.cpp: 9 (WebCore::HTMLSelectElement::setMultiple): 10 Don't restore selection if the multiple attribute hasn't changed. 11 1 12 2011-05-18 Fumitoshi Ukai <ukai@chromium.org> 2 13 -
trunk/Source/WebCore/html/HTMLSelectElement.cpp
r86744 r86827 433 433 void HTMLSelectElement::setMultiple(bool multiple) 434 434 { 435 bool oldMultiple = this->multiple(); 435 436 int oldSelectedIndex = selectedIndex(); 436 437 setAttribute(multipleAttr, multiple ? "" : 0); … … 438 439 // Restore selectedIndex after changing the multiple flag to preserve 439 440 // selection as single-line and multi-line has different defaults. 440 setSelectedIndex(oldSelectedIndex); 441 if (oldMultiple != this->multiple()) 442 setSelectedIndex(oldSelectedIndex); 441 443 } 442 444
Note: See TracChangeset
for help on using the changeset viewer.