Changeset 46806 in webkit


Ignore:
Timestamp:
Aug 5, 2009 11:38:56 AM (15 years ago)
Author:
abarth@webkit.org
Message:

2009-08-05 Szabo Carol <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=27942
Form Reset does not work per w3c standard when single selection
SELECT element has more than one option marked as selected.

  • fast/forms/select-reset-multiple-selections-4-single-selection-expected.txt: Added.
  • fast/forms/select-reset-multiple-selections-4-single-selection.html: Added.

2009-08-05 Szabo Carol <carol.szabo@nokia.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=27942

Test: fast/forms/select-reset-multiple-selections-4-single-selection.html

  • dom/SelectElement.cpp: (WebCore::SelectElement::reset):

Added HTML 4.01 compliant handling of broken webpages that
specify more than one selected option for single selection SELECT
element, in a manner that emulates Firefox and is similar to IE 7

Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r46794 r46806  
     12009-08-05  Szabo Carol  <carol.szabo@nokia.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Test for https://bugs.webkit.org/show_bug.cgi?id=27942
     6        Form Reset does not work per w3c standard when single selection
     7        SELECT element has more than one option marked as selected.
     8
     9        * fast/forms/select-reset-multiple-selections-4-single-selection-expected.txt: Added.
     10        * fast/forms/select-reset-multiple-selections-4-single-selection.html: Added.
     11
    1122009-08-04  Adam Barth  <abarth@webkit.org>
    213
  • trunk/WebCore/ChangeLog

    r46804 r46806  
     12009-08-05  Szabo Carol  <carol.szabo@nokia.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=27942
     6
     7        Test: fast/forms/select-reset-multiple-selections-4-single-selection.html
     8
     9        * dom/SelectElement.cpp:
     10        (WebCore::SelectElement::reset):
     11           Added HTML 4.01 compliant handling of broken webpages that
     12           specify more than one selected option for single selection SELECT
     13           element, in a manner that emulates Firefox and is similar to IE 7
     14
     15
    1162009-08-05  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
    217
  • trunk/WebCore/dom/SelectElement.cpp

    r46595 r46806  
    493493void SelectElement::reset(SelectElementData& data, Element* element)
    494494{
    495     bool optionSelected = false;
    496495    OptionElement* firstOption = 0;
     496    OptionElement* selectedOption = 0;
    497497
    498498    const Vector<Element*>& items = data.listItems(element);
     
    503503
    504504        if (!items[i]->getAttribute(HTMLNames::selectedAttr).isNull()) {
     505            if (selectedOption && !data.multiple())
     506                selectedOption->setSelectedState(false);
    505507            optionElement->setSelectedState(true);
    506             optionSelected = true;
     508            selectedOption = optionElement;
    507509        } else
    508510            optionElement->setSelectedState(false);
     
    512514    }
    513515
    514     if (!optionSelected && firstOption && data.usesMenuList())
     516    if (!selectedOption && firstOption && data.usesMenuList())
    515517        firstOption->setSelectedState(true);
    516518
Note: See TracChangeset for help on using the changeset viewer.