Automatically zip document bundles used via File API
https://bugs.webkit.org/show_bug.cgi?id=132713
<rdar://problem/13397892>

Reviewed by Anders Carlsson.

Source/WebCore:
Tests: fast/files/filereader-zip-bundle.html
       http/tests/local/fileapi/upload-zip-bundle-as-blob.html

* FileMac.mm: Added.
(WebCore::File::shouldReplaceFile):
(WebCore::File::computeNameAndContentTypeForReplacedFile):
Added code that decides what to do with a bundle. We need this to happen in
WebProcess, because HTML5 dropzone depends on this, it needs to know file type
even before a File object can be created.

* WebCore.exp.in: Export new functions.

* WebCore.xcodeproj/project.pbxproj: Added new files.

* dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for File
interface change.

* fileapi/File.h:
* fileapi/File.cpp:
(WebCore::File::File):
(WebCore::File::computeNameAndContentType):
(WebCore::File::contentTypeForFile):
(WebCore::File::contentTypeFromFilePathOrName): Deleted.
Make it possible for a subclass to affect file name and content type calculation.

* platform/network/BlobDataFileReference.cpp:
(WebCore::BlobDataFileReference::BlobDataFileReference):
(WebCore::BlobDataFileReference::~BlobDataFileReference):
(WebCore::BlobDataFileReference::path):
(WebCore::BlobDataFileReference::size):
(WebCore::BlobDataFileReference::expectedModificationTime):
(WebCore::BlobDataFileReference::startTrackingModifications):
* platform/network/BlobDataFileReference.h:
(WebCore::BlobDataFileReference::path): Deleted.
(WebCore::BlobDataFileReference::BlobDataFileReference): Deleted.
Use original or replaced file, as appropriate.

* platform/network/mac/BlobDataFileReferenceMac.mm: Added.
(WebCore::BlobDataFileReference::generateReplacementFile): Implements generateReplacementFile().

* platform/network/FormData.h: Added a FIXME.

* xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Always use Blob code path
for blobs, don't unwrap them into a file path.

Source/WebKit2:
* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: NetworkProcess
now uses FileCoordination (WebProcess already had this allowed).

* Shared/BlobDataFileReferenceWithSandboxExtension.h: Added final to the class.

Source/WTF:
* wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Multiple (stacked) cues when shuttling through video while playing closed captions
https://bugs.webkit.org/show_bug.cgi?id=132715
<rdar://problem/16795782>

Reviewed by Eric Carlson.

Tests: media/track/track-in-band-cues-added-once.html

* html/track/TextTrack.cpp:
(WebCore::TextTrack::hasCue): Revise to use a relaxed time equality.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::isEqual): Ditto.
(WebCore::TextTrackCue::hasEquivalentStartTime): Added.
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::startTimeVariance): Added.
* html/track/TextTrackCueGeneric.h:
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::isEqual): Do not call the VTTCue::isEqual method from
this class, since cueType() will not equal VTTCue, and the equality will fail.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Enable MEDIA_STREAM for EFL port
https://bugs.webkit.org/show_bug.cgi?id=132648

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-08
Reviewed by Gyuyoung Kim.

Tools:
Script modified to enable MEDIA_STREAM for EFL build.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:
Updated webaudio test case expectation after enabling MEDIA_STREAM

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168520 268f45cc-cd09-0410-ab3c-d52691b4dbfc