[Win] Enable Encrypted Media Support
https://bugs.webkit.org/show_bug.cgi?id=137710
<rdar://problem/18652699>

Reviewed by Jer Noble.

Source/WebCore:

This feature is covered by existing media tests.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::destroyAVFWrapper): Remove redundant ASSERT.
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(displayOnMainThreadContext::displayOnMainThreadContext): Added.
(redispatchOnMainQueue): Added.
(PlatformCALayerWinInternal::displayCallback): Check if a display
call is happening on a background queue, and re-dispatch on the
main thread if necessary.

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.props: Activate the
ENCRYPTED_MEDIA_V2 flag on Windows.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

* JavaScriptCore.vcxproj: Modified properties svn:ignore and svn:ignore.
* JavaScriptCore.vcxproj/jsc: Modified property svn:ignore.

Source/WebCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

* WebCore.vcxproj: Modified property svn:ignore.

Source/WebKit:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

* WebKit.vcxproj: Modified property svn:ignore.

Source/WTF:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

* WTF.vcxproj: Modified property svn:ignore.

Tools:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf temporary files.

* DumpRenderTree/DumpRenderTree.vcxproj: Modified property svn:ignore.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers
https://bugs.webkit.org/show_bug.cgi?id=137676
<rdar://problem/15735049>

Reviewed by Alexey Proskuryakov.

Remove the code I added that tracks the timestamp of the most recent
user gesture from the event handling dispatch, as it was both
a silly place to do it and it originally crashed when events were fired from
Worker threads (although this was fixed in r152238).

It's now recorded by going through UserGestureIndicator, which is good because
it knows when a user has triggered an event. Its constructor now takes
a pointer to Document, and updates the timestamp there if necessary.

Not all UserGestureIndicator instances needed to reset the timestamp; Those did
not have to pass along the Document.

This is untestable due to the fix mentioned above.

* WebCore.exp.in: Change constructor signature.

* accessibility/AccessibilityNodeObject.cpp: Pass a pointer to the Document into the UserGestureIndicator.
(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):
* accessibility/AccessibilityObject.cpp: Ditto.
(WebCore::AccessibilityObject::press):

* dom/Document.cpp:
(WebCore::Document::updateLastHandledUserGestureTimestamp): Renamed.
* dom/Document.h:

* dom/EventTarget.cpp: Remove the code to update the timestamp.
(WebCore::EventTarget::fireEventListeners):

* dom/UserGestureIndicator.cpp:
(WebCore::UserGestureIndicator::UserGestureIndicator): If there is a Document and
this is a user gesture, then reset the timestamp.
* dom/UserGestureIndicator.h:

* page/EventHandler.cpp: Pass a pointer to the Document.
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

* rendering/HitTestResult.cpp: Ditto.
(WebCore::HitTestResult::toggleMediaFullscreenState):
(WebCore::HitTestResult::enterFullscreenForVideo):

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