Move navigation bar to bottom: preserve keyboard insets in overlays-content mode
Do not clear the application bottom inset when the virtual keyboard uses
OVERLAYS_CONTENT.
The bottom-toolbar workaround is only required for keyboard modes that
resize Chromium content. Overlay mode owns its keyboard geometry and the
protected keyboard implementation needs the original inset to track the
IME transition consistently.
Keep the existing inset suppression for all non-overlay keyboard modes.
Test: Verified on Android with the bottom toolbar enabled across keyboard
open and close transitions.
This commit is contained in:
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 70 +++++++++
|
||||
.../HeadlessBrowserControlsStateProvider.java | 5 +
|
||||
.../BottomBarContainerCoordinator.java | 7 +-
|
||||
.../compositor/CompositorViewHolder.java | 7 +
|
||||
.../compositor/CompositorViewHolder.java | 8 +
|
||||
.../layouts/LayoutManagerChrome.java | 12 +-
|
||||
.../layouts/LayoutManagerChromeTablet.java | 7 +-
|
||||
.../layouts/ToolbarSwipeLayout.java | 14 +-
|
||||
@@ -110,7 +110,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../render_widget_host_view_android.cc | 3 +
|
||||
.../Move-navigation-bar-to-bottom.inc | 17 ++
|
||||
.../renderer/core/frame/viewport_data.cc | 1 +
|
||||
97 files changed, 1111 insertions(+), 107 deletions(-)
|
||||
97 files changed, 1112 insertions(+), 107 deletions(-)
|
||||
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
|
||||
|
||||
@@ -962,11 +962,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
if (forwarder != null) {
|
||||
forwarder.setCurrentTouchOffsetX(left);
|
||||
forwarder.setCurrentTouchOffsetY(top);
|
||||
@@ -1043,6 +1047,9 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -1043,6 +1047,10 @@ public class CompositorViewHolder extends FrameLayout
|
||||
mApplicationBottomInsetSupplier != null
|
||||
? mApplicationBottomInsetSupplier.getInsets().webContentsHeightInset
|
||||
: 0;
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()
|
||||
+ && mVirtualKeyboardMode != VirtualKeyboardMode.OVERLAYS_CONTENT) {
|
||||
+ keyboardInset = 0;
|
||||
+ }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user