The explainer has also been updated to match the spec: 
https://github.com/bramus/viewport-resize-behavior/blob/main/explainer.md#proposal

B!


On Tuesday, October 11, 2022 at 5:26:54 PM UTC+2 David Bokan wrote:

> Update: the PR has been merged 
> <https://github.com/w3c/csswg-drafts/pull/7826>!
>
> There's been some small changes to naming, the tl;dr, authors will be able 
> to keep the existing OSK resize behavior by adding this meta tag (or 
> modifying their existing one):
>
> <meta name="viewport" content="interactive-widget=resizes-content">
>
> Will land changes in our implementation today to make that match the spec 
> text and then enable in trunk.
>
> Thanks,
> David
>
> On Monday, October 10, 2022 at 2:34:41 PM UTC-4 David Bokan wrote:
>
>> Thanks everyone!
>>
>> I'm still waiting on a confirmation for the last remaining issue on the 
>> spec PR 
>> <https://github.com/w3c/csswg-drafts/pull/7826#discussion_r990725831> but 
>> I hope to have that resolved and the changes enabled in trunk in the next 
>> day or two.
>>
>> I'll update this thread when that happens.
>>
>> On Friday, October 7, 2022 at 5:52:39 AM UTC-4 Mike West wrote:
>>
>>> LGTM3.
>>>
>>> -mike
>>>
>>>
>>> On Fri, Oct 7, 2022 at 4:56 AM Yoav Weiss <[email protected]> 
>>> wrote:
>>>
>>>> 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
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU-mFYXPwMWpv1WDwN3YwDY-ogU-pKkv9t8-Nson1xWWw%40mail.gmail.com?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/564c9372-bd39-44f3-9585-917b51ba04een%40chromium.org.

Reply via email to