Forgive my ignorance around this API generally, but is there any reason the spec can't require a single value? If not, why not?

On 1/18/24 3:05 PM, 'Sahir Vellani' via blink-dev wrote:
Appreciate the feedback! Yes the PR was reviewed by WG members for any major concerns; but I believe there will be more comprehensive feedback once the Level 3 spec lands. Regarding your concern, the language is based on that of PointerEvent.pointerId. The ultimate goal here is to differentiate between devices, and like pointerId, the way the ids are assigned has been left to the UA. I think web developers should be able to rely on PointerEvent.pointerType to confirm whether the pointer event comes from the primary mouse device. In Chromium, we transmit 1 for the mouse for PointerEvent.deviceId.

On Wednesday, January 17, 2024 at 7:39:48 AM UTC-8 yoav...@chromium.org wrote:

    On Wednesday, January 17, 2024 at 3:51:59 PM UTC+1
    vmp...@google.com wrote:

        On Thu, Jan 11, 2024 at 6:08 PM 'Sahir Vellani' via blink-dev
        <blin...@chromium.org> wrote:

            Hi all, good news!

            Reviving this thread because we have accomplished:
            1. TAG Review Completion: Extending the PointerEvent with
            Unique DeviceId Attribute · Issue #880 ·
            w3ctag/design-reviews (github.com)
            <https://github.com/w3ctag/design-reviews/issues/880> Resolution:
            Satisfied
            2. WICG Repository for standardization discussions. Link
            to explainer in WICG Repo:
            pointer-event-extensions/pointer-event-device-id-explainer.md
            at main · WICG/pointer-event-extensions (github.com)
            
<https://github.com/WICG/pointer-event-extensions/blob/main/pointer-event-device-id-explainer.md>
            3. A PR against the PointerEvent spec with proposed
            changes: Add deviceId to PointerEvent spec by sahirv ·
            Pull Request #495 · w3c/pointerevents (github.com)
            <https://github.com/w3c/pointerevents/pull/495/files> We
            will be waiting for Spec Level 3 to come out before this
            can be merged; but this provides an official starting
            point for the standardized description of this feature.
            Based on the feedback received, I don't anticipate any
            major changes to the design.


    Thanks for the PR! Was it reviewed by other WG members?
    For example, "User agents MAY reserve a generic `deviceId` value
    of `0` or `1` for events generated by the primary mouse device."
    seems risky from an interop perspective. E.g. developers may rely
    on some UAs doing that and fail when others don't.


        For posterity, I was initially unsure why this wasn't an issue
        on the w3c/pointerevents, but it does seem like the discussion
        happened there and folks agreed to move this in WICG:
        https://github.com/w3c/pointerevents/issues/353
        <https://github.com/w3c/pointerevents/issues/353> \o/


            Reviewers, can we please get another review for shipping
            this feature?

            On Wednesday, October 18, 2023 at 8:55:43 AM UTC-7
            sligh...@chromium.org wrote:

                I agree that this needs a spec PR and the explainer
                should at least migrate to WICG before we agree to
                ship. Also, can you please link to the TAG review?

                Best,

                Alex

                On Tuesday, October 17, 2023 at 4:16:41 AM UTC-7 Yoav
                Weiss wrote:

                    On Tue, Oct 17, 2023 at 12:42 AM Mike Taylor
                    <mike...@chromium.org> wrote:

                        LGTM1

                        On 10/15/23 11:07 AM, 'Sahir Vellani' via
                        blink-dev wrote:
                        Thanks for the feedback, I wasn't aware they
                        were mandatory. The steps have been started,
                        just awaiting feedback from Security and
                        Privacy reviewers. I've received LGTMs for
                        all other areas. After our response to
                        WebKit's question, they did not have any
                        further follow-up questions. So I'm assuming
                        all is well.

                        On Wednesday, October 11, 2023 at 4:59:15 AM
                        UTC-7 Daniel Bratell wrote:

                            I see that various mandatory steps in
                            chromestatus
                            (privacy,security,enterprise,debuggability,testing)
                            seems to be unstarted. It is possible
                            they were made mandatory after you create
                            the entry, but it would be good if you
                            could get them started now at least.

                            Also, it's unfortunate that TAG and
                            standards positions requests have not
                            resulted in anything, but that is hardly
                            your fault. There were some questions in
                            the WebKit request. Is all that ok now?

                            /Daniel

                            On 2023-10-06 20:10, 'Sahir Vellani' via
                            blink-dev wrote:


                            On Friday, October 6, 2023 at 9:03:35 AM
                            UTC-7 mike...@chromium.org wrote:


                                On 10/4/23 7:43 PM, 'Sahir Vellani'
                                via blink-dev wrote:
                                Contact emails
                                gerc...@microsoft.com,
                                sahir....@microsoft.com

                                Explainer
                                
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PointerEventDeviceId/explainer.md
                                
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PointerEventDeviceId/explainer.md>

                                Specification
                                
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PointerEventDeviceId/explainer.md
                                
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PointerEventDeviceId/explainer.md>


                    Is there a more formal spec for this?
                    Any support outside of Microsoft that would enable
                    y'all to move this to the WICG?



                                Summary

                                As devices with advanced pen input
                                capabilities are becoming
                                increasingly prevalent, it is
                                important that the web platform
                                continues to evolve to fully
                                support these advanced features in
                                order to unlock rich experiences
                                for both end users and developers.
                                One such advancement is the ability
                                for a device's digitizer to
                                recognize more than one pen device
                                interacting with it simultaneously.
                                This feature is an extension to the
                                PointerEvent interface to include a
                                new attribute, deviceId, that
                                represents a session-persistent,
                                document isolated, unique
                                identifier that a developer can
                                reliably use to identify individual
                                pens interacting with the page.



                                Blink component
                                Blink>Input
                                
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInput>

                                TAG review
                                
https://github.com/w3ctag/design-reviews/issues/880
                                
<https://github.com/w3ctag/design-reviews/issues/880>

                                TAG review status
                                Pending. TAG review has been
                                pending for 2 months.

                                Risks


                                Interoperability and Compatibility


                                /Gecko/: No signal
                                
(https://github.com/mozilla/standards-positions/issues/715
                                
<https://github.com/mozilla/standards-positions/issues/715>)

                                /WebKit/: No signal
                                
(https://github.com/WebKit/standards-positions/issues/102
                                
<https://github.com/WebKit/standards-positions/issues/102>)

                                /Web developers/: No signals

                                /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?/

                                None



                                Debuggability


                                Will this feature be supported on
                                all six Blink platforms (Windows,
                                Mac, Linux, Chrome OS, Android, and
                                Android WebView)?
                                No

                                Is this feature fully tested by
                                web-platform-tests
                                
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

                                No. However, there are web tests in
                                Chromium that test PointerEventInit
                                with this feature.

                                Flag name on chrome://flags
                                PointerEventDeviceId

                                Finch feature name


                                Non-finch justification
                                Edge origin trials successfully
                                underway.
                                Any Origin Trial feedback you can share?


                            Absolutely, the feature has been working
                            well. Our partners (Microsoft
                            Whiteboard) have enabled the feature
                            that is dependent on this API for their
                            general audience! We did not receive any
                            constructive feedback. This API is being
                            used by them on Microsoft Surface Hub
                            devices, which support multi-pen inking.


                                Requires code in //chrome?
                                False

                                Measurement
                                PointerEventDeviceId use counter
                                implemented.

                                Availability expectation
                                Initially available on Chromium
                                browsers on Windows.
                                Out of curiosity, are there
                                limitations on other platforms that
                                prevent supporting this feature?


                            We haven't been able to get our hands on
                            hardware that supports other platforms
                            in addition to multi pen inking in order
                            to implement and appropriately test this
                            feature. We welcome any sponsors for
                            implementing and testing this,
                            especially on Linux/Android.


                                Adoption expectation
                                Feature is used by specific
                                partner(s) to provide functionality
                                immediately upon launch.

                                Adoption plan
                                This feature has been through
                                origin trials on Edge. It is being
                                used by partners that provide
                                features on devices with multi pen
                                support.

                                Non-OSS dependencies

                                /Does the feature depend on any
                                code or APIs outside the Chromium
                                open source repository and its
                                open-source dependencies to function?/

                                Operating system API's are used to
                                obtain the device id, and are
                                necessary for this feature to
                                function. Please see the security
                                questionnaire in the TAG review on
                                security and privacy concerns
                                related to the use of these APIs.

                                Estimated milestones
                                Shipping on desktop
                                120


                                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)./

                                WICG Proposal:
                                https://github.com/WICG/proposals/issues/101
                                <https://github.com/WICG/proposals/issues/101> 
No
                                web compat/interop risk.

                                Link to entry on the Chrome
                                Platform Status
                                
https://chromestatus.com/feature/5114132234240000
                                
<https://chromestatus.com/feature/5114132234240000>

                                Links to previous Intent discussions
                                Intent to prototype:
                                
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SA0PR00MB1033E5DE0BDE42239E647E9AFB189%40SA0PR00MB1033.namprd00.prod.outlook.com
                                
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SA0PR00MB1033E5DE0BDE42239E647E9AFB189%40SA0PR00MB1033.namprd00.prod.outlook.com>

                                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/PH0PR00MB1349B7917876E7AC505E790AFBCBA%40PH0PR00MB1349.namprd00.prod.outlook.com
                                
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR00MB1349B7917876E7AC505E790AFBCBA%40PH0PR00MB1349.namprd00.prod.outlook.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/c8f16bc4-8d21-450b-9178-964cba818a68n%40chromium.org
                            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c8f16bc4-8d21-450b-9178-964cba818a68n%40chromium.org?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/8077a67d-4104-48c6-9f9b-09f9e6c8b022n%40chromium.org
                        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8077a67d-4104-48c6-9f9b-09f9e6c8b022n%40chromium.org?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/13bad65e-6276-4567-b6e3-0961e44bc6d1%40chromium.org
                        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/13bad65e-6276-4567-b6e3-0961e44bc6d1%40chromium.org?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/cbc6e96b-0165-4e28-8f16-786f0dea7ac8n%40chromium.org
            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/cbc6e96b-0165-4e28-8f16-786f0dea7ac8n%40chromium.org?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/6afb2718-89f6-47d5-9052-d5ab2a8f849dn%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6afb2718-89f6-47d5-9052-d5ab2a8f849dn%40chromium.org?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/6687c07e-005a-4ab3-87dd-383f0f4c88c7%40chromium.org.

Reply via email to