Bug 47139

Summary: Relax restrictions on FileWriter::didWrite calls
Product: WebKit Reporter: Eric U. <ericu>
Component: DOMAssignee: Eric U. <ericu>
Status: RESOLVED FIXED    
Severity: Enhancement CC: commit-queue, kinuko, michaeln
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 44358    
Attachments:
Description Flags
Patch
none
Patch none

Eric U.
Reported 2010-10-04 19:20:29 PDT
Currently we ASSERT that we'll always receive bytes in a didWrite call, and that we'll always get complete==true if we've gotten all the bytes in our request. This unnecessarily constrains the implementation: if the backend is just reading from the blob until it runs out, it might send the last bytes without knowing that it's done, then send a zero-length completion message.
Attachments
Patch (2.63 KB, patch)
2010-10-04 19:31 PDT, Eric U.
no flags
Patch (2.63 KB, patch)
2010-10-05 10:42 PDT, Eric U.
no flags
Eric U.
Comment 1 2010-10-04 19:31:24 PDT
Kinuko Yasuda
Comment 2 2010-10-04 20:04:05 PDT
Comment on attachment 69731 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=69731&action=review > WebCore/fileapi/FileWriter.cpp:97 > + ec = INVALID_ACCESS_ERR; INVALID_ACCESS_ERR is not defined as a FileError -- maybe INVALID_STATE_ERR?
Eric U.
Comment 3 2010-10-04 20:14:57 PDT
(In reply to comment #2) > (From update of attachment 69731 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=69731&action=review > > > WebCore/fileapi/FileWriter.cpp:97 > > + ec = INVALID_ACCESS_ERR; > > INVALID_ACCESS_ERR is not defined as a FileError -- maybe INVALID_STATE_ERR? It's not really an invalid state; you passed in a bad parameter. Perhaps SYNTAX_ERR? We can always suggest that it go into the spec [which currently doesn't talk about how to respond to a null Blob].
Kinuko Yasuda
Comment 4 2010-10-04 20:35:57 PDT
Comment on attachment 69731 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=69731&action=review >>> WebCore/fileapi/FileWriter.cpp:97 >>> + ec = INVALID_ACCESS_ERR; >> >> INVALID_ACCESS_ERR is not defined as a FileError -- maybe INVALID_STATE_ERR? > > It's not really an invalid state; you passed in a bad parameter. Perhaps SYNTAX_ERR? We can always suggest that it go into the spec [which currently doesn't talk about how to respond to a null Blob]. If we're given null or undefined where we expect Blob, I think TYPE_MISMATCH_ERR would be applicable.
Eric U.
Comment 5 2010-10-04 20:52:39 PDT
(In reply to comment #4) > (From update of attachment 69731 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=69731&action=review > > >>> WebCore/fileapi/FileWriter.cpp:97 > >>> + ec = INVALID_ACCESS_ERR; > >> > >> INVALID_ACCESS_ERR is not defined as a FileError -- maybe INVALID_STATE_ERR? > > > > It's not really an invalid state; you passed in a bad parameter. Perhaps SYNTAX_ERR? We can always suggest that it go into the spec [which currently doesn't talk about how to respond to a null Blob]. > > If we're given null or undefined where we expect Blob, I think TYPE_MISMATCH_ERR would be applicable. Yeah, that sounds good. I'll change it.
David Levin
Comment 6 2010-10-04 23:56:44 PDT
Comment on attachment 69731 [details] Patch Per discussion in bug. Other than that it seems fine.
Eric U.
Comment 7 2010-10-05 10:42:03 PDT
WebKit Commit Bot
Comment 8 2010-10-05 13:29:09 PDT
Comment on attachment 69807 [details] Patch Clearing flags on attachment: 69807 Committed r69140: <http://trac.webkit.org/changeset/69140>
WebKit Commit Bot
Comment 9 2010-10-05 13:29:14 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.