Protect keyboard geometry on Android

Prevent websites from inferring on-screen keyboard dimensions through
viewport changes, dynamic CSS viewport units, browser-controls geometry,
and the Virtual Keyboard API.

Keep Chromium content at its neutral pre-IME height inside a native
ProtectedViewportScrollView. Force overlays-content while protection is
active, expose an empty virtual-keyboard rectangle, and retain stable
browser-controls geometry throughout the IME transition.

Use the focused editable or caret bounds to pan the physical viewport
without resizing Blink. Preserve continuous scrolling by handing
unconsumed motion between the native ScrollView and cc while retaining
normal compositor hit testing for inner and root scrollers.

Add an enabled-by-default feature flag and a per-site content setting.
WebUI and extension pages retain Chromium's standard keyboard behavior.
This commit is contained in:
Carmelo Messina
2026-07-24 07:03:22 +02:00
parent dfaf564244
commit 7085986549
2 changed files with 3352 additions and 0 deletions
+1
View File
@@ -310,6 +310,7 @@ Disable-AppRating.patch
Enable-Android-DevTools-Frontend.patch
Reduce-input-capability-fingerprinting-through-normalization.patch
Disable-Android-HDR.patch
Protect-keyboard-geometry-on-Android.patch
# temporary or wip patches
Temp-disable-predictive-back-gesture.patch
File diff suppressed because it is too large Load Diff