On Tue, Jan 23, 2024 at 2:00 PM Rick Byers <rby...@chromium.org> wrote:
> This is a pretty niche and tiny addition which matters a lot to probably a > couple websites in the world, and not at all to everyone else. It's a shame > that it's taken over a year of discussion on what to ship. Worst case and > we get this wrong and have something better in the future, I can't imagine > it would be hard to change over and deprecate this. Sahir, do you agree? If > so, I don't think it's a good use of resources to spend a lot more time > debating this tiny addition, the stakes are IMHO not high here. > > However, I definitely think we want to give PEWG a fair chance to weigh in > on the spec PR. The PR <https://github.com/w3c/pointerevents/pull/495/> > was just filed 2 weeks ago, so maybe another week delay to wait for > feedback on it is reasonable? Rob, can you get this on the agenda for the > next PEWG call and indicate that I think Chromium should just ship it as-is > unless there's a concrete counter-proposal in the next couple weeks? > Absolutely! Happy to! Rick > > > On Tue, Jan 23, 2024 at 1:01 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. >> >> 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/ >>>>>>> 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+...@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/CAJh39TMzzU%2B8e%3DNPTLTGGKBBRg3FCdSK%2BQnkPv87pZ5RBnuGHw%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh39TMzzU%2B8e%3DNPTLTGGKBBRg3FCdSK%2BQnkPv87pZ5RBnuGHw%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/CAJh39TOc6ZUGduNHLw-eC%2BTztDPSTzBj6_Te--gLV6VPxqbqFw%40mail.gmail.com.