Certainly. We are tracking UMA both for when the permission name "window-placement" is parsed (e.g all calls to navigator.permissions.query({name: 'window-placement'}) increment the counter. That function will throw an exception *"The provided value 'window-placement' is not a valid enum value of type PermissionName."*
On Mon, Feb 19, 2024 at 12:10 PM Yoav Weiss (@Shopify) < yoavwe...@chromium.org> wrote: > > > On Fri, Feb 16, 2024 at 8:19 PM Brad Triebwasser <btri...@chromium.org> > wrote: > >> 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> >> > > Can you detail what these two different counters represent? > Our typical threshold is about half of the lower one (~0.0003%), but that > varies based on the potential breakage. > > What would breakage here look like? > > >> (% 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, so the main metric for potential breakage here is >> 0.006% of page loads. 0.006% seems low in my opinion, but I'm curious if >> there is any guidance on a lower target % we should be aiming for prior to >> removing this feature. >> >> I separately calculated that the 200 origins make up about 0.0058% of >> total origins tracked by UKM (if that's what you're asking), which aligns >> with the UMA figures. I also want to note that 50 of those origins are >> likely the same (spam?) website (e.g. https://aaaa123.com, >> https://aaaa124.com, https://aaaa125.com). You can see examples of this >> in the UMA sample data >> <https://chromestatus.com/metrics/feature/timeline/popularity/4448>. >> >> Regards, >> Brad >> >> On Thu, Feb 15, 2024 at 12:42 AM Yoav Weiss (@Shopify) < >> yoavwe...@chromium.org> wrote: >> >>> 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/CALEeEUDXGvQV3v-pwCqHGDCtsd9GsuyZL-hUass%2BSeTs2SGOOA%40mail.gmail.com.