In r1.74, I put a hack into nsRDFXMLDataSource::BlockingParse() which squelched errors from nsIChannel::Open(). This was to simplify code in the chrome registry, allowing the chrome registry to create a new local RDF/XML file if one does not exist. Instead of stuffing _all_ errors from nsIChannel::Open(), we should distinguish between channels that can support synchronous I/O (but might not have a file to read from yet), and those that can't.
I guess I would've done it the other way around; i.e., hope that Necko is producing a meaningful error code, stifle that, propagate other errors. What error code does Necko deliver if the file doesn't exist?
Actually, I agree -- somehow I missed the existence of NS_ERROR_FILE_NOT_FOUND. I'm going to verify that this is what gets returned and check for other quashable codes as well, then redo the patch.
Oh, excellent. NS_ERROR_FILE_NOT_FOUND seems to be used fairly consistently across nsLocalFileFoo for all Foo except "Unix". nsLocalFileUnix returns NS_ERROR_FAILURE when the file can't be opened. *sigh*
tingley: please patch nsLocalFileUnix.cpp in this bug, or open a separate bug (but that's slower, and I say fix it now). /be
This has been fixed i beleive in the work i've done in bug 94323. I made an effort for error retvals to produce something meaningful. Conrad is driving that effort for the moment until i free up time to jump back in. --pete
I say, let's anticipate pete's fine work landing by doing a conflict-free merge of just the error result fix to nsLocalFileUnix.cpp, in a patch for this bug. tingley, you game? /be
Brendan, I am nothing but game. Patch coming soon.
Yes, agree get it in now. I beleive there is going to be a branch cut soon to continue the nsIFile work on. --pete
I'm not currently aware of other failures that need to be masked. Waterson? As a side note, it's only |nsLocalFile::OpenNSPRFileDesc()| that behaves inconsistently. |OpenANSIFileDesc()| returns NS_ERROR_FAILURE across all platforms. Fixing the former appears to be a matter of calling |NS_ErrorAccordingToNSPR()|.
Comment on attachment 49802 [details] [diff] [review] patch the 2nd Looks good; r=waterson
Bugs targeted at mozilla1.0 without the mozilla1.0 keyword moved to mozilla1.0.1 (you can query for this string to delete spam or retrieve the list of bugs I've moved)
Pilfering this bug in order to retarget and land. Forgive my treachery!
Comment on attachment 49802 [details] [diff] [review] patch the 2nd email@example.com
fix checked in.
tever is not RDF QA anymore