Thanks for resolving this! LGTM2. On Thu, Oct 10, 2024 at 3:43 AM Diego González <die...@gmail.com> wrote:
> 💖 > > On Wednesday 9 October 2024 at 17:13:19 UTC+1 Alexis Menard wrote: > >> We did resolve this in the spec, my bad. As the FYI the W3C Device and >> Sensors WG has decided to move this API to CR. >> >> On Tue, Oct 8, 2024 at 9:28 PM Domenic Denicola <dom...@chromium.org> >> wrote: >> >>> To be clear, I'm OK if the relevant standards body (i.e. the W3C Devices >>> and Sensors WG) has decided that this does not require a permissions >>> policy. But I would like it to be resolved one way or another before we >>> approve this for shipping. Right now it is listed as an open issue in the >>> spec, and it's one that will be hard to change after shipping, so per the >>> "Anticipated spec changes" of our I2S template, I'd like to get that >>> resolved. >>> >>> On Wed, Oct 9, 2024 at 3:14 AM Alex Russell <sligh...@chromium.org> >>> wrote: >>> >>>> It's unclear to me that this should have a permission. >>>> >>>> LGTM1 >>>> >>>> On Mon, Oct 7, 2024, 7:19 AM Alexis Menard <alexis...@intel.com> wrote: >>>> >>>>> >>>>> >>>>> On Mon, Oct 7, 2024 at 9:31 AM Ian Clelland <icle...@chromium.org> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Mon, Oct 7, 2024 at 7:36 AM Alexis Menard <alexis...@intel.com> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Thanks for your approval. >>>>>>> >>>>>>> I can confirm that the API is exposed to iframe through JS and CSS. >>>>>>> >>>>>>> Concerning your suggestion I agree that we could put this behind a >>>>>>> permission policy but unfortunately if the intent is to limit potential >>>>>>> ephemeral fingerprinting then it will not help at all. In Chromium it's >>>>>>> easy to gate the JS API behind a permission policy but there is no prior >>>>>>> art of a CSS API being gated behind a permission policy (I may be >>>>>>> wrong). >>>>>>> So the iframe CSS code will still be parsed which would not impede >>>>>>> accessing the posture. Finally one can just use JavaScript to query the >>>>>>> posture using `matchMedia` so in order for this whole permission to >>>>>>> truly >>>>>>> block we would need to patch the CSS engine deep down. >>>>>>> >>>>>> >>>>>> We've never shipped any CSS gating based on permissions policy, but >>>>>> we have experimented with it; in particular, we've released experimental >>>>>> policies to restrict the use of animations on properties which affect >>>>>> layout, and to restrict the values which can be used for the font-display >>>>>> property. These have since been removed from the code, as we're not >>>>>> pursuing those anymore, but the idea of controlling the CSS engine with >>>>>> permissions policy has been tried. >>>>>> >>>>>> I'm not sure if the fact that this API is exposed through media >>>>>> queries makes this more complex, but from a spec perspective, as long as >>>>>> you can describe the behaviour in terms of what the current document is >>>>>> "allowed to use", then you should be able to express the right >>>>>> constraints >>>>>> to use permissions policy. >>>>>> >>>>> >>>>> Interesting. I'll try to dig the CL just out of curiosity. >>>>> >>>>> >>>>>> >>>>>> Ian >>>>>> >>>>>> >>>>>>> I had this discussion with the PING and they agreed that we don't >>>>>>> have any mechanism in place even CSS to support such a thing. There is a >>>>>>> discussion which started few weeks ago between the PING and CSS WG. I >>>>>>> believe that in the future this use case could come up for some other >>>>>>> APIs >>>>>>> especially when things are exposed through env variables. So unless >>>>>>> there >>>>>>> is some idea of a spec or update to permission policy spec I'm not sure >>>>>>> if >>>>>>> we should start modifying the CSS engine deeply. >>>>>>> >>>>>>> Coming back to this API, to be honest I think the fingerprinting is >>>>>>> very low risk, ephemeral and is going to be less and less relevant as >>>>>>> more >>>>>>> and more users are using foldables especially in the folded posture >>>>>>> (remember that any other device including desktop returns the continuous >>>>>>> posture). >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> >>>>>>> On Mon, Oct 7, 2024, 12:24 AM Domenic Denicola <dom...@chromium.org> >>>>>>> wrote: >>>>>>> >>>>>>>> This looks like a really solid spec that has benefited from years >>>>>>>> of iteration and had good TAG review discussion. The fact that you >>>>>>>> specified and are working on WebDriver hooks to emulate posture changes >>>>>>>> during testing, and added DevTools integration, are more great signs of >>>>>>>> maturity. I'm excited to approve this. >>>>>>>> >>>>>>>> The only blocker is that >>>>>>>> https://github.com/w3c/device-posture/issues/111 remains open and >>>>>>>> changing that after shipping would be a significant change. It sounds >>>>>>>> like >>>>>>>> your current plan is to expose this information across iframes. Can you >>>>>>>> confirm? If so, are you ready to close that issue and lock in the >>>>>>>> current >>>>>>>> state? >>>>>>>> >>>>>>>> A more conservative plan would be to not expose the information >>>>>>>> across cross-origin iframes. You could then loosen that in the future, >>>>>>>> probably by introducing a permissions policy: either with a default >>>>>>>> allowlist of '*' to get the current behavior (but allow top frames to >>>>>>>> restrict), or a default allowlist of 'self' to keep the restriction by >>>>>>>> default (but allow top frames to share). Absent strong use cases for >>>>>>>> sharing cross-origin by default, that would be my suggestion. >>>>>>>> >>>>>>>> On Thu, Oct 3, 2024 at 11:42 PM Alexis Menard <alexis...@intel.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Contact emails alexis...@intel.com >>>>>>>>> >>>>>>>>> Explainer https://github.com/w3c/device-posture >>>>>>>>> https://www.w3.org/TR/device-posture/#introduction >>>>>>>>> >>>>>>>>> Specification https://www.w3.org/TR/device-posture >>>>>>>>> >>>>>>>>> Summary >>>>>>>>> >>>>>>>>> This API helps developers to detect the current posture of a >>>>>>>>> foldable device. The device posture is the physical position in which >>>>>>>>> a >>>>>>>>> device holds which may be derived from sensors in addition to the >>>>>>>>> angle. >>>>>>>>> From enhancing the usability of a website by avoiding the area of a >>>>>>>>> fold, >>>>>>>>> to enabling innovative use cases for the web, knowing the posture of a >>>>>>>>> device can help developers tailor their content to different devices. >>>>>>>>> Content can be consumed and browsed even when the device is not flat, >>>>>>>>> in >>>>>>>>> which case the developer might want to provide a different layout for >>>>>>>>> it >>>>>>>>> depending on the posture state in which the device is being used. >>>>>>>>> >>>>>>>>> >>>>>>>>> Blink component Blink>FoldableAPIs >>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EFoldableAPIs> >>>>>>>>> >>>>>>>>> TAG review https://github.com/w3ctag/design-reviews/issues/575 >>>>>>>>> >>>>>>>>> TAG review status Issues addressed >>>>>>>>> >>>>>>>>> Risks >>>>>>>>> >>>>>>>>> >>>>>>>>> Interoperability and Compatibility >>>>>>>>> >>>>>>>>> None >>>>>>>>> >>>>>>>>> >>>>>>>>> *Gecko*: No signal ( >>>>>>>>> https://github.com/mozilla/standards-positions/issues/882) >>>>>>>>> >>>>>>>>> *WebKit*: No signal ( >>>>>>>>> https://github.com/WebKit/standards-positions/issues/328) >>>>>>>>> >>>>>>>>> *Web developers*: >>>>>>>>> >>>>>>>>> https://github.com/w3c/device-posture/issues/111#issuecomment-2363251667 >>>>>>>>> >>>>>>>>> *Other signals*: >>>>>>>>> >>>>>>>>> WebView application risks >>>>>>>>> >>>>>>>>> Does this intent deprecate or change behavior of existing APIs, >>>>>>>>> such that it has potentially high risk for Android WebView-based >>>>>>>>> applications? >>>>>>>>> >>>>>>>>> Feature is disabled on WebView for now. See >>>>>>>>> https://issues.chromium.org/issues/335314107 for more details. >>>>>>>>> >>>>>>>>> >>>>>>>>> Debuggability >>>>>>>>> >>>>>>>>> Besides the usual DevTools debugging of the CSS and JavaScript >>>>>>>>> API, a specific device has been added into the Device Emulation mode. >>>>>>>>> >>>>>>>>> >>>>>>>>> Will this feature be supported on all six Blink platforms >>>>>>>>> (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? Yes >>>>>>>>> >>>>>>>>> The API will work on all the platforms but only Android and >>>>>>>>> Windows will return posture information (other platforms do not have >>>>>>>>> this >>>>>>>>> category of devices) >>>>>>>>> >>>>>>>>> >>>>>>>>> Is this feature fully tested by web-platform-tests >>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>>>> ? Yes >>>>>>>>> >>>>>>>>> The tests aren't complete yet because we need integration with >>>>>>>>> WebDriver to emulate posture changes. It's being worked on. >>>>>>>>> https://github.com/web-platform-tests/wpt/tree/master/device-posture >>>>>>>>> >>>>>>>>> >>>>>>>>> Flag name on chrome://flags device-posture >>>>>>>>> >>>>>>>>> Finch feature name kDevicePosture >>>>>>>>> >>>>>>>>> Requires code in //chrome? False >>>>>>>>> >>>>>>>>> Tracking bug >>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1066842 >>>>>>>>> >>>>>>>>> Sample links >>>>>>>>> https://github.com/foldable-devices >>>>>>>>> >>>>>>>>> Estimated milestones >>>>>>>>> Shipping on desktop 131 >>>>>>>>> Origin trial desktop first 125 >>>>>>>>> Origin trial desktop last 128 >>>>>>>>> DevTrial on desktop 95 >>>>>>>>> Shipping on Android 131 >>>>>>>>> Origin trial Android first 125 >>>>>>>>> Origin trial Android last 128 >>>>>>>>> DevTrial on Android 123 >>>>>>>>> >>>>>>>>> Anticipated spec changes >>>>>>>>> >>>>>>>>> Open questions about a feature may be a source of future web >>>>>>>>> compat or interop issues. Please list open issues (e.g. links to known >>>>>>>>> github issues in the project for the feature specification) whose >>>>>>>>> resolution may introduce web compat/interop risk (e.g., changing to >>>>>>>>> naming >>>>>>>>> or structure of the API in a non-backward-compatible way). >>>>>>>>> None >>>>>>>>> >>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>> https://chromestatus.com/feature/5185813744975872?gate=6219681092599808 >>>>>>>>> >>>>>>>>> Links to previous Intent discussions Intent to Prototype: >>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/prHGPxF62i4 >>>>>>>>> Intent to Experiment: >>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8c244153-79c4-483e-8449-4aca14b35636%40chromium.org >>>>>>>>> >>>>>>>>> >>>>>>>>> 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+...@chromium.org. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/540e383c-1e1c-4918-9f10-c3fb2dd9bc19%40intel.com >>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/540e383c-1e1c-4918-9f10-c3fb2dd9bc19%40intel.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+...@chromium.org. >>>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_U0%3DqYJnDGBM8Zm-yLh7XNT1tA1uKt1a6VzuDBHBdDYA%40mail.gmail.com >>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_U0%3DqYJnDGBM8Zm-yLh7XNT1tA1uKt1a6VzuDBHBdDYA%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+...@chromium.org. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOaK9AntwL_dhXaSvEHVAfoisf4fexB_tNTidO9BjqiWUxM2vQ%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOaK9AntwL_dhXaSvEHVAfoisf4fexB_tNTidO9BjqiWUxM2vQ%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+...@chromium.org. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK_TSXKv4q4Zj%2B-iDr%3DEbdENuZbdpFqxaaNrqXn6ZgdYX%2BGEXw%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK_TSXKv4q4Zj%2B-iDr%3DEbdENuZbdpFqxaaNrqXn6ZgdYX%2BGEXw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> >>>>> >>>>> -- >>>>> Alexis Menard >>>>> Software Engineer @ Intel >>>>> >>>>> -- >>>>> 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+...@chromium.org. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOaK9Am-Bas35FSfRbiFBcihOtrHYMMi6J_z7qfyjcMa8VQAqg%40mail.gmail.com >>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOaK9Am-Bas35FSfRbiFBcihOtrHYMMi6J_z7qfyjcMa8VQAqg%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+...@chromium.org. >>> >> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra-%2BuPc%3DMCHjad6sMrvp_yn27zVK4DfQJb-9tCv7CXuGfQ%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra-%2BuPc%3DMCHjad6sMrvp_yn27zVK4DfQJb-9tCv7CXuGfQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> Alexis Menard >> Software Engineer @ Intel >> > -- 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/CAM0wra9O6NvXoTOG0PzKitFxMgPz%3D32JYEZcSvX7hF%3DXnzs_sw%40mail.gmail.com.