200 origins sounds like a lot. Do you know what %age of page views those
origins would represent?

On Wed, Feb 14, 2024 at 11:32 PM Brad Triebwasser <btri...@chromium.org>
wrote:

> *tl;dr:* We expect at most 200 origins could break, and only ~30 of those
> may be legitimately using the API.
>
> We do track UMA/UKM for the primary API entrypoint function (
> GetScreenDetails
> <https://developer.mozilla.org/en-US/docs/Web/API/Window/getScreenDetails>)
> which we expect nearly all legitimate usage of the API to use. We see 60
> unique origins invoking GetScreenDetails, dominated by a handful of
> origins (which align with the partners we know are using the API).
>
> For reference, 2500 unique origins are checking the window-management
> permission, and 200 unique origins checking the old window-placement
> permission (82% of those origins are *not *logging any GetScreenDetails
> calls).
>
> As Mike mentioned, the only breakage here would be a site using 
> navigator.permissions.query({name:
> 'window-placement'}) without error handling which according to UKM data
> would be roughly 200 origins (at most 18% of those may be
> legitimately using the API).
>
> I believe 200 unique origins is a relatively low number of potential
> breakages, especially considering our data strongly suggests a majority of
> that is fingerprinting.
>
> Regards,
> Brad
>
>
> On Mon, Feb 12, 2024 at 6:27 AM Mike Taylor <miketa...@chromium.org>
> wrote:
>
>> Agree that the risk feels low... one thing to perhaps check for (if you
>> have UKM or use counters) is to see if there is any legit usage on sites of
>> `navigator.permissions.query()` that isn't catching errors, since that will
>> throw a TypeError and can break a page.
>> On 2/12/24 9:16 AM, Rick Byers wrote:
>>
>> Presumably the risk of legitimate breakage here is bounded by the use of
>> the Window Management API, right? Are there any UseCounters for the various
>> Window Management operations? I couldn't find any at a quick glance. I
>> imagine legitimate usage is dominated by a few sites with an obvious need
>> (do we have UKM data?), and such sites should always degrade gracefully
>> without window management capabilities, right?
>>
>> My intuition is that the compat risk here should be extremely low, but I
>> hope we have some data to validate that which isn't tainted by the
>> fingerprinting usage.
>>
>> Rick
>>
>>
>> On Wed, Feb 7, 2024 at 1:59 PM Brad Triebwasser <btri...@chromium.org>
>> wrote:
>>
>>> +blink-dev@chromium.org <blink-dev@chromium.org> / Reply All
>>>
>>> Thanks for your feedback, Mike! Recipes inline:
>>>>
>>>> On Tue, Feb 6, 2024 at 9:36 PM Mike Taylor <miketa...@chromium.org>
>>>> wrote:
>>>>
>>>>> Hi Brad,
>>>>> On 2/6/24 3:49 PM, Brad Triebwasser wrote:
>>>>>
>>>>> Contact emails
>>>>>
>>>>> btri...@chromium.org
>>>>>
>>>>> Explainer
>>>>>
>>>>>
>>>>> https://github.com/w3c/window-management/blob/main/EXPLAINER_spec_and_permission_rename.md
>>>>>
>>>>> Specification
>>>>>
>>>>> https://w3c.github.io/window-management/#api-permission-api-integration
>>>>>
>>>>> Summary
>>>>>
>>>>> Removes the legacy "window-placement" alias for permission and
>>>>> permission policy "window-management". This is a follow-up to
>>>>> https://chromestatus.com/feature/5146352391028736 and corresponding
>>>>> blink-dev PSA
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Hf2b1-S39Uw/m/YAEC_0DSBQAJ>.
>>>>> The "window-placement" alias has been showing console deprecation warnings
>>>>> since M113
>>>>> <https://chromium.googlesource.com/chromium/src.git/+/13204be718225ae09c8ba7e36b055a369c36c878>.
>>>>> We will disable WindowPlacementPermissionAlias
>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5?q=-f:gen%2F%20AND%20-f:out%2F%20WindowPlacementPermissionAlias>
>>>>> by default, and remove the flag and legacy code shortly thereafter.
>>>>>
>>>>> I'm a little bit confused here - it seems like the PSA of the alias is
>>>>> being treated as the beginning of a deprecation, is that correct? My
>>>>> interpretation of "will lead to a deprecation and removal" from the
>>>>> original message was that it would be followed with an Intent to Deprecate
>>>>> and Remove (per
>>>>> https://www.chromium.org/blink/launching-features/#deprecate), but it
>>>>> seems like that step of the process was skipped.
>>>>>
>>>>  Yes, I never sent out a separate "Intent to Deprecate" in this case.
>>>> The original PSA
>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Hf2b1-S39Uw/m/YAEC_0DSBQAJ>
>>>>  was
>>>> intended to be a hybrid of the introduction of the new names and
>>>> deprecation of the old ones so we also landed deprecation code (DevTools
>>>> deprecation warnings etc.) during that time. Since these have already been
>>>> "deprecated" since M113, I wasn't sure if a separate "intent to deprecate"
>>>> was appropriate in this case since we already deprecated them and monitored
>>>> usage to be sufficiently low, but I can back-up and send an I2D if
>>>> recommended here.
>>>>
>>>>>
>>>>> Blink component
>>>>>
>>>>> Blink>Screen>MultiScreen
>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EScreen%3EMultiScreen>
>>>>>
>>>>> TAG review
>>>>>
>>>>> No feedback was specifically requested for the permission rename,
>>>>> however related TAG reviews have been requested with both the old (1
>>>>> <https://github.com/w3ctag/design-reviews/issues/413>, 2
>>>>> <https://github.com/w3ctag/design-reviews/issues/602>) and new
>>>>> terminology (3 <https://github.com/w3ctag/design-reviews/issues/840>).
>>>>>
>>>>> TAG review status
>>>>>
>>>>> Not applicable
>>>>>
>>>>> Risks
>>>>> Interoperability and Compatibility
>>>>>
>>>>> There are low compatibility risks. Usage for the legacy permission and
>>>>> permission policy are ~0.006
>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/4448>
>>>>> and ~0.015
>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/4450>
>>>>> (% page loads) while the new variants are ~1.166
>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/4447>
>>>>> and ~3.066
>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/4449>
>>>>> (% page loads) respectively, indicating most usage has already migrated.
>>>>>
>>>>> These percentages are still relatively high, especially for the
>>>>> permissions policy variant. Besides the obvious fingerprint.js usage 
>>>>> (which
>>>>> shouldn't break pages... I would hope), can you describe what the failure
>>>>> mode is after the proposed removal is? Have you dug into the remaining
>>>>> usage to verify?
>>>>> Yes, I dug into the remaining usage quite extensively via Web Archive
>>>>> queries and UKM and couldn't find any usages other than what looked like
>>>>> fingerprinting. After removal, the permission API will produce an error 
>>>>> due
>>>>> to an unknown permission, and the permission policy will silently fail
>>>>> (e.g. iframes with allow='window-placement' will not have access to the
>>>>> features). I beleive that the numbers shifting several orders of magnitude
>>>>> in favor of the new strings seems to indicate legitamite usage has
>>>>> migrated, and the remainig usage likely fingerprinting.
>>>>>
>>>>> Gecko: No signal
>>>>>
>>>>> Firefox has not implemented the API and corresponding permission yet.
>>>>> The original API signal request is here
>>>>> <https://github.com/mozilla/standards-positions/issues/542>.
>>>>>
>>>>> WebKit: No signal
>>>>>
>>>>> Safari has not implemented the API and corresponding permission yet.
>>>>> The original API signal request is here
>>>>> <https://github.com/WebKit/standards-positions/issues/117>.
>>>>>
>>>>> Mind linking to the original API position requests here in this thread?
>>>>> Added links above to the original API signal request. FWIW, we have
>>>>> since filed additional requests for functionality related to window
>>>>> management, not necessarily window *placement* related (hence
>>>>> motivation for renaming the API): eg 1
>>>>> <https://github.com/WebKit/standards-positions/issues/96> 2
>>>>> <https://github.com/mozilla/standards-positions/issues/712>
>>>>>
>>>>>
>>>>> Web developers: We have communicated internally with partners using
>>>>> the API who have expressed commitment to updating the permission strings 
>>>>> in
>>>>> their code.
>>>>>
>>>>> Other signals: Positive comment
>>>>> <https://github.com/w3c/window-placement/pull/115#pullrequestreview-1159676614>
>>>>> from W3C WG Chair
>>>>>
>>>>> WebView application risks
>>>>>
>>>>> This is considered low risk. It removes an alias without any change in
>>>>> behavior of the underlying API.
>>>>>
>>>>> Does this permission do anything on WebView? I would have guessed no.
>>>>> Your correct, this window management API doesn't apply to WebView so
>>>>> there is no impact there.
>>>>>
>>>>>
>>>>> Debuggability
>>>>>
>>>>> Disabling WindowPlacementPermissionAlias
>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5?q=-f:gen%2F%20AND%20-f:out%2F%20WindowPlacementPermissionAlias>
>>>>> will stop DevTools deprecation warnings for usage of the legacy strings 
>>>>> and
>>>>> instead will act as if they did not exist at all (e.g. Permission API will
>>>>> produce an error when using "window-placement").
>>>>>
>>>>>
>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>> Mac, Linux, ChromeOS, Android, and Android WebView)?
>>>>>
>>>>> No. This feature is not supported on Android.
>>>>>
>>>>> Is this feature fully tested by web-platform-tests
>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>> ?
>>>>>
>>>>> Yes. Web Platform tests have already been migrated to the new alias:
>>>>>
>>>>> https://github.com/web-platform-tests/wpt/tree/master/window-management
>>>>>
>>>>> Flag name on chrome://flags
>>>>>
>>>>> None
>>>>>
>>>>> Finch feature name
>>>>>
>>>>> WindowPlacementPermissionAlias
>>>>>
>>>>> Requires code in //chrome?
>>>>>
>>>>> False
>>>>>
>>>>> Tracking bug
>>>>>
>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1328581
>>>>>
>>>>> Estimated milestones
>>>>>
>>>>> M123 (flag disable) M125 (flag/code removal)
>>>>>
>>>>> Anticipated spec changes
>>>>>
>>>>> None
>>>>>
>>>>> Link to entry on the Chrome Platform Status
>>>>>
>>>>> https://chromestatus.com/feature/5137018030391296
>>>>>
>>>>> This intent message was generated by Chrome Platform Status
>>>>> <https://chromestatus.com/>.
>>>>>
>>>>> --
>>>>> 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/CALEeEUCdqsmmEhBROkinxbzTULFPXnC8goANs6-_O8n3%2B%3D47hQ%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALEeEUCdqsmmEhBROkinxbzTULFPXnC8goANs6-_O8n3%2B%3D47hQ%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/CALEeEUBYrF50-%3Dp8umAxQLaEttR-jW4WRfWyF5AATV2p29w17w%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALEeEUBYrF50-%3Dp8umAxQLaEttR-jW4WRfWyF5AATV2p29w17w%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/CALEeEUDd9YoriLSXG3h7usjpyJThZ4W3%2BixTCdVK2PhS0p9_Rw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALEeEUDd9YoriLSXG3h7usjpyJThZ4W3%2BixTCdVK2PhS0p9_Rw%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/CAOmohSKNJHwoZ9MrB_Oujv9XZ8Eq2qJbmCk%2ByOqUtq6SV0QGqA%40mail.gmail.com.

Reply via email to