Unreviewed, update LLVM binary drops to r196830.

* LLVMIncludesMountainLion.tar.bz2:
* LLVMLibrariesMountainLion.tar.bz2:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove miscellaneous unnecessary build statements
https://bugs.webkit.org/show_bug.cgi?id=125466

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-09
Reviewed by Darin Adler.

* DerivedSources.make:
* JavaScriptCore.vcxproj/build-generated-files.sh:
* JavaScriptCore.xcodeproj/project.pbxproj:
* make-generated-sources.sh:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
https://bugs.webkit.org/show_bug.cgi?id=125469
<rdar://problem/15535772>

Reviewed by Beth Dakin.

In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
end up as NaN if scrollbar->totalSize() were zero. Protect against that.

Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
END_BLOCK_OBJC_EXCEPTIONS.

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::scrollbarPainterPaint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MSE] Add support for VideoPlaybackMetrics.
https://bugs.webkit.org/show_bug.cgi?id=125380

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-video-playback-quality.html

Add a new object type VideoPlaybackQuality to be returned by
HTMLMediaElement.getVideoPlaybackQuality().

HTMLMediaElements must separately track a droppedVideoFrame count, as
certain operations on SourceBuffer will drop incoming frames, which must
be accounted for. Reset this count when the media engine changes, which is
indicitive of a new media load requset starting.

Add the new VideoPlaybackQuality class:
* Modules/mediasource/VideoPlaybackQuality.cpp: Added.
(WebCore::VideoPlaybackQuality::create):
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
* Modules/mediasource/VideoPlaybackQuality.h: Added.
(WebCore::VideoPlaybackQuality::creationTime):
(WebCore::VideoPlaybackQuality::totalVideoFrames):
(WebCore::VideoPlaybackQuality::droppedVideoFrames):
(WebCore::VideoPlaybackQuality::corruptedVideoFrames):
(WebCore::VideoPlaybackQuality::totalFrameDelay):
* Modules/mediasource/VideoPlaybackQuality.idl: Added.

Add support for the new class to HTMLMediaElement:
* html/HTMLMediaElement.cpp:
(HTMLMediaElement::shouldUseVideoPluginProxy):
(HTMLMediaElement::getVideoPlaybackQuality):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:

Report the video quality metrics from the MediaPlayer:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::totalVideoFrames):
(WebCore::MediaPlayer::droppedVideoFrames):
(WebCore::MediaPlayer::corruptedVideoFrames):
(WebCore::MediaPlayer::totalFrameDelay):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
(WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):

Correctly report the dropped frame count:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
(WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.
* Modules/mediasource/SourceBuffer.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
(HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.
* platform/MediaSample.h:
(WebCore::MediaSample::isSync): Convenience function.
(WebCore::MediaSample::isNonDisplaying): Ditto.

Add support in the AVFoundation MediaSource Engine:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):

Add support in the Mock MediaSource Engine:
* platform/mock/mediasource/MockBox.h:
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
(WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.h:
* platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
* platform/mock/mediasource/MockMediaSourcePrivate.h:
* platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on
    the incoming sample.
* platform/mock/mediasource/MockSourceBufferPrivate.h:

Add the new files to the project:
* bindings/gobject/GNUmakefile.am:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* GNUMakefile.list.am:
* CMakeLists.txt:

LayoutTests:

* media/media-source/media-source-video-playback-quality-expected.txt: Added.
* media/media-source/media-source-video-playback-quality.html: Added.
* media/media-source/mock-media-source.js:
(var):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
https://bugs.webkit.org/show_bug.cgi?id=125392

Reviewed by Darin Adler.

Source/WebCore: 

Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101

Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
"If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."

New behavior also matches that of Internet Explorer and Firefox.

Tests: fast/forms/input-image-submit.html

* html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.

LayoutTests: 

* fast/events/stopPropagation-submit-expected.txt:
* fast/forms/input-image-submit.html:
* platform/gtk/fast/events/stopPropagation-submit-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
https://bugs.webkit.org/show_bug.cgi?id=125379

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-09
Reviewed by Alexey Proskuryakov.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.
(WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Begin working on a UserData class intended to replace UserMessageCoders
https://bugs.webkit.org/show_bug.cgi?id=125471

Reviewed by Sam Weinig.

* Shared/APIFrameHandle.cpp: Added.
* Shared/APIFrameHandle.h: Added.
Add a new API::FrameHandle class that represents a frame.

* Shared/APIObject.h:
* Shared/APIPageHandle.cpp: Added.
* Shared/APIPageHandle.h: Added.
Add a new API::PageHandle class that represents a page.

* Shared/UserData.cpp: Added.
(WebKit::UserData::UserData):
(WebKit::UserData::~UserData):
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserData.h: Added.
Add a UserData class that can be encoded and decoded. This will be used for sending data
 between the web process and UI process without doing any of the Page -> BundlePage etc conversions.
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove dead extract_reference_link.py (and the reftests module)
https://bugs.webkit.org/show_bug.cgi?id=125116

Reviewed by Ryosuke Niwa.

This code doesn't seem to have ever been used.

* Scripts/webkitpy/layout_tests/reftests/__init__.py: Removed.
* Scripts/webkitpy/layout_tests/reftests/extract_reference_link.py: Removed.
* Scripts/webkitpy/layout_tests/reftests/extract_reference_link_unittest.py: Removed.


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