RESOLVED FIXED 193180
Native caret shows up alongside the page's caret when requesting desktop site on jsfiddle.net
https://bugs.webkit.org/show_bug.cgi?id=193180
Summary Native caret shows up alongside the page's caret when requesting desktop site...
Wenson Hsieh
Reported 2019-01-06 14:12:33 PST
Version: iOS 12. To reproduce: 1. Go to jsfiddle.net 2. Request desktop site using the Share sheet 3. Tap in the HTML editor and begin typing Expected: only the page's custom text editing caret to show up Observed: both the native iOS editing caret and the page's caret are visible. The native editing caret falls out of sync with the custom caret after deleting text. Additional note: reproducible on codecademy.com as well, which also uses CodeMirror.
Attachments
Patch (20.73 KB, patch)
2019-01-06 18:35 PST, Wenson Hsieh
no flags
Patch (25.89 KB, patch)
2019-01-06 21:23 PST, Wenson Hsieh
no flags
Archive of layout-test-results from ews202 for win-future (12.85 MB, application/zip)
2019-01-06 23:13 PST, EWS Watchlist
no flags
Patch (25.83 KB, patch)
2019-01-07 09:09 PST, Wenson Hsieh
thorton: review+
Patch for landing (25.96 KB, patch)
2019-01-07 10:12 PST, Wenson Hsieh
no flags
Wenson Hsieh
Comment 1 2019-01-06 14:13:21 PST
Wenson Hsieh
Comment 2 2019-01-06 18:35:25 PST
Wenson Hsieh
Comment 3 2019-01-06 21:23:57 PST
EWS Watchlist
Comment 4 2019-01-06 23:13:46 PST Comment hidden (obsolete)
EWS Watchlist
Comment 5 2019-01-06 23:13:57 PST Comment hidden (obsolete)
Wenson Hsieh
Comment 6 2019-01-07 09:09:54 PST
Tim Horton
Comment 7 2019-01-07 09:51:09 PST
Comment on attachment 358499 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=358499&action=review > Source/WebKit/ChangeLog:14 > + When requesting desktop site on iOS, both CodeMirror's caret and the native iOS caret are shown because the > + caret is rendered in the UI process on iOS, whereas on macOS, the entire textarea (along with the caret) are it's really about the selection being pulled out of z-order, right? (everything is "rendered in the UI process" in some sense) > Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:156 > - FocusedElementIsTransparent = 1 << 0, > + FocusedElementIsNotVisible = 1 << 0, Is this promising too much? There are many kinds of occlusion it doesn't cover.
Wenson Hsieh
Comment 8 2019-01-07 09:59:01 PST
Comment on attachment 358499 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=358499&action=review >> Source/WebKit/ChangeLog:14 >> + caret is rendered in the UI process on iOS, whereas on macOS, the entire textarea (along with the caret) are > > it's really about the selection being pulled out of z-order, right? (everything is "rendered in the UI process" in some sense) That's right, it's about selection UI being rendered as a platform overlay on top of all page content. I'll reword the ChangeLog to make this clearer. >> Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:156 >> + FocusedElementIsNotVisible = 1 << 0, > > Is this promising too much? There are many kinds of occlusion it doesn't cover. 👍 I'll change this from FocusedElementIsNotVisible to FocusedElementIsTransparentOrFullyClipped. It's true that this still doesn't cover many cases of occlusion, but at the very least if this flag is set, we know the focused element must be hidden from the user.
Wenson Hsieh
Comment 9 2019-01-07 10:12:46 PST
Created attachment 358506 [details] Patch for landing
WebKit Commit Bot
Comment 10 2019-01-07 10:50:49 PST
Comment on attachment 358506 [details] Patch for landing Clearing flags on attachment: 358506 Committed r239685: <https://trac.webkit.org/changeset/239685>
Note You need to log in before you can comment on or make changes to this bug.