- From: Olli Pettay <olli@pettay.fi>
- Date: Tue, 02 Sep 2014 18:28:55 +0300
- To: Maksim Lebedev <alessarik@gmail.com>, public-pointer-events@w3.org
On 09/02/2014 06:25 PM, Olli Pettay wrote: > On 09/02/2014 05:53 PM, Olli Pettay wrote: >> I think the issue here is that in one place the spec says got/lostpointercapture are async (sure, the table is non-normative, but still), >> and then https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#process-pending-pointer-capture and other places in the spec say that >> in some cases the got/lostpointercapture is dispatched in more sync manner. >> >> So, I think the non-normative table should says sync/async for got/lostpointercapture. > > > > > Or am I thinking a wrong case here. > setTimeout certainly needs two task before it is actually runs, and async events only one. But in fact, got/lostpointercapture aren't really async, but still, setTimeout doesn't guarantee anything here. Effectively racy test, as far as I see. -Olli > > > > > > -Olli > > >> >> -Olli >> >> >> On 08/22/2014 04:24 PM, Maksim Lebedev wrote: >>> Hi folks. >>> >>> I am very doubt by tests of asyncronoun events. >>> pointerevent_gotpointercapture_before_first_pointerevent-manual.html >>> pointerevent_lostpointercapture_is_first-manual.html >>> >>> According specification of pointer events got/lostpointercapture events should be async. >>> >>> But latest changes made something, which was confusing me: >>> https://github.com/w3c/web-platform-tests/commit/e4c7116d8cb7289b84ab2feddd7178fda23b4f5e >>> https://github.com/w3c/web-platform-tests/commit/24577bb71789010738a0b1cd9d371a07f0f2cfe1 >>> >>> After this changes we can find that test execute setPointerCapture (or releasePointerCapture) and >>> after that timer is setted for changing isAsync to true. Also we can find that on gotpointercapture event >>> >>> (or on lostpointercaptere event) tests checks isAsync. >>> >>> In what sequence this items should be executed? >>> Timer with (isAsync = true) at first. And after this gotpointercapture should be fired. >>> >>> Opposite. gotpointercapture should be fired at first, And only about this Timer with (isAsync = true) >>> >>> There is specification for timers: >>> http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#timers >>> >>> I can assume that current version of tests are incorrect. >>> >>> And author of changes notifyed that IE didn't pass tests: >>> https://github.com/w3c/web-platform-tests/pull/1113#issue-38207053 >>> >>> At this point, if tests are incorrect, then tests should be changed for correct state. >>> >>> I can propose to delete creating timer and simply only set isAsync to true after setPointerCapture (releasePointerCapture) >>> >>> Please, let me know your opinion. >>> >>> Thanks, Maksim Lebedev. >>> >> >> > >
Received on Tuesday, 2 September 2014 15:29:23 UTC