💖

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/3534e0e5-815c-43dd-b1af-ab7dea1248d8n%40chromium.org.

Reply via email to