RE: [ResourceTiming] Handling of "resourcetimingbufferfull" events makes no sense

Looks like our option is to either leave the original definition of onresourcetimingbufferfull as a callback function, similar to the PositionCallback in the Geolocation spec [1], or to implement a simple event with the Performance object implementing EventTarget. From a design point of view, the latter approach is much better when you want to get multiple callbacks; in our case as the buffer may continually get full, that’s exactly what we want. 

If we go with the latter approach, looks like updating the Navigation Timing L1 errata is the only technical way to update the IDL definition to implement EventTarget. I don't expect any web developer is checking the prototype chain of the Performance object, so that change shouldn't have any compatibility impact on real sites or impact any of the Navigation Timing L1 attribute values. It is, however, a conformance change nonetheless. Philippe, aside from updating the errata, are there any other process steps we would need to take if we wanted to make this change?

Jatinder

[1] http://dev.w3.org/geo/api/spec-source.html


-----Original Message-----
From: Boris Zbarsky [mailto:bzbarsky@MIT.EDU] 
Sent: Friday, October 11, 2013 10:55 AM
To: Sreeram Ramachandran
Cc: Arvind Jain; Jatinder Mann; public-web-perf
Subject: Re: [ResourceTiming] Handling of "resourcetimingbufferfull" events makes no sense

On 10/11/13 1:24 PM, Sreeram Ramachandran wrote:
> Could you explain? Why isn't it sufficient to have this behaviour be 
> implicitly defined by reference to EventTarget? (I.e., since any 
> Performance object also implements EventTarget, the dispatch behaviour 
> defined in EventTarget applies to Performance objects.)

EventTarget isn't an abstract interface.  It has internal state.

Again, WebIDL doesn't draw a clear distinction between abstract interfaces and classes that you're inheriting from, but in practice EventTarget should be the latter.

-Boris

Received on Tuesday, 22 October 2013 23:06:50 UTC