Re: pointerout and pointerleave after pointercancel

On Tue, Aug 5, 2014 at 6:30 AM, <cathy.chan@nokia.com> wrote:

> This question stems from Sangwhan's review [1] of a test case that I
> submitted [2], which was a clone of another test from Microsoft [3].
>
> The tip of the PE spec says the following about pointercancel.
> [[
> After firing the pointercancel event, a user agent MUST also fire a
> pointer event named pointerout followed by firing a pointer event named
> pointerleave.
> ]]
>
> In comparison, it says the following about pointerup.
> [[
> For input devices that do not support hover, a user agent MUST also fire a
> pointer event named pointerout followed by a pointer event named
> pointerleave after dispatching the pointerup event.
> ]]
>
> The question here is whether the statement on pointercancel truly does
> apply to all pointer types (i.e. including those that support hover) and
> what the rationale is. (Or was that just an unfortunate bug in the spec?)
>

While I'm not knowledgable enough to comment on the rationale, from the
back of my head this doesn't look like a bug.

Leaving it open ended for input devices which do not fall into the three
common device categories defined by the specification - e.g. a stylus with
no proximity triggered pointer interaction could benefit from being open
ended. The only real world example I can think of is this thing:
http://www.wacom.com/en/us/creative/intuos-creative-stylus

The stylus above activates based on touch screen, but conceptually is a
pointer type of stylus with pressure (the pressure information is
transmitted over bluetooth), and has no support for hovering. I don't know
any browser that has support for this particular piece of hardware, but
worth noting that such devices exist.


> A follow-on question: why is the test case that checks that the pointerout
> event follows the pointercancel event [3] written to be specific to touch
> input? What about mouse and pen input?
>
> - Cathy.
>
>
> [1] https://critic.hoppipolla.co.uk/showcomment?chain=7058
> [2]
> https://github.com/cathychan/web-platform-tests/blob/patch-3/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html
> [3]
> https://github.com/w3c/web-platform-tests/blob/master/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html
>
>
>
>

-- 
Sangwhan Moon [Opera Software ASA]
Software Engineer | Tokyo, Japan

Received on Tuesday, 5 August 2014 06:19:10 UTC