On Sat, 27 Jan 2007 00:11:04 -0500, Boris Zbarsky <[EMAIL PROTECTED]> wrote:
João Eiras wrote:
If I'm downloading say 50kb, how many times will the progress eventfire
? Now if I'm downloading 1MB how many times will it fire ?
...
Please don't tell me it's implementation defined, else interoperability
will be the same old headache for minoritary browser vendors.
I would hope it depends on how fast the data arrives, with the event
firing as it comes in. Which depends on the connection speed, HTTPpacket
sizes, etc.
If data is sent in 5KB packets, the event can't fire more often thanonce
every 5KB, no?
So I would hope that the spec says that not only is this implementation
defined but may differ depending on the actual network connection in
use....
It makes sense to me that the firing rate is UA dependent. Since you may
well
have a zero-length transfer, and since that case is in principle ambiguous
(because
it looks exactly like having transferred 0 bytes so far in a transfer
where the
total is for some reason not known), I am not keen on the idea of forcing
it to
fire at all. Setting up your transfer bar and running two events on it in
the
case where there is nothing transferred seems a bit odd to me.
Given that even a single UA couldn't really guarantee anything here (see
above), I doubt anyone will ever seriously depend on the exact number of
times this fires.
In practice it seems a bad idea to say too much about how often it should
fire.
It is easy enough to come up with a use case where firing every two
seconds is
fine (am I the only one who has used a 9600baud GSM connection recently?),
and I
can imagine one where someone really wants high-speed information since
they are
using it to do somthing other than just present a spinning wheel to the
user,
such as determining how to process according to the speed of transfer up
to some
ludicrously fast rate, on some wonderful Gigabit pipe or something.
That said, people _might_ depend on it actually firing once data comesin
(e.g. to provide a useful progressmeter), but even then, if you getall
the data in a single (possibly huge) packet, there's not much youcan do.
And the UA has no control over that.
If you get all the data at once, then the Load event fires anyway. That
was the
rationale for removing the start and end events that we had earlier - you
don't
need them.
cheers
Chaals
--
Charles McCathieNevile, Opera Software: Standards Group
hablo español - je parle français - jeg lærer norsk
[EMAIL PROTECTED] Try Opera 9.1 http://opera.com