On Mon, 24 Oct 2022 02:06:23 GMT, Toshio Nakamura <[email protected]> wrote:
>> When JEditorPane shown HTML form with multi-selection, the reset operation >> broke its data. >> >> The sample testcase were attached in JBS. The recreate steps are below: >> 1. The sample shows a multi-selection form with 5 items. >> 2. Select the 4th item. >> 3. Press the reset button. >> Actual: The 4th item is still selected. >> Expect: No item should be selected. Resetting operation may move to the >> initial state. The sample doesn't use 'selected' property in each option tag. >> 4. Just after the step 3, move the focus to outside of the application and >> back. >> Actual: The 2nd item is selected. It means inside data indicates so. >> Expect: No item is selected. >> >> There are two issues. The current method >> `OptionListModel.removeIndexInterval()` removed the indexed item, and >> shifted the rest. Then, selection values were corrupted. >> I think the clear selection method `OptionListModel.clearSelection()` is >> suitable here. >> >> Test: jdk_desktop on macOS (x64, Monterey), Linux (x64, RHEL8), and Windows >> (x64, 2012R2). >> No regression found > > Toshio Nakamura has updated the pull request incrementally with one > additional commit since the last revision: > > Fixed space Tested with jwebserver. It shows logs like `GET /test.html?select=1&subtmi=submit HTTP/1.1`, and the selected items can be identified. Test1: 5 items in HTML select form without property. Like, <select size="5" multiple> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> 1.1 Select and submit |selected item(s)|results w/o patch |results w/ patch | | -------------- | ------- | ------ | |1 |1 |1 | |2 |2 |2 | |3 |3 |3 | |4 |4 |4 | |5 |5 |5 | |1,2,3,4,5 |1,2,3,4,5 |1,2,3,4,5 | 1.2. Select, _reset_ and submit |selected item(s)|w/o patch|w/ patch| | -------------- | ------- | ------ | |1 |none |none | |2 |**1** |none | |3 |none |none | |4 |**2** |none | |5 |none |none | |1,2,3,4,5 |**1,2** |none | Test2: 5 items in HTML select form with 'selected' property at the first items. Like, <select size="5" multiple> <option selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> 2.1 Select and submit |selected item(s)|w/o patch|w/ patch| | -------------- | ------- | ------ | |1 |1 |1 | |2 |2 |2 | |3 |3 |3 | |4 |4 |4 | |5 |5 |5 | |1,2,3,4,5 |1,2,3,4,5 |1,2,3,4,5 | 2.2 Select, _reset_ and submit |selected item(s)|w/o patch|w/ patch| | -------------- | ------- | ------ | |1 |1 |1 | |2 |1 |1 | |3 |1 |1 | |4 |**1,2** |1 | |5 |1 |1 | |1,2,3,4,5 |**1,2** |1 | Bold marked cases have the problem, and this patch can solve it. ------------- PR: https://git.openjdk.org/jdk/pull/10685
