Hi Torne,
Thanks for the clarification. Sorry, I misread that we are going to ship
the UA-CH in android webview.
I agree we need to meet to discuss the plan for UA-CH and UA reduction on
Webview sometime in the near future.

Best,
Victor

On Wed, Jan 18, 2023 at 12:49 PM Torne (Richard Coles) <to...@chromium.org>
wrote:

> On Wed, 18 Jan 2023 at 12:29, Victor Tan <victor...@chromium.org> wrote:
>
>> Hi Torne,
>> Thanks for your information. We understand your concern.
>> UA-CH in WebView will be shipping in Chrome M110
>> <https://chromestatus.com/feature/4936247663919104>.
>>
>
> UA-CH is entirely disabled in WebView at present and shipping CH
> persistence as covered in that bug is *not* supposed to be enabling it,
> because we haven't yet done any of the design work to figure out what the
> APIs exposed to apps for controlling it should be, how it should interact
> with custom UA strings, whether there should be a way to distinguish
> WebView from Chrome in the UA-CH values and whether that needs to be
> standardized, etc.
>
> The referenced bug *should* just be about making all the non-UA client
> hints work properly in WebView (currently they're mostly useless as
> Accept-CH isn't being persisted across requests).
>
> UA reduction in WebView is also in our future plan list, we will see how
>> the UA-CH works in Webview.
>>
>
> We need a plan for how to ship UA-CH for WebView and what it should
> include first :)
>
>
>> For now, I don't think what we did in this phase on Android will impact
>> Webview much since we already did the UA reduction phase 4 on
>> Android platform.
>> For the future plan, we will work out a plan (if UA-CH works as expected)
>> to do the UA reduction in Webview to match what we did in Chrome.
>> Also, we are glad to discuss with Webview for all other possibilities and
>> impacts.  Thanks.
>>
>
> Understood, but if we ultimately want to change WebView's UA in a way that
> doesn't pass the current CDD/CTS requirements then the work to change those
> requirements needs to happen at *least* an entire Android release ahead of
> time, and ideally would have been done several years ago if we want it to
> have the most impact :(
>
>
>>
>> Best,
>> Victor
>>
>> On Wed, Jan 18, 2023 at 12:20 PM Rick Byers <rby...@chromium.org> wrote:
>>
>>> Thanks Torne. I don't think it necessarily blocks this intent, but +1 to
>>> having a unified plan for WebView. I assume the format (eg. not omitting
>>> the device model completely) is being driven by web compat concerns which
>>> would matter for WebView as well, right?
>>>
>>
> It's not really directly about web compat concerns. See
> https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/web-platform-compatibility.md#Android_s-Compatibility-Test-Suite-tests-some-WebView-behaviours
> for more on this, but briefly: CTS/CDD are about *application*
> compatibility - they are requirements the Android OS must satisfy to be
> considered compatible with existing Android applications. Anything that's
> tested by CTS is something that app developers are expected to be able to
> rely on.
>
> It's likely that *most* consideration of WebView's UA string is happening
> on the web side (by JS or by server side logic), but the UA string is also
> exposed directly to apps via Java APIs and so the actual code of the app
> might *also* be parsing this information (and the Java API currently does
> *not* provide any way to access client hints, other than loading a page and
> injecting JS into it to access the JS APIs). Web content that's designed
> only to be loaded in a specific WebView application might potentially rely
> much more heavily on the specific format of the UA string than content
> that's intended to be used by multiple browsers, and may not ever be loaded
> in Chrome or ever show up in web crawler data.
>
>
>> Do we have any data on the web compatibility of removing the model string
>>> entirely?
>>>
>>
> The model string is currently omitted automatically on prerelease versions
> of the Android OS as a basic precaution to not leak model names of
> unreleased devices. This doesn't get a lot of production usage, but we do
> regularly get bugs filed against us every single android release by device
> vendors or other developers complaining that the useragent is "wrong" (even
> though omitting the model entirely has been explicitly allowed by CTS for
> quite a few releases now). We've also previously discussed removing the
> model with various parties who had very strong objections on the grounds
> that they use it for targeting downloads/support info/etc to particular
> devices; if this information instead becomes available in UA-CH that may be
> an acceptable migration path but this will likely be some amount of new
> impact to developers/sites who are *not* affected by the changes to
> Chrome's UA (because their content is only loaded inside WebViews).
>
> So, I don't have any concrete data on the impact and we've not run any
> experiments here, but it's likely to involve at least some new issues
> distinct from Chrome's.
>
>
>> My assumption is that it would be too breaking, but that's just an
>>> assumption. Victor, can you or your team meet with Torne and figure out
>>> whether a long-term plan for WebView would impact what we do for Chrome now?
>>>
>>> Thanks,
>>>    Rick
>>>
>>> On Wed, Jan 18, 2023 at 12:06 PM Torne (Richard Coles) <
>>> to...@chromium.org> wrote:
>>>
>>>> I have some concerns that we won't be able to use this format for
>>>> Android WebView. I realise we're not currently shipping UA reduction for
>>>> WebView, but AFAIK we are still hoping to do so at some point in the 
>>>> future.
>>>>
>>>> WebView's UA format is mandated by Android's CTS compatibility tests. I
>>>> relaxed the test criteria some time ago to allow the device model and
>>>> Android build ID to be omitted (though WebView currently still includes
>>>> this information), but the test currently requires these fields to either
>>>> be entirely absent, or to exactly match the underlying OS properties. It
>>>> also does not allow the less-granular OS version to be omitted or spoofed.
>>>>
>>>> It'd be good to have a long term plan for what we're going to do with
>>>> the UA and with UA-CH in WebView that matches Chrome as closely as 
>>>> possible.
>>>>
>>>> On Tue, 17 Jan 2023 at 11:02, Victor Tan <victor...@chromium.org>
>>>> wrote:
>>>>
>>>>> Contact emails
>>>>>
>>>>> victor...@chromium.org, miketa...@chromium.org
>>>>>
>>>>> Explainer
>>>>>
>>>>>
>>>>> https://github.com/WICG/ua-client-hints#explainer-reducing-user-agent-granularity
>>>>>
>>>>> Specification
>>>>>
>>>>> https://www.chromium.org/updates/ua-reduction is the closest thing
>>>>> that specifies Chrome’s UA Reduction plans today. As these changes land in
>>>>> Chromium and ship to 100% stable, the Compat Standard
>>>>> <https://compat.spec.whatwg.org/> will be updated in the UA String
>>>>> section <https://compat.spec.whatwg.org/#ua-string-pattern-chrome>,
>>>>> like we did for the Phase 4 and plan to do for Phase 5 changes.
>>>>>
>>>>> Summary
>>>>>
>>>>> As previously detailed on the Chromium Blog
>>>>> <https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html>,
>>>>> we intend to proceed with Phase 6 of the User-Agent Reduction plan
>>>>> <https://www.chromium.org/updates/ua-reduction/#sample-ua-strings-phase-6>.
>>>>> In Phase 6, we change the deviceModel token to “K” and change the
>>>>> androidVersion token to a static “10” string in Android User-Agent
>>>>> string. The navigator.platform will be a “Linux armv81” constant on
>>>>> the Android platform.
>>>>>
>>>>> Blink component
>>>>>
>>>>> Blink>Network>ClientHints
>>>>>
>>>>> TAG review
>>>>>
>>>>> https://github.com/w3ctag/design-reviews/issues/640
>>>>>
>>>>> TAG review status
>>>>>
>>>>> Closed satisfied with concerns.
>>>>>
>>>>> Risks
>>>>> Interoperability and Compatibility
>>>>>
>>>>> Any time you modify the User-Agent string there is a risk of breaking
>>>>> existing patterns, like some content somewhere depending on the previous
>>>>> format.
>>>>>
>>>>> We do not expect interoperability risks, as each browser sends its own
>>>>> User-Agent string format. However there is a risk that - on the Android
>>>>> platform - content may rely  on User-Agents to parse deviceModel and
>>>>> androidVersion information. To mitigate the risk of this change, we intend
>>>>> to slowly roll out the format via Finch on the Android platform and 
>>>>> observe
>>>>> health metrics and bug reports. See timeline below on our slow roll out
>>>>> plan. This gives us the option to roll this back for the Android platform
>>>>> if major issues arise.
>>>>>
>>>>> Displaying a static androidVersion and a deviceModel token for Android
>>>>> clients will not create a problem syntactically. But the web can get 
>>>>> pretty
>>>>> weird in ways we don't anticipate. For example, sites can rely on the
>>>>> deviceModel in the User-Agent string to determine whether the device is a
>>>>> mobile, laptop or desktop. Currently, we change the deviceModel to a 
>>>>> static
>>>>> string, sites need to use client hints as the alternative to determine the
>>>>> right behavior.  Hence the slow roll-out and incremental path towards
>>>>> User-Agent Reduction.
>>>>>
>>>>> Here is our proposed rollout plan in Chrome Stable channel
>>>>> (Canary/Dev/Beta has been enabled 50%), with the understanding that if we
>>>>> discover concerning breakage or regressions via health metrics or bug
>>>>> reports we will pause the rollout or roll back the feature entirely (and
>>>>> update this thread if so):
>>>>>
>>>>> Stage
>>>>>
>>>>> Duration
>>>>>
>>>>> Date
>>>>>
>>>>> Stable 1% (M110+)
>>>>>
>>>>> M110 stable release is shipping to 100% (a best guess)
>>>>>
>>>>> Feb 14, 2023
>>>>>
>>>>> Stable 10% (M110/M111)
>>>>>
>>>>> ~4 weeks after previous stage
>>>>>
>>>>> Mar 14, 2023
>>>>>
>>>>> Stable 50%
>>>>>
>>>>> (M110/M111)
>>>>>
>>>>> ~2 weeks
>>>>>
>>>>> Mar 28, 2023
>>>>>
>>>>> TOT Default (M114)
>>>>>
>>>>> ~2 weeks after previous stage
>>>>>
>>>>> Apr 11, 2023
>>>>>
>>>>> Stable 100% (M110=>M114)
>>>>>
>>>>> ~ Same business day as previous stage
>>>>>
>>>>> Apr 11, 2023
>>>>>
>>>>> Web stakeholders can still test with the user agent reduction
>>>>> deprecation origin trial
>>>>> <https://developer.chrome.com/origintrials/#/view_trial/2608710084154359809>
>>>>> until M113 (late May) if they need more time to adapt to the coming
>>>>> changes. The UA-RD OT allows web stakeholders to request the legacy
>>>>> user-agent string values (i.e. non-reduced values).
>>>>>
>>>>> Gecko: Shipped/Shipping. Firefox has frozen (or capped) much of their
>>>>> UA string already.
>>>>>
>>>>> WebKit: Shipped/Shipping. Safari has already frozen everything in
>>>>> their desktop UA string except for Safari and WebKit versions. Also, UA
>>>>> reduction phase 6 will only apply to the Android platform.
>>>>>
>>>>> Web developers: Mixed signals. Various channels have different
>>>>> reactions. It’s similar for the UA reduction phase 4 and phase 5.
>>>>>
>>>>>
>>>>> Debuggability
>>>>>
>>>>> No special DevTools support needed.
>>>>>
>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>>>
>>>>> No (Only for Android)
>>>>>
>>>>> Is this feature fully tested by web-platform-tests
>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>>>> ?
>>>>>
>>>>> No, because User-Agents vary across browsers.
>>>>>
>>>>> Flag name
>>>>>
>>>>> #reduce-user-agent-android-version-device-model
>>>>>
>>>>> Notes: The existing flag #reduce-user-agent will provide the same
>>>>> format User-Agent string on the Android platform since this is the last
>>>>> phase for User-Agent reduction.
>>>>>
>>>>> Tracking bug
>>>>>
>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1394819
>>>>>
>>>>> Launch bug
>>>>>
>>>>> https://launch.corp.google.com/launch/4225291
>>>>>
>>>>> Link to entry on the Chrome Platform Status
>>>>>
>>>>> https://chromestatus.com/feature/5177681979637760
>>>>>
>>>>> --
>>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7F7jKA4985JjpdzTr_XDkP%3DfS2pKaoBMStad9%3DujUzjuw%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7F7jKA4985JjpdzTr_XDkP%3DfS2pKaoBMStad9%3DujUzjuw%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 blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEV-rjcX%3D1sj8bO%2BUdNRjgMwaRHm7ytB24oH4S1GvU0QrYKTzg%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEV-rjcX%3D1sj8bO%2BUdNRjgMwaRHm7ytB24oH4S1GvU0QrYKTzg%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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7ErwXsDMjpAUS66Eyn-kWm_Gnx3saOwm8e12K9XCv-Pcg%40mail.gmail.com.

Reply via email to