[Webkit-unassigned] [Bug 235911] New: Select on iPad doesn't refresh dropdown UI after an option is removed
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 31 13:19:50 PST 2022
https://bugs.webkit.org/show_bug.cgi?id=235911
Bug ID: 235911
Summary: Select on iPad doesn't refresh dropdown UI after an
option is removed
Product: WebKit
Version: Safari 15
Hardware: iPhone / iPad
OS: iOS 15
Status: NEW
Severity: Critical
Priority: P2
Component: Layout and Rendering
Assignee: webkit-unassigned at lists.webkit.org
Reporter: m.goleb+bugzilla at gmail.com
CC: bfulgham at webkit.org, simon.fraser at apple.com,
zalan at apple.com
This is an issue reported as happening in the wild on a project using AngularJS. AngularJS is EOL now and will not see a new release. Unless iPad Safari is fixed, this will forever stay broken in the official AngularJS.
On an iPad with the latest iPadOS 15.3, if you have a `<select>` element on the page and you perform the following steps:
1. Open the select dropdown by clicking on it (then optionally close it, it doesn't matter)
2. Programmatically remove an option by invoking `select.remove(0)`
3. Open the select dropdown again
you'll see that the dropdown still shows all the original options despite the select DOM being properly updated.
When that issue happens, it's sometimes very hard to force Safari to update the UI state properly. Opening the same select dropdown repeatedly doesn't update it. Some CSS actions like setting the select height help but only if the dropdown is opened after this height update so programmatic workarounds like "set select height to 10px, force style recalc, reset select height" don't work. If you have multiple select elements on the page and you open another one, the UI state cache is apparently cleared and opening the first select now shows the correct options. Again, this is not something that can be done programmatically by a library.
Weirdly, this only happens on iPad. It works fine on macOS & on an iPhone. On an iPad, it happens both on a real device (tested on iPad 9th generation) on iPadOS 15.3 and on an iPad Pro (11-inch) simulator with iPadOS 15.2. I was also able to reproduce on an iPadOS 14.5 simulator but not on the iPadOS 13.5 one.
A live test case: Test case showing the issue: https://output.jsbin.com/fihujuq/8.
The AngularJS issue: https://github.com/angular/angular.js/issues/17168
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220131/a049824e/attachment.htm>
More information about the webkit-unassigned
mailing list