demo · v136

ProgressEvent double

ProgressEvent.loaded and .total are now IDL double (was unsigned long long). Type a fractional or large value and watch it round-trip without truncation.

Probing…

round-tripped event

e.loaded
e.total
e.lengthComputable
loaded / total · 100
verdict

real download (fetch → ReadableStream → ProgressEvent)

last loaded
last total

the code

// Before 136: `unsigned long long` truncated 1.5 to 1
// 136+: `double`, exact float round-trip
const e = new ProgressEvent("progress", {
  loaded: 123.456,
  total:  1000.5,
  lengthComputable: true,
});
e.loaded; // 123.456 (was 123)
e.total;  // 1000.5  (was 1000)

see also