Its implementation behaves that way, it never throws WOULD_BLOCK error, when the buffer is full (we are on the limit) we end up with NS_ERROR_OUT_OF_MEMORY (what is also not really correct). The main reason is to be able to use storage stream with nsInputStreamTee that expects the sink stream be blocking and be able to limit the written size, what otherwise storage stream really fits. See bug 515051 comment 63 and further.
Created attachment 574448 [details] [diff] [review] SImple fix This might be needed for a patch for bug #602611...
Comment on attachment 574448 [details] [diff] [review] SImple fix Seems fine to me, but please double-check with biesi?
Comment on attachment 574448 [details] [diff] [review] SImple fix this is probably OK, I don't think we ever use it with a stream copier or somesuch (if we did, we should reconsider this change)