On 1/12/12 12:53 PM, Arun Ranganathan wrote:
On Jan 12, 2012, at 6:58 AM, Kyle Huey <m...@kylehuey.com <mailto:m...@kylehuey.com>> wrote:


        On Thu, Jan 12, 2012 at 3:45 PM, Glenn Maynard <gl...@zewt.org
        <mailto:gl...@zewt.org>> wrote:

FYI, I don't think this is clear for File from the spec. It's even more important if File objects are stored in
            History or IndexedDB; that it should be a *shallow* copy,
            with enough information stored to invalidate it if the
underlying file changes, doesn't seem to be specified. (As far as I know, nobody implements that yet; being able
            to eg. retain open files in History states would be
            extremely useful.


        Gecko nightlies are capable of storing File objects in
        IndexedDB,  We are doing "deep" copies (what is retrieved from
        the database is always a copy of the file as it was when it
        was placed in the database).


    Oh I'm glad to see this one! Is it Blob and File that can be put
    into IDB? How do I create a new File (with a name field) from a Blob?


Charles: see the thread on making Blobs constructable -- follow http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/0439.html

http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/0918.html

Seems like the consensus was to stay away from Blob to File methods. FileEntry and [a download] being the heirs apparent.

The File API specification should do a better job describing what happens to a File if the underlying resource changes. We use the word immutable, but I think we have to make this substantially clearer.

My take on a File object that's been modified is that the file no longer exists. "User agents MUST process reads on files that no longer exist at the time of read as errors" "A file may change on disk since the original file selection, thus resulting in an invalid read."

FileList is live; and UAs can go several ways with it. They can return new File objects, with updated information (yes, please); or they can otherwise cut out modified files or later, throw the security error as specified: "Post-selection file modifications occur when a file changes on disk after it has been selected. In such cases, user agents MAY throw a SecurityError for synchronous read methods, or return a SecurityError DOMError for asynchronous reads.".

It's a consideration, anyway. I don't think people expect that, if they select a file for uploading, then modify the file before hitting submit, that they'll no longer upload a file. It would, I suppose, "disappear" from the Chosen file option.

There is a significant difference between selecting files and mounting a directory for persistent access. In one of them, the files are listed and new files are not added. So I may select a single file, and it'll show up in input type=file, or I'll see a count of the files I selected. With mounting a directory, I'm given continued access to poll for new files. I think that's enough of a distinction to keep the current behavior of allowing persistent access to selected files via FileList.

If it's not enough of a distinction, I'd like more semantics added to requestFileSystem to re-establish the persistent selection of files.

-Charles

Reply via email to