The default bug view has changed. See this FAQ.

XHR broken on local filesystem

RESOLVED FIXED in mozilla10

Status

()

Core
DOM: Core & HTML
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: emk, Assigned: emk)

Tracking

({regression})

unspecified
mozilla10
regression
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

(Assignee)

Description

6 years ago
Created attachment 569927 [details]
Testcase

Steps to reproduce:
1. Download the attachment.
2. Open the attachment on the local volume (file:// URLs).

Actual Result:
error event will be fired.
Oddly, .response will return Blob object despite the failure.

Expected result:
load event should be fired (load shouls success).

This test will not fail on the network (http:// URLs).
(Assignee)

Comment 1

6 years ago
Created attachment 569928 [details] [diff] [review]
patch

Seekable streams will complain if OnDataAvailable succeeded but didn't consume the data.
https://mxr.mozilla.org/mozilla-central/source/netwerk/base/src/nsInputStreamPump.cpp#509
Assignee: nobody → VYV03354
Status: NEW → ASSIGNED
Attachment #569928 - Flags: review?(jonas)
> Seekable streams will complain if OnDataAvailable succeeded but didn't consume the data.

Not just seekable streams.  The OnDataAvailable contract is very clear: if it does not consume the data it needs to throw.  Says so right in the interface documentation.

Comment 3

6 years ago
My result:

3: 895/895
[object Blob]
895
7
load
loadend
3: 895/895
[object Blob]
895
3
load
loadend
(Assignee)

Comment 4

6 years ago
(In reply to Rocco Stilo from comment #3)
Does your build contain a patch of bug 689008? It was pushed very recently.
Anyway, the current code should be fixed because it violates the nsIStreamListener contract as bz pointed out.
https://mxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsIStreamListener.idl#69
>     * be read without blocking the calling thread.  The onDataAvailable impl
>     * must read exactly |aCount| bytes of data before returning.
(Assignee)

Comment 5

6 years ago
Created attachment 569970 [details] [diff] [review]
patch v2

Updated a comment according to bz's advice.
Attachment #569928 - Attachment is obsolete: true
Attachment #569928 - Flags: review?(jonas)
Attachment #569970 - Flags: review?(jonas)
Attachment #569928 - Flags: review+
Attachment #569970 - Flags: review?(jonas) → review+
(Assignee)

Comment 6

6 years ago
Created attachment 570108 [details] [diff] [review]
patch for check in
Attachment #569970 - Attachment is obsolete: true
(Assignee)

Updated

6 years ago
Keywords: checkin-needed
In my queue, which is going via try then onto inbound:
https://tbpl.mozilla.org/?tree=Try&rev=d3d2522ed095

Thanks :-)
Keywords: checkin-needed
https://hg.mozilla.org/integration/mozilla-inbound/rev/e331396fa1b0
Target Milestone: --- → mozilla10
https://hg.mozilla.org/mozilla-central/rev/e331396fa1b0
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.