Support FileReaderSync in workers.
https://bugs.webkit.org/show_bug.cgi?id=44657

Reviewed by David Levin.

WebCore:

Also add FileException interface and make Blob/File/FileError useable in
workers.

Tests: fast/files/workers/worker-read-blob-async.html
       fast/files/workers/worker-read-blob-sync.html
       fast/files/workers/worker-read-file-async.html
       fast/files/workers/worker-read-file-sync.html

* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/Blob.idl: Added NoStaticTables attribute.
* fileapi/File.idl: Added NoStaticTables attribute.
* fileapi/FileError.idl: Added NoStaticTables attribute.
* fileapi/FileException.h: Added.
* fileapi/FileException.idl: Added.
* fileapi/FileReaderSync.cpp: Added.
* fileapi/FileReaderSync.h: Added.
* fileapi/FileReaderSync.idl: Added.
* workers/WorkerContext.idl: Expose FileReaderSync and BlodBuilder in workers.

LayoutTests:

Added 4 test files to test FileReaderSync in workers.

* fast/files/read-blob-async.html:
* fast/files/read-file-async.html:
* fast/files/resources/read-common.js:
(readBlobAsBinaryString):
(readBlobAsText):
(readBlobAsDataURL):
(_readBlobAsBinaryStringAsync):
(_readBlobAsTextAsync):
(_readBlobAsDataURLAsync):
(_readBlobAsBinaryStringSync):
(_readBlobAsTextSync):
(_readBlobAsDataURLSync):
(createReaderSync):
* fast/files/resources/read-blob-test-cases.js:
(runNextTest):
* fast/files/resources/read-file-test-cases.js:
(runNextTest):
(testMultipleReads):
* fast/files/resources/setup-for-read-common.js:
(log):
(startWorker.worker.onmessage):
(startWorker.worker.onerror):
(startWorker):
* fast/files/workers/resources/worker-read-blob-async.js: Added.
* fast/files/workers/resources/worker-read-blob-sync.js: Added.
* fast/files/workers/resources/worker-read-common.js: Added.
* fast/files/workers/resources/worker-read-file-async.js: Added.
* fast/files/workers/resources/worker-read-file-sync.js: Added.
* fast/files/workers/worker-read-blob-async-expected.txt: Added.
* fast/files/workers/worker-read-blob-async.html: Added.
* fast/files/workers/worker-read-blob-sync-expected.txt: Added.
* fast/files/workers/worker-read-blob-sync.html: Added.
* fast/files/workers/worker-read-file-async-expected.txt: Added.
* fast/files/workers/worker-read-file-async.html: Added.
* fast/files/workers/worker-read-file-sync-expected.txt: Added.
* fast/files/workers/worker-read-file-sync.html: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac-wk2/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
41 files changed