LGTM2 under the same conditions!

On Fri, Oct 7, 2022 at 2:23 AM Mike Taylor <[email protected]> wrote:

> I see that Emilio has approved
> https://github.com/w3c/csswg-drafts/pull/7826, with a few suggestions.
>
> LGTM1 to ship w/ the review comments addressed and the PR landing (and
> thanks for speccing it!).
>
> On 9/23/22 10:17 PM, David Bokan wrote:
>
> Contact emails
>
> [email protected]
>
> Explainer
> https://github.com/bramus/viewport-resize-behavior/blob/main/explainer.md
>
> Specification
> The resize behavior of the virtual keyboard is not specified.
> The viewport meta tag is not yet fully specified
> <https://drafts.csswg.org/css-viewport/#viewport-meta>.
> See also https://github.com/w3c/csswg-drafts/issues/7767.
>
> Summary
> This intent:
>
>    - Changes the Android virtual keyboard such that it resizes the visual
>    viewport only, rather than the current behavior of resizing the initial
>    containing block (ICB) and layout viewport (LVP).
>    - Ships support for a new meta-viewport key interactive-widgets which
>    can be used to opt-out of the above change, and instead retain the old
>    behavior.
>
>    Example: <meta name=”viewport”
>    content=”interactive-widgets=resize-layout”>
>
>
> *Motivation *Browsers do not currently agree on how the virtual keyboard
> should interact with the viewport:
>
>    -
>
>    Chrome for Android and Firefox for Android both resize the initial
>    containing block and  layout viewport.
>    -
>
>    Chrome for ChromeOS and Windows; and Safari/iOS both resize the visual
>    viewport only.
>
> This discrepancy is a source of frustration for authors [1]
> <https://stackoverflow.com/questions/52384678/how-to-stop-soft-keyboard-resizing-chrome-browser-window-on-android-mobiles>
> [2]
> <https://stackoverflow.com/questions/67800763/how-to-avoid-the-android-keyboard-is-closed-automatically-after-i-click-on-an-in>
> [3]
> <https://medium.com/@sruthisreemenon/avoid-ui-distortions-during-keyboard-display-for-a-mobile-friendly-webpage-86eb99590a13>
> [4] <https://bugs.chromium.org/p/chromium/issues/detail?id=404315>. While
> both approaches have valid use-cases, we believe that resizing the visual
> viewport is the best default, as it avoids any layout-jank from opening the
> keyboard, and in general interferes with the page as little as possible.
>
> Other vendors also have long-standing issues in this area:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1007286
>
> This intent improves interop for mobile viewports, a priority investigation
> area for Interop 2022 <https://wpt.fyi/interop-2022>. Mobile viewports
> (especially the meta tag) are unfortunately not well specified, and we plan
> to work on resolving CSSWG issue 7767
> <https://github.com/w3c/csswg-drafts/issues/7767> in parallel with this
> intent. In the meantime we plan to add this feature to the Compat spec
> <https://compat.spec.whatwg.org/>.
>
> Blink component
> Blink>Scroll
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EScroll>
>
> TAG review
> N/A
>
> TAG review status
> Not applicable
>
> Risks
>
> Interoperability and Compatibility
>
> The main risk with this change is web apps which critically depend on the
> current LVP-resize behavior, e.g. a chat app with a message box fixed above
> the keyboard.
>
> Those use-cases would no longer be possible with the default behavior, and
> it was exactly this concern that stopped the previous attempt to ship
> this behavior
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Tr43oT4DQoY/m/XRxLWmrrEQAJ>
> at LGTM2.
>
> What makes this intent different:
>
>    -
>
>    The VirtualKeyboard API
>    <https://developer.chrome.com/docs/web-platform/virtual-keyboard/> now
>    exists, which exposes the geometry of the keyboard as CSS-reachable
>    environment variables allowing app full control over keyboard behavior.
>    -
>
>    For an easier fix, a new <meta> opt-out has been added which can be
>    used to maintain the current LVP-resize behavior. This is a trivial fix for
>    any affected web app.
>
> As there is no good way to detect the problematic cases with a use-counter
> / HTTP Archive query, we must instead rely on developer outreach to inform
> this change. That outreach will reference this intent, and therefore the
> results of that will be provided in a follow-up e-mail.
>
> We expect this change to be a significant win for interop.
>
> *Signals:*
>
> Gecko: No response yet[standards position
> <https://github.com/mozilla/standards-positions/issues/693>] (Some
> non-official positive signals from Mozilla engineers from discussions at
> TPAC and in 7767
> <https://github.com/w3c/csswg-drafts/issues/7767#issuecomment-1251680898>
> that Firefox could make this change)
>
> WebKit: No response yet [standards position
> <https://github.com/WebKit/standards-positions/issues/65>]. The change to
> Chromium’s default behavior would now align with WebKit behavior..
>
> Web developers: See “author frustration” links earlier in this e-mail.
>
> Other signals: N/A
> WebView application risks
>
> There is no intended behavior change for Android WebView. The Android app
> is responsible for sizing the WebView and can implement either mode via
> windowSoftInputMode
> <https://developer.android.com/guide/topics/manifest/activity-element#wsoft>
> .
> Debuggability
>
> N/A - There's no DevTools functionality directly related to the virtual
> keyboard.
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, Chrome OS, Android, and Android WebView)?
>
> This change affects only Android, bringing it in alignment with Chrome's
> virtual keyboard behavior on ChromeOS and Windows.
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> No. It is currently impossible to test the virtual keyboard as a WPT.
> Flag name
>
> OSKResizesVisualViewport
> Requires code in //chrome?
>
> Yes - Interaction between web contents container and on-screen keyboard is
> implemented in the //chrome layer.
> Tracking bug
>
> 1353728 <https://bugs.chromium.org/p/chromium/issues/detail?id=1353728>
>
> 404315 <http://crbug.com/404315>
>
> Estimated milestones
>
> M108
>
> Note: This change does carry relatively significant compat risk which is
> difficult to measure. As such, we’re planning a careful approach. The
> feature will have a chrome://flag and enterprise policy to allow
> opting-out. We plan to widely share this change via DevRel channels and
> closely monitor feedback and bug reports prior to hitting stable to gauge
> if a rollback is needed.
>
> Anticipated spec changes
>
>    -
>
>    The keyboard behavior is not governed by any spec.
>    -
>
>    The “viewport” <meta> is also not governed by any spec at the time of
>    writing, although there is a recent ambition to change that
>    <https://github.com/w3c/csswg-drafts/issues/7590>.
>
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/6145225857171456
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/32f2f64f-c49c-4208-b9b9-bd480e64d523n%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/32f2f64f-c49c-4208-b9b9-bd480e64d523n%40chromium.org?utm_medium=email&utm_source=footer>
> .
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/cc5ab134-bc64-4b28-2120-aa6cd672130a%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/cc5ab134-bc64-4b28-2120-aa6cd672130a%40chromium.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU-mFYXPwMWpv1WDwN3YwDY-ogU-pKkv9t8-Nson1xWWw%40mail.gmail.com.

Reply via email to