On Tue, Jan 23, 2024 at 1:00 PM Robert Flack <fla...@chromium.org> wrote:

> FWIW, in the PEWG call
> <https://www.w3.org/2024/01/17-pointerevents-minutes.html#t03> last week
> there was some question of how this relates to the pen customizations
> proposal <https://github.com/darktears/pen-customizations>. I suppose the
> general question is whether this should be an additional part of some
> hardware specific device customization in
> pointerEvent.penCustomizationsDetails. I think there is a risk of
> shipping this without consensus on the general shape, as it will make it
> harder to change if it's decided there's a better way to expose the
> information without breaking existing uses. We should probably take the API
> that has been incubated and bring it back for discussion in the working
> group.
>

I've raised this for discussion
<https://github.com/w3c/pointerevents/issues/353#issuecomment-1906641207> to
try to reach consensus on the general idea. I also realize my comment comes
across more critical than I meant it to be. There is risk to locking in the
current proposal, but I also suspect we'd be able to make a breaking change
if needed, so I did not intend my comment to be blocking. Apologies!

On Tue, Jan 23, 2024 at 12:15 PM 'Sahir Vellani' via blink-dev <
> blink-dev@chromium.org> wrote:
>
>> Hi all, any more questions or concerns?
>>
>> On Thursday, January 18, 2024 at 8:44:58 PM UTC-8 Sahir Vellani wrote:
>>
>>> Just to clarify, I've made the change in the deviceId verbiage in the
>>> spec, not pointerId :)
>>>
>>> On Thursday, January 18, 2024 at 8:40:00 PM UTC-8 Sahir Vellani wrote:
>>>
>>>> I can't say what the reasoning is for that behavior in
>>>> PointerEvent.pointerId, as I was not involved. However, I will make a
>>>> change in the spec to only use the value of 1 for primary mouse device.
>>>> There may be a scenario where PointerEvent.deviceId is unsupported by
>>>> the UA (separate from an invalid id of -1); e.g, on platforms where the
>>>> feature is unimplemented. In that case, developers might have a check like
>>>> if(event.deviceId) {...}. If the deviceId is 0 for a valid reason, it will
>>>> fail that check. I see no harm in limiting the deviceId from primary mouse
>>>> to 1. It will avoid this interop issue and make the feature more friendly
>>>> to web developers.
>>>>
>>>
> 0 was originally reserved to mean a non-pointer device. This was discussed
> in https://github.com/w3c/pointerevents/issues/343 where we discovered
> that Firefox has, and continues to use 0 for mouse pointer events where
> chrome and safari use 1.
>
> On Thursday, January 18, 2024 at 6:26:20 PM UTC-8 mike...@chromium.org
>>>> wrote:
>>>>
>>>>> 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 \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
>>>>>>
>>>>>> Specification
>>>>>> 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
>>>>>>
>>>>>> 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)
>>>>>>
>>>>>> *WebKit*: No signal (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 No web
>>>>>> compat/interop risk.
>>>>>>
>>>>>> Link to entry on the Chrome Platform Status
>>>>>> https://chromestatus.com/feature/5114132234240000
>>>>>>
>>>>>> Links to previous Intent discussions
>>>>>> Intent to prototype: https://groups.google.com/a/
>>>>>> chromium.org/d/msgid/blink-dev/SA0PR00MB1033E5DE0BDE42239E647
>>>>>> E9AFB189%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/PH0PR00MB1349B7917876E7AC505E7
>>>>>> 90AFBCBA%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+...@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/8ac964b1-99a0-4c7d-b9eb-d02b26bdb306n%40chromium.org
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8ac964b1-99a0-4c7d-b9eb-d02b26bdb306n%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/CAJh39TOrrsfBJ-dCddt4D9Gf5f7v3TOAyAxVXoMKg0%2BxRfL4ww%40mail.gmail.com.

Reply via email to