Properly cancel the upload for both gears-enabled and regular file uploads. This doesn't seem to be working in my localhost tests, but it must be either a bug in gears, or the too fast connection to the server from the loopback interface.
Use an exponential backoff strategy for retrying rolled back transactions.
Display the Google Gears site in a new window.
Perform the validation checks for every selected file and do it before starting the file uploads. Also, handle all possible error responses to the PUT requests.
Reword the help comment, add some code comments and do some minor style cleanup.
Fix warnings.
Add a help comment on the file upload dialog mentioning the extra functionality provided by google gears and a link for installing it.
Use separate progress bars next to each file, in order to better track the progress of the upload process.
Introduce TransactionHelper, a utility class for retrying the supplied transactional command in the face of rollbacks caused by optimistic lock exceptions. This allows multiple file uploads to succeed, even in a single core system.
Also make hitting the ENTER key behave the same as clicking the Upload button.
Use the shorter and more common label \"Save As\".
Merge with 3eaa2eb924fb461ee35eecb10b8ee0b0853165e0
Merge with 612ee1db5780de03ba2db24aae9513e7f28fea8a
Fix uploading file when a synonymous one is in the trash.
- Add "Save file as" menu that forces browser to download file instead of opening it inline.- Fix broken international characters in browser Save As dialog.
Merge with 7c6a6782f6cc3e1446a7ecbcfbc5432ba749a6ae
First rough implementation of the file upload functionality using Google Gears. Multiple file uploads are still buggy, but single file uploads are mostly working as before.
Don't show Upload and Paste options in My Shared and Other's Shared pseudo-folders.
Uploaded files should be checked against owner's (i.e. namespace owner's) quota, not uplolader's.
Fixed bug: Uploading a new version of a versioned file with no quota left would leave file without any bodies at all.
Make the progress bar look less like Windows 95 and clean up the style sheet a bit.
Use the proper license header for the progress bar implementation.
Centralize quota retrieval.
Decode file names received by PUT, as we do with file names received by multipart POST.
Use application/json content type for all JSON responses.
Remove the redundant gss top-level directory.