Bug 299626

Summary: [iOS] Element.requestFullscreen will use outdated hardware keyboard availability information if keyboard disconnects during browsing session
Product: WebKit Reporter: Abrar Rahman Protyasha <a_protyasha>
Component: WebKit Misc.Assignee: Byungseon(Sun) Shin <sun.shin>
Status: RESOLVED FIXED    
Severity: Normal CC: a_protyasha, bfulgham, sun.shin, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=264843
https://bugs.webkit.org/show_bug.cgi?id=299614
Bug Depends on:    
Bug Blocks: 303622    

Abrar Rahman Protyasha
Reported 2025-09-26 12:15:44 PDT
Currently, we mirror `hardwareKeyboardAttached` state between WebKit::WebPage and WebCore::Page by plumbing down from WebKit with a call into Page::setHardwareKeyboardAttached(). Unfortunately, we only propagate this information _once_ during WebPage creation. This means that this information can get outdated when hardware keyboard state changes (i.e. calls into hardwareKeyboardAvailabilityChanged). We should either (a) plug all the holes where hardware keyboard state is not being propagated or, better yet, (b) have WebCore::Page just key off of WebPage state by going through ChromeClient.
Attachments
Radar WebKit Bug Importer
Comment 1 2025-09-26 12:17:34 PDT
Radar WebKit Bug Importer
Comment 2 2025-09-26 12:17:34 PDT
Abrar Rahman Protyasha
Comment 3 2025-09-26 12:18:30 PDT
Byungseon(Sun) Shin
Comment 4 2025-09-30 08:08:58 PDT
@abra thanks for the catch. Will update the implementation soon by the guidance.
Byungseon(Sun) Shin
Comment 5 2025-10-15 13:49:22 PDT
EWS
Comment 6 2025-11-15 13:40:35 PST
Committed 303080@main (b40d0b9064e6): <https://commits.webkit.org/303080@main> Reviewed commits have been landed. Closing PR #52418 and removing active labels.
Byungseon(Sun) Shin
Comment 7 2025-11-15 13:43:19 PST
*** Bug 299614 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.