<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[194174] branches/safari-601-branch/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/194174">194174</a></dd>
<dt>Author</dt> <dd>bshafiei@apple.com</dd>
<dt>Date</dt> <dd>2015-12-16 14:08:06 -0800 (Wed, 16 Dec 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merged <a href="http://trac.webkit.org/projects/webkit/changeset/191299">r191299</a>.  rdar://problem/23810432</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari601branchSourceJavaScriptCoreChangeLog">branches/safari-601-branch/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#branchessafari601branchSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">branches/safari-601-branch/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchessafari601branchSourceWTFChangeLog">branches/safari-601-branch/Source/WTF/ChangeLog</a></li>
<li><a href="#branchessafari601branchSourceWTFwtfFeatureDefinesh">branches/safari-601-branch/Source/WTF/wtf/FeatureDefines.h</a></li>
<li><a href="#branchessafari601branchSourceWebCoreChangeLog">branches/safari-601-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari601branchSourceWebCoreConfigurationsFeatureDefinesxcconfig">branches/safari-601-branch/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchessafari601branchSourceWebCoreConfigurationsWebCorexcconfig">branches/safari-601-branch/Source/WebCore/Configurations/WebCore.xcconfig</a></li>
<li><a href="#branchessafari601branchSourceWebCoreDerivedSourcesmake">branches/safari-601-branch/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#branchessafari601branchSourceWebCoreWebCorexcodeprojprojectpbxproj">branches/safari-601-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchessafari601branchSourceWebCorebindingsobjcDOMEventsmm">branches/safari-601-branch/Source/WebCore/bindings/objc/DOMEvents.mm</a></li>
<li><a href="#branchessafari601branchSourceWebCoredomEventNamesin">branches/safari-601-branch/Source/WebCore/dom/EventNames.in</a></li>
<li><a href="#branchessafari601branchSourceWebCorepageEventHandlercpp">branches/safari-601-branch/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#branchessafari601branchSourceWebCorepageEventHandlerh">branches/safari-601-branch/Source/WebCore/page/EventHandler.h</a></li>
<li><a href="#branchessafari601branchSourceWebCorepagemacEventHandlerMacmm">branches/safari-601-branch/Source/WebCore/page/mac/EventHandlerMac.mm</a></li>
<li><a href="#branchessafari601branchSourceWebCoreplatformPlatformEventh">branches/safari-601-branch/Source/WebCore/platform/PlatformEvent.h</a></li>
<li><a href="#branchessafari601branchSourceWebKitmacChangeLog">branches/safari-601-branch/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#branchessafari601branchSourceWebKitmacConfigurationsFeatureDefinesxcconfig">branches/safari-601-branch/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchessafari601branchSourceWebKit2ChangeLog">branches/safari-601-branch/Source/WebKit2/ChangeLog</a></li>
<li><a href="#branchessafari601branchSourceWebKit2ConfigurationsFeatureDefinesxcconfig">branches/safari-601-branch/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchessafari601branchSourceWebKit2SharedWebEventh">branches/safari-601-branch/Source/WebKit2/Shared/WebEvent.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2SharedWebEventConversioncpp">branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.cpp</a></li>
<li><a href="#branchessafari601branchSourceWebKit2SharedWebEventConversionh">branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessAPICocoaWKViewPrivateh">branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessAPImacWKViewmm">branches/safari-601-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessPageClienth">branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessWebPageProxycpp">branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessWebPageProxyh">branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessmacPageClientImplh">branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessmacPageClientImplmm">branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessmacViewGestureControllerh">branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureController.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2UIProcessmacViewGestureControllerMacmm">branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureControllerMac.mm</a></li>
<li><a href="#branchessafari601branchSourceWebKit2WebKit2xcodeprojprojectpbxproj">branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchessafari601branchSourceWebKit2WebProcessWebPageEventDispatchercpp">branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp</a></li>
<li><a href="#branchessafari601branchSourceWebKit2WebProcessWebPageEventDispatcherh">branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2WebProcessWebPageEventDispatchermessagesin">branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in</a></li>
<li><a href="#branchessafari601branchSourceWebKit2WebProcessWebPageWebPagecpp">branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#branchessafari601branchSourceWebKit2WebProcessWebPageWebPageh">branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>branches/safari-601-branch/Source/WebCore/dom/mac/</li>
<li><a href="#branchessafari601branchSourceWebKit2SharedNativeWebGestureEventh">branches/safari-601-branch/Source/WebKit2/Shared/NativeWebGestureEvent.h</a></li>
<li><a href="#branchessafari601branchSourceWebKit2SharedmacNativeWebGestureEventMacmm">branches/safari-601-branch/Source/WebKit2/Shared/mac/NativeWebGestureEventMac.mm</a></li>
<li><a href="#branchessafari601branchSourceWebKit2SharedmacWebGestureEventcpp">branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.cpp</a></li>
<li><a href="#branchessafari601branchSourceWebKit2SharedmacWebGestureEventh">branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari601branchSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/JavaScriptCore/ChangeLog (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/JavaScriptCore/ChangeLog        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/JavaScriptCore/ChangeLog        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-12-16  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r191299.
+
+    2015-10-19  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Add magnify and rotate gesture event support for Mac
+            https://bugs.webkit.org/show_bug.cgi?id=150179
+            &lt;rdar://problem/8036240&gt;
+
+            Reviewed by Darin Adler.
+
+            * Configurations/FeatureDefines.xcconfig:
+            New feature flag.
+
</ins><span class="cx"> 2015-12-11  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r193480. rdar://problem/23849785
</span></span></pre></div>
<a id="branchessafari601branchSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -121,6 +121,9 @@
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS[sdk=iphone*] = $(ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_YES = ENABLE_IOS_GESTURE_EVENTS;
</span><span class="cx"> 
</span><ins>+ENABLE_MAC_GESTURE_EVENTS[sdk=macosx*] = $(ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
+ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_YES = ENABLE_MAC_GESTURE_EVENTS;
+
</ins><span class="cx"> ENABLE_IOS_TEXT_AUTOSIZING[sdk=iphone*] = ENABLE_IOS_TEXT_AUTOSIZING;
</span><span class="cx"> 
</span><span class="cx"> ENABLE_IOS_TOUCH_EVENTS[sdk=iphone*] = $(ENABLE_IOS_TOUCH_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="lines">@@ -228,4 +231,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_
 CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCR
 IPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_V
 IEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_C
 ONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML)
  $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENAB
 LE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="branchessafari601branchSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WTF/ChangeLog (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WTF/ChangeLog        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WTF/ChangeLog        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-12-16  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r191299.
+
+    2015-10-19  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Add magnify and rotate gesture event support for Mac
+            https://bugs.webkit.org/show_bug.cgi?id=150179
+            &lt;rdar://problem/8036240&gt;
+
+            Reviewed by Darin Adler.
+
+            * wtf/FeatureDefines.h:
+            New feature flag.
+
</ins><span class="cx"> 2015-12-08  Harris Papadopoulos  &lt;cpapadopoulos@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r188386. rdar://problem/23816165
</span></span></pre></div>
<a id="branchessafari601branchSourceWTFwtfFeatureDefinesh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WTF/wtf/FeatureDefines.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WTF/wtf/FeatureDefines.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WTF/wtf/FeatureDefines.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -110,6 +110,10 @@
</span><span class="cx"> #define ENABLE_IOS_TOUCH_EVENTS 1
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if !defined(ENABLE_MAC_GESTURE_EVENTS) &amp;&amp; USE(APPLE_INTERNAL_SDK)
+#define ENABLE_MAC_GESTURE_EVENTS 1
+#endif
+
</ins><span class="cx"> #if !defined(ENABLE_METER_ELEMENT)
</span><span class="cx"> #define ENABLE_METER_ELEMENT 0
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/ChangeLog        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -1,5 +1,45 @@
</span><span class="cx"> 2015-12-16  Babak Shafiei  &lt;bshafiei@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r191299.
+
+    2015-10-19  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Add magnify and rotate gesture event support for Mac
+            https://bugs.webkit.org/show_bug.cgi?id=150179
+            &lt;rdar://problem/8036240&gt;
+
+            Reviewed by Darin Adler.
+
+            No new tests.
+
+            * Configurations/FeatureDefines.xcconfig:
+            New feature flag.
+
+            * Configurations/WebCore.xcconfig:
+            Don't exclude generated gesture sources; they are already #ifdef-guarded.
+
+            * DerivedSources.make:
+            Add GestureEvent.idl for ENABLE_MAC_GESTURE_EVENTS too.
+
+            * WebCore.xcodeproj/project.pbxproj:
+            Add GestureEvents.cpp.
+
+            * bindings/objc/DOMEvents.mm:
+            (kitClass):
+            Support DOMGestureEvent on Mac if the new flag is enabled.
+
+            * dom/mac/GestureEvents.cpp: Added.
+            * page/mac/EventHandlerMac.mm:
+
+            * page/EventHandler.cpp:
+            (WebCore::EventHandler::clear):
+            * page/EventHandler.h:
+            Enable some gesture-related code on Mac if the new flag is enabled.
+
+            * platform/PlatformEvent.h:
+
+2015-12-16  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
</ins><span class="cx">         Merge r191121.
</span><span class="cx"> 
</span><span class="cx">     2015-10-15  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/Configurations/FeatureDefines.xcconfig (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/Configurations/FeatureDefines.xcconfig        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/Configurations/FeatureDefines.xcconfig        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -121,6 +121,9 @@
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS[sdk=iphone*] = $(ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_YES = ENABLE_IOS_GESTURE_EVENTS;
</span><span class="cx"> 
</span><ins>+ENABLE_MAC_GESTURE_EVENTS[sdk=macosx*] = $(ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
+ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_YES = ENABLE_MAC_GESTURE_EVENTS;
+
</ins><span class="cx"> ENABLE_IOS_TEXT_AUTOSIZING[sdk=iphone*] = ENABLE_IOS_TEXT_AUTOSIZING;
</span><span class="cx"> 
</span><span class="cx"> ENABLE_IOS_TOUCH_EVENTS[sdk=iphone*] = $(ENABLE_IOS_TOUCH_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="lines">@@ -228,4 +231,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_
 CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCR
 IPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_V
 IEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_C
 ONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML)
  $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENAB
 LE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebCoreConfigurationsWebCorexcconfig"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/Configurations/WebCore.xcconfig (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/Configurations/WebCore.xcconfig        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/Configurations/WebCore.xcconfig        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES_FOR_TOUCH_EVENTS = $(EXCLUDED_SOURCE_FILE_NAMES_FOR_TOUCH_EVENTS_IF_ENABLED_$(ENABLE_TOUCH_EVENTS));
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES_FOR_TOUCH_EVENTS_IF_ENABLED_ = JSTouch* DOMTouch*;
</span><span class="cx"> 
</span><del>-EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS = $(EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS_IF_ENABLED_$(ENABLE_IOS_GESTURE_EVENTS));
</del><ins>+EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS = $(EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS_IF_ENABLED_$(ENABLE_IOS_GESTURE_EVENTS)$(ENABLE_MAC_GESTURE_EVENTS));
</ins><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS_IF_ENABLED_ = JSGesture* DOMGesture*;
</span><span class="cx"> 
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = *.tiff *Cursor.png AccessibilityObjectMac.mm AXObjectCacheMac.mm ColorMac.mm Cursor.cpp CursorMac.mm DataTransferMac.mm EditorMac.mm EventHandlerMac.mm EventLoopMac.mm GeolocationServiceMac.mm GraphicsContext3DOpenGLES.cpp IconDatabase.cpp IconMac.mm KillRingMac.mm LocalCurrentGraphicsContext.mm MIMETypeRegistryMac.mm MediaPlayerPrivateQTKit.mm NSScrollerImpDetails.mm NetworkStateNotifierMac.cpp PasteboardMac.mm PlatformEventFactoryMac.mm PlatformMouseEventMac.mm PlatformPasteboardMac.mm PlatformScreenMac.mm PlatformSpeechSynthesizerMac.mm RunLoopMac.mm SSLKeyGeneratorMac.cpp ScrollViewMac.mm ScrollbarThemeMac.mm SharedTimerMac.mm SoundMac.mm SystemTimeMac.cpp ThemeMac.mm ThreadCheck.mm UserAgentMac.mm WebAccessibilityObjectWrapperMac.mm WebCoreSystemInterface.mm WebCoreView.m WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm WidgetMac.mm DisplayRefreshMonitorMac.cp
 p $(EXCLUDED_SOURCE_FILE_NAMES_FOR_TOUCH_EVENTS) $(EXCLUDED_SOURCE_FILE_NAMES_FOR_GESTURE_EVENTS);
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/DerivedSources.make (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/DerivedSources.make        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/DerivedSources.make        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -739,20 +739,24 @@
</span><span class="cx"> endif
</span><span class="cx"> endif
</span><span class="cx"> 
</span><del>-ifeq ($(WTF_PLATFORM_IOS), 1)
</del><span class="cx"> ADDITIONAL_BINDING_IDLS =
</span><ins>+ifeq ($(findstring ENABLE_MAC_GESTURE_EVENTS,$(FEATURE_DEFINES)), ENABLE_MAC_GESTURE_EVENTS)
+ADDITIONAL_BINDING_IDLS += GestureEvent.idl
+endif
</ins><span class="cx"> 
</span><ins>+ifeq ($(findstring ENABLE_IOS_GESTURE_EVENTS,$(FEATURE_DEFINES)), ENABLE_IOS_GESTURE_EVENTS)
+ADDITIONAL_BINDING_IDLS += GestureEvent.idl
+endif
+
+ifeq ($(WTF_PLATFORM_IOS), 1)
</ins><span class="cx"> ifeq ($(findstring ENABLE_IOS_TOUCH_EVENTS,$(FEATURE_DEFINES)), ENABLE_IOS_TOUCH_EVENTS)
</span><span class="cx"> ADDITIONAL_BINDING_IDLS += \
</span><span class="cx">     Touch.idl \
</span><span class="cx">     TouchEvent.idl \
</span><span class="cx">     TouchList.idl
</span><span class="cx"> endif
</span><ins>+endif # IOS
</ins><span class="cx"> 
</span><del>-ifeq ($(findstring ENABLE_IOS_GESTURE_EVENTS,$(FEATURE_DEFINES)), ENABLE_IOS_GESTURE_EVENTS)
-ADDITIONAL_BINDING_IDLS += GestureEvent.idl
-endif
-
</del><span class="cx"> NON_SVG_BINDING_IDLS += $(ADDITIONAL_BINDING_IDLS)
</span><span class="cx"> 
</span><span class="cx"> all : $(ADDITIONAL_BINDING_IDLS:%.idl=JS%.h)
</span><span class="lines">@@ -762,8 +766,6 @@
</span><span class="cx"> $(ADDITIONAL_BINDING_IDLS) : % : WebKitAdditions/%
</span><span class="cx">         cp $&lt; .
</span><span class="cx"> 
</span><del>-endif
-
</del><span class="cx"> endif # MACOS
</span><span class="cx"> 
</span><span class="cx"> ifneq ($(WTF_PLATFORM_IOS), 1)
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -1133,6 +1133,7 @@
</span><span class="cx">                 2D5002F81B56D7810020AAF7 /* DOMPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5002F71B56D7810020AAF7 /* DOMPath.cpp */; };
</span><span class="cx">                 2D5002FB1B56D7990020AAF7 /* PathUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5002F91B56D7990020AAF7 /* PathUtilities.cpp */; };
</span><span class="cx">                 2D5002FC1B56D7990020AAF7 /* PathUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D5002FA1B56D7990020AAF7 /* PathUtilities.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                2D5036681BCDDDC400E20BB3 /* GestureEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5036671BCDDDC400E20BB3 /* GestureEvents.cpp */; settings = {ASSET_TAGS = (); }; };
</ins><span class="cx">                 2D58D8551A15F65F00A5F726 /* DataDetection.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D58D8531A15F65F00A5F726 /* DataDetection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2D58D8561A15F65F00A5F726 /* DataDetection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D58D8541A15F65F00A5F726 /* DataDetection.mm */; };
</span><span class="cx">                 2D59F1BF1A0044C6001F3D29 /* DataDetectorsSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D59F1BE1A0044C6001F3D29 /* DataDetectorsSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -8330,6 +8331,7 @@
</span><span class="cx">                 2D5002F71B56D7810020AAF7 /* DOMPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMPath.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D5002F91B56D7990020AAF7 /* PathUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathUtilities.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D5002FA1B56D7990020AAF7 /* PathUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathUtilities.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                2D5036671BCDDDC400E20BB3 /* GestureEvents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GestureEvents.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 2D58D8531A15F65F00A5F726 /* DataDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataDetection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D58D8541A15F65F00A5F726 /* DataDetection.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DataDetection.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D59F1BE1A0044C6001F3D29 /* DataDetectorsSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataDetectorsSPI.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -15866,6 +15868,14 @@
</span><span class="cx">                         path = mac;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                2D5036661BCDDDC400E20BB3 /* mac */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2D5036671BCDDDC400E20BB3 /* GestureEvents.cpp */,
+                        );
+                        path = mac;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 2E4346310F546A6800B0F1BA /* workers */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -23108,6 +23118,7 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 CE2616A4187E65C1007955F3 /* ios */,
</span><ins>+                                2D5036661BCDDDC400E20BB3 /* mac */,
</ins><span class="cx">                                 E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */,
</span><span class="cx">                                 E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */,
</span><span class="cx">                                 319847FE1A1D816700A13318 /* AnimationEvent.cpp */,
</span><span class="lines">@@ -30284,6 +30295,7 @@
</span><span class="cx">                                 24D912B713CA9A6900D21915 /* SVGAltGlyphItemElement.cpp in Sources */,
</span><span class="cx">                                 B22279760D00BF220071B782 /* SVGAngle.cpp in Sources */,
</span><span class="cx">                                 B22279790D00BF220071B782 /* SVGAnimateColorElement.cpp in Sources */,
</span><ins>+                                2D5036681BCDDDC400E20BB3 /* GestureEvents.cpp in Sources */,
</ins><span class="cx">                                 4362C7B913AC6F1A00344BEB /* SVGAnimatedAngle.cpp in Sources */,
</span><span class="cx">                                 431A308813B8F978007791E4 /* SVGAnimatedBoolean.cpp in Sources */,
</span><span class="cx">                                 43A625F913B3304000AC94B8 /* SVGAnimatedColor.cpp in Sources */,
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCorebindingsobjcDOMEventsmm"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/bindings/objc/DOMEvents.mm (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/bindings/objc/DOMEvents.mm        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/bindings/objc/DOMEvents.mm        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> #import &quot;DOMTouchEvent.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(IOS_GESTURE_EVENTS)
</del><ins>+#if ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx"> #import &quot;DOMGestureEvent.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">         if (desiredInterface == WebCore::TouchEventInterfaceType) 
</span><span class="cx">             return [DOMTouchEvent class];
</span><span class="cx"> #endif
</span><del>-#if ENABLE(IOS_GESTURE_EVENTS)
</del><ins>+#if ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx">         if (desiredInterface == WebCore::GestureEventInterfaceType)
</span><span class="cx">             return [DOMGestureEvent class];
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCoredomEventNamesin"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/dom/EventNames.in (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/dom/EventNames.in        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/dom/EventNames.in        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx"> SecurityPolicyViolationEvent conditional=CSP_NEXT
</span><span class="cx"> UIRequestEvent conditional=INDIE_UI
</span><span class="cx"> GestureEvent conditional=IOS_GESTURE_EVENTS
</span><ins>+GestureEvent conditional=MAC_GESTURE_EVENTS
</ins><span class="cx"> WebKitPlaybackTargetAvailabilityEvent conditional=WIRELESS_PLAYBACK_TARGET
</span><span class="cx"> GamepadEvent conditional=GAMEPAD
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/page/EventHandler.cpp (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/page/EventHandler.cpp        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/page/EventHandler.cpp        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -117,6 +117,10 @@
</span><span class="cx"> #include &quot;PlatformTouchEvent.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+#include &quot;PlatformGestureEventMac.h&quot;
+#endif
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span><span class="lines">@@ -134,7 +138,7 @@
</span><span class="cx"> const std::chrono::milliseconds longMousePressRecognitionDelay = std::chrono::milliseconds(500);
</span><span class="cx"> const int maximumLongMousePressDragDistance = 5; // in points.
</span><span class="cx"> 
</span><del>-#if ENABLE(IOS_GESTURE_EVENTS)
</del><ins>+#if ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx"> const float GestureUnknown = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -423,8 +427,10 @@
</span><span class="cx">     m_clickNode = nullptr;
</span><span class="cx"> #if ENABLE(IOS_GESTURE_EVENTS)
</span><span class="cx">     m_gestureInitialDiameter = GestureUnknown;
</span><ins>+    m_gestureInitialRotation = GestureUnknown;
+#endif
+#if ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx">     m_gestureLastDiameter = GestureUnknown;
</span><del>-    m_gestureInitialRotation = GestureUnknown;
</del><span class="cx">     m_gestureLastRotation = GestureUnknown;
</span><span class="cx">     m_gestureTargets.clear();
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCorepageEventHandlerh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/page/EventHandler.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/page/EventHandler.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/page/EventHandler.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -40,7 +40,10 @@
</span><span class="cx"> #include &quot;WheelEventDeltaTracker.h&quot;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/HashSet.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><ins>+#include &lt;wtf/Vector.h&gt;
</ins><span class="cx"> #include &lt;wtf/WeakPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -55,15 +58,6 @@
</span><span class="cx"> OBJC_CLASS NSView;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(TOUCH_EVENTS)
-#include &lt;wtf/HashMap.h&gt;
-#endif
-
-#if ENABLE(IOS_TOUCH_EVENTS)
-#include &lt;wtf/HashSet.h&gt;
-#include &lt;wtf/Vector.h&gt;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class AutoscrollController;
</span><span class="lines">@@ -83,6 +77,7 @@
</span><span class="cx"> class MouseEventWithHitTestResults;
</span><span class="cx"> class Node;
</span><span class="cx"> class OptionalCursor;
</span><ins>+class PlatformGestureEvent;
</ins><span class="cx"> class PlatformKeyboardEvent;
</span><span class="cx"> class PlatformTouchEvent;
</span><span class="cx"> class PlatformWheelEvent;
</span><span class="lines">@@ -108,7 +103,7 @@
</span><span class="cx"> extern const int GeneralDragHysteresis;
</span><span class="cx"> #endif // ENABLE(DRAG_SUPPORT)
</span><span class="cx"> 
</span><del>-#if ENABLE(IOS_GESTURE_EVENTS)
</del><ins>+#if ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx"> extern const float GestureUnknown;
</span><span class="cx"> extern const unsigned InvalidTouchIdentifier;
</span><span class="cx"> #endif
</span><span class="lines">@@ -216,6 +211,9 @@
</span><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS) || ENABLE(IOS_GESTURE_EVENTS)
</span><span class="cx">     typedef Vector&lt;RefPtr&lt;Touch&gt;&gt; TouchArray;
</span><span class="cx">     typedef HashMap&lt;EventTarget*, TouchArray*&gt; EventTargetTouchMap;
</span><ins>+#endif
+
+#if ENABLE(IOS_TOUCH_EVENTS) || ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx">     typedef HashSet&lt;RefPtr&lt;EventTarget&gt;&gt; EventTargetSet;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -226,6 +224,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(IOS_GESTURE_EVENTS)
</span><span class="cx">     bool dispatchGestureEvent(const PlatformTouchEvent&amp;, const AtomicString&amp;, const EventTargetSet&amp;, float, float);
</span><ins>+#elif ENABLE(MAC_GESTURE_EVENTS)
+    bool dispatchGestureEvent(const PlatformGestureEvent&amp;, const AtomicString&amp;, const EventTargetSet&amp;, float, float);
+    WEBCORE_EXPORT bool handleGestureEvent(const PlatformGestureEvent&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -523,10 +524,15 @@
</span><span class="cx"> #if ENABLE(IOS_GESTURE_EVENTS)
</span><span class="cx">     float m_gestureInitialDiameter { GestureUnknown };
</span><span class="cx">     float m_gestureInitialRotation { GestureUnknown };
</span><ins>+#endif
+#if ENABLE(IOS_GESTURE_EVENTS) || ENABLE(MAC_GESTURE_EVENTS)
</ins><span class="cx">     float m_gestureLastDiameter { GestureUnknown };
</span><span class="cx">     float m_gestureLastRotation { GestureUnknown };
</span><span class="cx">     EventTargetSet m_gestureTargets;
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    bool m_hasActiveGesture { false };
+#endif
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx">     unsigned m_firstTouchID { InvalidTouchIdentifier };
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCorepagemacEventHandlerMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/page/mac/EventHandlerMac.mm (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/page/mac/EventHandlerMac.mm        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/page/mac/EventHandlerMac.mm        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -50,6 +50,7 @@
</span><span class="cx"> #include &quot;Range.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><span class="cx"> #include &quot;RenderListBox.h&quot;
</span><ins>+#include &quot;RenderView.h&quot;
</ins><span class="cx"> #include &quot;RenderWidget.h&quot;
</span><span class="cx"> #include &quot;RuntimeApplicationChecks.h&quot;
</span><span class="cx"> #include &quot;ScrollAnimator.h&quot;
</span><span class="lines">@@ -64,6 +65,10 @@
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><span class="cx"> #include &lt;wtf/ObjcRuntimeExtras.h&gt;
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+#import &lt;WebKitAdditions/EventHandlerMacGesture.cpp&gt;
+#endif
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span></span></pre></div>
<a id="branchessafari601branchSourceWebCoreplatformPlatformEventh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebCore/platform/PlatformEvent.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebCore/platform/PlatformEvent.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebCore/platform/PlatformEvent.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -58,6 +58,13 @@
</span><span class="cx">         TouchEnd,
</span><span class="cx">         TouchCancel,
</span><span class="cx"> #endif
</span><ins>+
+#if ENABLE(MAC_GESTURE_EVENTS)
+        // PlatformGestureEvent
+        GestureStart,
+        GestureChange,
+        GestureEnd,
+#endif
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     enum Modifiers : uint8_t {
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit/mac/ChangeLog (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit/mac/ChangeLog        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit/mac/ChangeLog        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-12-16  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r191299.
+
+    2015-10-19  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Add magnify and rotate gesture event support for Mac
+            https://bugs.webkit.org/show_bug.cgi?id=150179
+            &lt;rdar://problem/8036240&gt;
+
+            Reviewed by Darin Adler.
+
+            * Configurations/FeatureDefines.xcconfig:
+            New feature flag.
+
</ins><span class="cx"> 2015-12-08  Harris Papadopoulos  &lt;cpapadopoulos@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r188386. rdar://problem/23816165
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -121,6 +121,9 @@
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS[sdk=iphone*] = $(ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_YES = ENABLE_IOS_GESTURE_EVENTS;
</span><span class="cx"> 
</span><ins>+ENABLE_MAC_GESTURE_EVENTS[sdk=macosx*] = $(ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
+ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_YES = ENABLE_MAC_GESTURE_EVENTS;
+
</ins><span class="cx"> ENABLE_IOS_TEXT_AUTOSIZING[sdk=iphone*] = ENABLE_IOS_TEXT_AUTOSIZING;
</span><span class="cx"> 
</span><span class="cx"> ENABLE_IOS_TOUCH_EVENTS[sdk=iphone*] = $(ENABLE_IOS_TOUCH_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="lines">@@ -228,4 +231,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_
 CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCR
 IPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_V
 IEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_C
 ONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML)
  $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENAB
 LE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/ChangeLog (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/ChangeLog        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/ChangeLog        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -1,3 +1,99 @@
</span><ins>+2015-12-16  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r191299.
+
+    2015-10-19  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+            Add magnify and rotate gesture event support for Mac
+            https://bugs.webkit.org/show_bug.cgi?id=150179
+            &lt;rdar://problem/8036240&gt;
+
+            Reviewed by Darin Adler.
+
+            * Configurations/FeatureDefines.xcconfig:
+            New feature flag.
+
+            * Shared/NativeWebGestureEvent.h: Added.
+            (WebKit::NativeWebGestureEvent::nativeEvent):
+            * Shared/WebEvent.h:
+            * Shared/WebEventConversion.cpp:
+            (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
+            (WebKit::platform):
+            * Shared/WebEventConversion.h:
+            * Shared/mac/NativeWebGestureEventMac.mm: Added.
+            (WebKit::webEventTypeForNSEvent):
+            (WebKit::pointForEvent):
+            (WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
+            Add and plumb a new native event that wraps a NSEvent of type
+            NSEventTypeMagnify or NSEventTypeRotate (gesture events).
+
+            * Shared/mac/WebGestureEvent.cpp: Added.
+            (WebKit::WebGestureEvent::encode):
+            (WebKit::WebGestureEvent::decode):
+            (WebKit::WebGestureEvent::isGestureEventType):
+            * Shared/mac/WebGestureEvent.h: Added.
+            (WebKit::WebGestureEvent::WebGestureEvent):
+            (WebKit::WebGestureEvent::position):
+            (WebKit::WebGestureEvent::gestureScale):
+            (WebKit::WebGestureEvent::gestureRotation):
+            Add IPC plumbing for WebGestureEvent, which becomes a WebCore::PlatformGestureEvent.
+
+            * UIProcess/API/Cocoa/WKViewPrivate.h:
+            Remove unnecessary iPhone-only WKView code.
+            Add _gestureEventWasNotHandledByWebCore, SPI which can be overridden
+            to react when WebCore decides not to handle a gesture event.
+
+            * UIProcess/API/mac/WKView.mm:
+            (-[WKView magnifyWithEvent:]):
+            Route magnification gesture events to the page, unless we're already
+            in an active view zoom gesture, in which case we'll bypass the page
+            and send the event straight to ViewGestureController.
+
+            (-[WKView rotateWithEvent:]):
+            Route rotation gesture events to the page.
+
+            (-[WKView _gestureEventWasNotHandledByWebCore:]):
+            Let ViewGestureController know that WebCore didn't handle a gesture event.
+            We always give WebCore the first crack at the event if we're not in a zoom,
+            because it could preventDefault() on the Begin phase event, and that should
+            prevent pinch-zoom from starting.
+
+            * UIProcess/PageClient.h:
+            * UIProcess/mac/PageClientImpl.h:
+            * UIProcess/mac/PageClientImpl.mm:
+            (WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
+            Plumb gestureEventWasNotHandledByWebCore back from WebPageProxy to WKView.
+
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::handleGestureEvent):
+            (WebKit::WebPageProxy::didReceiveEvent):
+            * UIProcess/WebPageProxy.h:
+            Forward gesture events to EventDispatcher, and let WKView know when WebCore
+            passes on handling them.
+
+            * UIProcess/mac/ViewGestureController.h:
+            (WebKit::ViewGestureController::hasActiveMagnificationGesture):
+            * UIProcess/mac/ViewGestureControllerMac.mm:
+            (WebKit::ViewGestureController::gestureEventWasNotHandledByWebCore):
+            (WebKit::ViewGestureController::handleMagnificationGestureEvent):
+            Don't try to start a zoom with anything other than a Begin phase event.
+            Try to start a zoom with any events that WebCore doesn't handle.
+            Move dispatch of endMagnificationGesture into ViewGestureController;
+            there is no reason for that to be in WKView anymore.
+
+            * WebKit2.xcodeproj/project.pbxproj:
+            * WebProcess/WebPage/EventDispatcher.cpp:
+            (WebKit::EventDispatcher::gestureEvent):
+            (WebKit::EventDispatcher::dispatchGestureEvent):
+            * WebProcess/WebPage/EventDispatcher.h:
+            * WebProcess/WebPage/EventDispatcher.messages.in:
+            * WebProcess/WebPage/WebPage.cpp:
+            (WebKit::handleGestureEvent):
+            (WebKit::WebPage::gestureEvent):
+            * WebProcess/WebPage/WebPage.h:
+            Dispatch to the main thread and hand off the gesture event to WebCore,
+            asynchronously informing the UI process of whether the event was handled or not.
+
</ins><span class="cx"> 2015-12-08  Harris Papadopoulos  &lt;cpapadopoulos@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r193380. rdar://problem/23816165
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/Configurations/FeatureDefines.xcconfig (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -121,6 +121,9 @@
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS[sdk=iphone*] = $(ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="cx"> ENABLE_IOS_GESTURE_EVENTS_ios_WITH_INTERNAL_SDK_YES = ENABLE_IOS_GESTURE_EVENTS;
</span><span class="cx"> 
</span><ins>+ENABLE_MAC_GESTURE_EVENTS[sdk=macosx*] = $(ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
+ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_YES = ENABLE_MAC_GESTURE_EVENTS;
+
</ins><span class="cx"> ENABLE_IOS_TEXT_AUTOSIZING[sdk=iphone*] = ENABLE_IOS_TEXT_AUTOSIZING;
</span><span class="cx"> 
</span><span class="cx"> ENABLE_IOS_TOUCH_EVENTS[sdk=iphone*] = $(ENABLE_IOS_TOUCH_EVENTS_ios_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
</span><span class="lines">@@ -228,4 +231,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_
 CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCR
 IPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_V
 IEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_C
 ONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML)
  $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PICTURE_SIZES) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENAB
 LE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedNativeWebGestureEventhfromrev191299trunkSourceWebKit2SharedNativeWebGestureEventh"></a>
<div class="copfile"><h4>Copied: branches/safari-601-branch/Source/WebKit2/Shared/NativeWebGestureEvent.h (from rev 191299, trunk/Source/WebKit2/Shared/NativeWebGestureEvent.h) (0 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/NativeWebGestureEvent.h                                (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/Shared/NativeWebGestureEvent.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef NativeWebGestureEvent_h
+#define NativeWebGestureEvent_h
+
+#if ENABLE(MAC_GESTURE_EVENTS)
+
+#include &quot;WebEvent.h&quot;
+#include &quot;WebGestureEvent.h&quot;
+
+OBJC_CLASS NSEvent;
+
+namespace WebKit {
+
+class NativeWebGestureEvent final : public WebGestureEvent {
+public:
+    explicit NativeWebGestureEvent(NSEvent *, NSView *);
+
+    NSEvent *nativeEvent() const { return m_nativeEvent.get(); }
+
+private:
+    RetainPtr&lt;NSEvent&gt; m_nativeEvent;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(MAC_GESTURE_EVENTS)
+
+#endif // NativeWebGestureEvent_h
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedWebEventh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/Shared/WebEvent.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/WebEvent.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/Shared/WebEvent.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -78,6 +78,12 @@
</span><span class="cx">         TouchEnd,
</span><span class="cx">         TouchCancel,
</span><span class="cx"> #endif
</span><ins>+
+#if ENABLE(MAC_GESTURE_EVENTS)
+        GestureStart,
+        GestureChange,
+        GestureEnd,
+#endif
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     enum Modifiers {
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedWebEventConversioncpp"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.cpp (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.cpp        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.cpp        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -28,6 +28,10 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebEvent.h&quot;
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+#include &quot;WebGestureEvent.h&quot;
+#endif
+
</ins><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> class WebKit2PlatformMouseEvent : public WebCore::PlatformMouseEvent {
</span><span class="lines">@@ -349,4 +353,48 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+class WebKit2PlatformGestureEvent : public WebCore::PlatformGestureEvent {
+public:
+    WebKit2PlatformGestureEvent(const WebGestureEvent&amp; webEvent)
+    {
+        switch (webEvent.type()) {
+        case WebEvent::GestureStart:
+            m_type = WebCore::PlatformEvent::GestureStart;
+            break;
+        case WebEvent::GestureChange:
+            m_type = WebCore::PlatformEvent::GestureChange;
+            break;
+        case WebEvent::GestureEnd:
+            m_type = WebCore::PlatformEvent::GestureEnd;
+            break;
+        default:
+            ASSERT_NOT_REACHED();
+        }
+
+        m_modifiers = 0;
+        if (webEvent.shiftKey())
+            m_modifiers |= ShiftKey;
+        if (webEvent.controlKey())
+            m_modifiers |= CtrlKey;
+        if (webEvent.altKey())
+            m_modifiers |= AltKey;
+        if (webEvent.metaKey())
+            m_modifiers |= MetaKey;
+
+        m_timestamp = webEvent.timestamp();
+
+        m_gestureScale = webEvent.gestureScale();
+        m_gestureRotation = webEvent.gestureRotation();
+        m_position = webEvent.position();
+        m_globalPosition = webEvent.position();
+    }
+};
+
+WebCore::PlatformGestureEvent platform(const WebGestureEvent&amp; webEvent)
+{
+    return WebKit2PlatformGestureEvent(webEvent);
+}
+#endif
+
</ins><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedWebEventConversionh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/Shared/WebEventConversion.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -37,6 +37,10 @@
</span><span class="cx"> #include &lt;WebCore/PlatformTouchPoint.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+#include &lt;WebKitAdditions/PlatformGestureEventMac.h&gt;
+#endif
+
</ins><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> class WebMouseEvent;
</span><span class="lines">@@ -48,6 +52,10 @@
</span><span class="cx"> class WebTouchPoint;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+class WebGestureEvent;
+#endif
+
</ins><span class="cx"> WebCore::PlatformMouseEvent platform(const WebMouseEvent&amp;);
</span><span class="cx"> WebCore::PlatformWheelEvent platform(const WebWheelEvent&amp;);
</span><span class="cx"> WebCore::PlatformKeyboardEvent platform(const WebKeyboardEvent&amp;);
</span><span class="lines">@@ -59,6 +67,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+WebCore::PlatformGestureEvent platform(const WebGestureEvent&amp;);
+#endif
+
</ins><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span><span class="cx"> #endif // WebEventConversion_h
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedmacNativeWebGestureEventMacmmfromrev191299trunkSourceWebKit2SharedmacNativeWebGestureEventMacmm"></a>
<div class="copfile"><h4>Copied: branches/safari-601-branch/Source/WebKit2/Shared/mac/NativeWebGestureEventMac.mm (from rev 191299, trunk/Source/WebKit2/Shared/mac/NativeWebGestureEventMac.mm) (0 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/mac/NativeWebGestureEventMac.mm                                (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/Shared/mac/NativeWebGestureEventMac.mm        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;NativeWebGestureEvent.h&quot;
+
+#if ENABLE(MAC_GESTURE_EVENTS)
+
+#import &quot;WebEvent.h&quot;
+#import &quot;WebGestureEvent.h&quot;
+#import &lt;WebCore/IntPoint.h&gt;
+#import &lt;wtf/CurrentTime.h&gt;
+
+namespace WebKit {
+
+static inline WebEvent::Type webEventTypeForNSEvent(NSEvent *event)
+{
+    switch (event.phase) {
+    case NSEventPhaseBegan:
+        return WebEvent::GestureStart;
+    case NSEventPhaseChanged:
+        return WebEvent::GestureChange;
+    case NSEventPhaseEnded:
+    case NSEventPhaseCancelled:
+        return WebEvent::GestureEnd;
+    default:
+        break;
+    }
+    return WebEvent::Type::NoType;
+}
+
+static NSPoint pointForEvent(NSEvent *event, NSView *windowView)
+{
+    NSPoint location = [event locationInWindow];
+    if (windowView)
+        location = [windowView convertPoint:location fromView:nil];
+    return location;
+}
+
+NativeWebGestureEvent::NativeWebGestureEvent(NSEvent *event, NSView *view)
+    : WebGestureEvent(
+        webEventTypeForNSEvent(event),
+        static_cast&lt;Modifiers&gt;(0),
+        event.timestamp,
+        WebCore::IntPoint(pointForEvent(event, view)),
+        event.type == NSEventTypeMagnify ? event.magnification : 0,
+        event.type == NSEventTypeRotate ? event.rotation : 0)
+    , m_nativeEvent(event)
+{
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MAC_GESTURE_EVENTS)
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedmacWebGestureEventcppfromrev191299trunkSourceWebKit2SharedmacWebGestureEventcpp"></a>
<div class="copfile"><h4>Copied: branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.cpp (from rev 191299, trunk/Source/WebKit2/Shared/mac/WebGestureEvent.cpp) (0 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.cpp                                (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.cpp        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -0,0 +1,68 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;WebGestureEvent.h&quot;
+
+#if ENABLE(MAC_GESTURE_EVENTS)
+
+#include &quot;ArgumentCoders.h&quot;
+#include &quot;Arguments.h&quot;
+#include &quot;WebCoreArgumentCoders.h&quot;
+
+namespace WebKit {
+
+void WebGestureEvent::encode(IPC::ArgumentEncoder&amp; encoder) const
+{
+    WebEvent::encode(encoder);
+
+    encoder &lt;&lt; m_position;
+    encoder &lt;&lt; m_gestureScale;
+    encoder &lt;&lt; m_gestureRotation;
+}
+
+bool WebGestureEvent::decode(IPC::ArgumentDecoder&amp; decoder, WebGestureEvent&amp; result)
+{
+    if (!WebEvent::decode(decoder, result))
+        return false;
+
+    if (!decoder.decode(result.m_position))
+        return false;
+    if (!decoder.decode(result.m_gestureScale))
+        return false;
+    if (!decoder.decode(result.m_gestureRotation))
+        return false;
+
+    return true;
+}
+
+bool WebGestureEvent::isGestureEventType(Type type) const
+{
+    return type == GestureStart || type == GestureChange || type == GestureEnd;
+}
+    
+} // namespace WebKit
+
+#endif // ENABLE(MAC_GESTURE_EVENTS)
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2SharedmacWebGestureEventhfromrev191299trunkSourceWebKit2SharedmacWebGestureEventh"></a>
<div class="copfile"><h4>Copied: branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.h (from rev 191299, trunk/Source/WebKit2/Shared/mac/WebGestureEvent.h) (0 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.h                                (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/Shared/mac/WebGestureEvent.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebGestureEvent_h
+#define WebGestureEvent_h
+
+#if ENABLE(MAC_GESTURE_EVENTS)
+
+#include &quot;WebEvent.h&quot;
+#include &lt;WebCore/FloatPoint.h&gt;
+#include &lt;WebCore/FloatSize.h&gt;
+#include &lt;WebCore/IntPoint.h&gt;
+#include &lt;WebCore/IntSize.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace IPC {
+class ArgumentDecoder;
+class ArgumentEncoder;
+}
+
+namespace WebKit {
+
+class WebGestureEvent : public WebEvent {
+public:
+    WebGestureEvent() { }
+    WebGestureEvent(WebEvent::Type type, Modifiers modifiers, double timestamp, WebCore::IntPoint position, float gestureScale, float gestureRotation)
+        : WebEvent(type, modifiers, timestamp)
+        , m_position(position)
+        , m_gestureScale(gestureScale)
+        , m_gestureRotation(gestureRotation)
+    {
+        ASSERT(isGestureEventType(type));
+    }
+
+    WebCore::IntPoint position() const { return m_position; }
+
+    float gestureScale() const { return m_gestureScale; }
+    float gestureRotation() const { return m_gestureRotation; }
+
+    void encode(IPC::ArgumentEncoder&amp;) const;
+    static bool decode(IPC::ArgumentDecoder&amp;, WebGestureEvent&amp;);
+    
+private:
+    bool isGestureEventType(Type) const;
+
+    WebCore::IntPoint m_position;
+    float m_gestureScale;
+    float m_gestureRotation;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(MAC_GESTURE_EVENTS)
+
+#endif // WebGestureEvent_h
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessAPICocoaWKViewPrivateh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -23,6 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#if !TARGET_OS_IPHONE
+
</ins><span class="cx"> #import &lt;WebKit/WKBase.h&gt;
</span><span class="cx"> #import &lt;WebKit/WKImmediateActionTypes.h&gt;
</span><span class="cx"> #import &lt;WebKit/WKLayoutMode.h&gt;
</span><span class="lines">@@ -35,33 +37,10 @@
</span><span class="cx"> 
</span><span class="cx"> @property (readonly) WKPageRef pageRef;
</span><span class="cx"> 
</span><del>-#if TARGET_OS_IPHONE
-- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
-- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
-#else
</del><span class="cx"> - (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
</span><span class="cx"> - (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
</span><span class="cx"> - (id)initWithFrame:(NSRect)frame configurationRef:(WKPageConfigurationRef)configuration;
</span><del>-#endif
</del><span class="cx"> 
</span><del>-#if TARGET_OS_IPHONE
-
-@property (nonatomic) CGSize minimumLayoutSizeOverride;
-
-// Define the inset of the scrollview unusable by the web page.
-@property (nonatomic, setter=_setObscuredInsets:) UIEdgeInsets _obscuredInsets;
-
-@property (nonatomic, setter=_setBackgroundExtendsBeyondPage:) BOOL _backgroundExtendsBeyondPage;
-
-// This is deprecated and should be removed entirely: &lt;rdar://problem/16294704&gt;.
-@property (readonly) UIColor *_pageExtendedBackgroundColor;
-
-- (void)_beginInteractiveObscuredInsetsChange;
-- (void)_endInteractiveObscuredInsetsChange;
-- (void)_didRelaunchProcess;
-
-#else
-
</del><span class="cx"> - (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo forFrame:(WKFrameRef)frameRef;
</span><span class="cx"> - (BOOL)canChangeFrameLayout:(WKFrameRef)frameRef;
</span><span class="cx"> 
</span><span class="lines">@@ -155,6 +134,9 @@
</span><span class="cx"> - (void)_dismissContentRelativeChildWindowsWithAnimation:(BOOL)withAnimation;
</span><span class="cx"> 
</span><span class="cx"> - (void)_didChangeContentSize:(NSSize)newSize;
</span><del>-#endif
</del><span class="cx"> 
</span><ins>+- (void)_gestureEventWasNotHandledByWebCore:(NSEvent *)event;
+
</ins><span class="cx"> @end
</span><ins>+
+#endif // !TARGET_OS_IPHONE
</ins></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx"> #import &quot;EditorState.h&quot;
</span><span class="cx"> #import &quot;LayerTreeContext.h&quot;
</span><span class="cx"> #import &quot;Logging.h&quot;
</span><ins>+#import &quot;NativeWebGestureEvent.h&quot;
</ins><span class="cx"> #import &quot;NativeWebKeyboardEvent.h&quot;
</span><span class="cx"> #import &quot;NativeWebMouseEvent.h&quot;
</span><span class="cx"> #import &quot;NativeWebWheelEvent.h&quot;
</span><span class="lines">@@ -4544,6 +4545,10 @@
</span><span class="cx"> - (void)magnifyWithEvent:(NSEvent *)event
</span><span class="cx"> {
</span><span class="cx">     if (!_data-&gt;_allowsMagnification) {
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+        NativeWebGestureEvent webEvent = NativeWebGestureEvent(event, self);
+        _data-&gt;_page-&gt;handleGestureEvent(webEvent);
+#endif
</ins><span class="cx">         [super magnifyWithEvent:event];
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -4552,12 +4557,35 @@
</span><span class="cx"> 
</span><span class="cx">     [self _ensureGestureController];
</span><span class="cx"> 
</span><del>-    _data-&gt;_gestureController-&gt;handleMagnificationGesture(event.magnification, [self convertPoint:event.locationInWindow fromView:nil]);
</del><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    if (_data-&gt;_gestureController-&gt;hasActiveMagnificationGesture()) {
+        _data-&gt;_gestureController-&gt;handleMagnificationGestureEvent(event, [self convertPoint:event.locationInWindow fromView:nil]);
+        return;
+    }
</ins><span class="cx"> 
</span><del>-    if (event.phase == NSEventPhaseEnded || event.phase == NSEventPhaseCancelled)
-        _data-&gt;_gestureController-&gt;endMagnificationGesture();
</del><ins>+    NativeWebGestureEvent webEvent = NativeWebGestureEvent(event, self);
+    _data-&gt;_page-&gt;handleGestureEvent(webEvent);
+#else
+    _data-&gt;_gestureController-&gt;handleMagnificationGestureEvent(event, [self convertPoint:event.locationInWindow fromView:nil]);
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+- (void)rotateWithEvent:(NSEvent *)event
+{
+    NativeWebGestureEvent webEvent = NativeWebGestureEvent(event, self);
+    _data-&gt;_page-&gt;handleGestureEvent(webEvent);
+}
+#endif
+
+- (void)_gestureEventWasNotHandledByWebCore:(NSEvent *)event
+{
+#if ENABLE(MAC_GESTURE_EVENTS)
+    if (_data-&gt;_gestureController)
+        _data-&gt;_gestureController-&gt;gestureEventWasNotHandledByWebCore(event, [self convertPoint:event.locationInWindow fromView:nil]);
+#endif
+}
+
</ins><span class="cx"> - (void)smartMagnifyWithEvent:(NSEvent *)event
</span><span class="cx"> {
</span><span class="cx">     if (!_data-&gt;_allowsMagnification) {
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessPageClienth"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -179,6 +179,9 @@
</span><span class="cx">     virtual LayerOrView *acceleratedCompositingRootLayer() const = 0;
</span><span class="cx">     virtual PassRefPtr&lt;ViewSnapshot&gt; takeViewSnapshot() = 0;
</span><span class="cx">     virtual void wheelEventWasNotHandledByWebCore(const NativeWebWheelEvent&amp;) = 0;
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    virtual void gestureEventWasNotHandledByWebCore(const NativeWebGestureEvent&amp;) = 0;
+#endif
</ins><span class="cx">     virtual void selectionDidChange() = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx"> #include &quot;DrawingAreaProxyMessages.h&quot;
</span><span class="cx"> #include &quot;EventDispatcherMessages.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><ins>+#include &quot;NativeWebGestureEvent.h&quot;
</ins><span class="cx"> #include &quot;NativeWebKeyboardEvent.h&quot;
</span><span class="cx"> #include &quot;NativeWebMouseEvent.h&quot;
</span><span class="cx"> #include &quot;NativeWebWheelEvent.h&quot;
</span><span class="lines">@@ -1924,6 +1925,20 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+void WebPageProxy::handleGestureEvent(const NativeWebGestureEvent&amp; event)
+{
+    if (!isValid())
+        return;
+
+    m_gestureEventQueue.append(event);
+    // FIXME: Consider doing some coalescing here.
+    m_process-&gt;responsivenessTimer()-&gt;start();
+
+    m_process-&gt;send(Messages::EventDispatcher::GestureEvent(m_pageID, event), 0);
+}
+#endif
+
</ins><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx"> void WebPageProxy::handleTouchEventSynchronously(const NativeWebTouchEvent&amp; event)
</span><span class="cx"> {
</span><span class="lines">@@ -4599,6 +4614,11 @@
</span><span class="cx">     case WebEvent::TouchEnd:
</span><span class="cx">     case WebEvent::TouchCancel:
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    case WebEvent::GestureStart:
+    case WebEvent::GestureChange:
+    case WebEvent::GestureEnd:
+#endif
</ins><span class="cx">         m_process-&gt;responsivenessTimer()-&gt;stop();
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="lines">@@ -4668,6 +4688,21 @@
</span><span class="cx">             m_uiClient-&gt;didNotHandleKeyEvent(this, event);
</span><span class="cx">         break;
</span><span class="cx">     }
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    case WebEvent::GestureStart:
+    case WebEvent::GestureChange:
+    case WebEvent::GestureEnd: {
+        MESSAGE_CHECK(!m_gestureEventQueue.isEmpty());
+        NativeWebGestureEvent event = m_gestureEventQueue.takeFirst();
+
+        MESSAGE_CHECK(type == event.type());
+
+        if (!handled)
+            m_pageClient.gestureEventWasNotHandledByWebCore(event);
+        break;
+    }
+        break;
+#endif
</ins><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx">     case WebEvent::TouchStart:
</span><span class="cx">     case WebEvent::TouchMove:
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -174,6 +174,7 @@
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> class CertificateInfo;
</span><ins>+class NativeWebGestureEvent;
</ins><span class="cx"> class NativeWebKeyboardEvent;
</span><span class="cx"> class NativeWebMouseEvent;
</span><span class="cx"> class NativeWebWheelEvent;
</span><span class="lines">@@ -598,6 +599,10 @@
</span><span class="cx">     void handleWheelEvent(const NativeWebWheelEvent&amp;);
</span><span class="cx">     void handleKeyboardEvent(const NativeWebKeyboardEvent&amp;);
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    void handleGestureEvent(const NativeWebGestureEvent&amp;);
+#endif
+
</ins><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx">     void handleTouchEventSynchronously(const NativeWebTouchEvent&amp;);
</span><span class="cx">     void handleTouchEventAsynchronously(const NativeWebTouchEvent&amp;);
</span><span class="lines">@@ -1634,6 +1639,9 @@
</span><span class="cx">     Deque&lt;NativeWebKeyboardEvent&gt; m_keyEventQueue;
</span><span class="cx">     Deque&lt;NativeWebWheelEvent&gt; m_wheelEventQueue;
</span><span class="cx">     Deque&lt;std::unique_ptr&lt;Vector&lt;NativeWebWheelEvent&gt;&gt;&gt; m_currentlyProcessedWheelEvents;
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    Deque&lt;NativeWebGestureEvent&gt; m_gestureEventQueue;
+#endif
</ins><span class="cx"> 
</span><span class="cx">     bool m_processingMouseMoveEvent;
</span><span class="cx">     std::unique_ptr&lt;NativeWebMouseEvent&gt; m_nextMouseMoveEvent;
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessmacPageClientImplh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -137,6 +137,9 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;ViewSnapshot&gt; takeViewSnapshot() override;
</span><span class="cx">     virtual void wheelEventWasNotHandledByWebCore(const NativeWebWheelEvent&amp;) override;
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    virtual void gestureEventWasNotHandledByWebCore(const NativeWebGestureEvent&amp;) override;
+#endif
</ins><span class="cx"> 
</span><span class="cx">     virtual void accessibilityWebProcessTokenReceived(const IPC::DataReference&amp;) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessmacPageClientImplmm"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #import &quot;DataReference.h&quot;
</span><span class="cx"> #import &quot;DictionaryPopupInfo.h&quot;
</span><span class="cx"> #import &quot;DownloadProxy.h&quot;
</span><ins>+#import &quot;NativeWebGestureEvent.h&quot;
</ins><span class="cx"> #import &quot;NativeWebKeyboardEvent.h&quot;
</span><span class="cx"> #import &quot;NativeWebWheelEvent.h&quot;
</span><span class="cx"> #import &quot;NavigationState.h&quot;
</span><span class="lines">@@ -572,6 +573,13 @@
</span><span class="cx">     [m_wkView _wheelEventWasNotHandledByWebCore:event.nativeEvent()];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+void PageClientImpl::gestureEventWasNotHandledByWebCore(const NativeWebGestureEvent&amp; event)
+{
+    [m_wkView _gestureEventWasNotHandledByWebCore:event.nativeEvent()];
+}
+#endif
+
</ins><span class="cx"> void PageClientImpl::pluginFocusOrWindowFocusChanged(uint64_t pluginComplexTextInputIdentifier, bool pluginHasFocusAndWindowHasFocus)
</span><span class="cx"> {
</span><span class="cx">     [m_wkView _pluginFocusOrWindowFocusChanged:pluginHasFocusAndWindowHasFocus pluginComplexTextInputIdentifier:pluginComplexTextInputIdentifier];
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessmacViewGestureControllerh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureController.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureController.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureController.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -94,13 +94,15 @@
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     double magnification() const;
</span><span class="cx"> 
</span><del>-    void handleMagnificationGesture(double scale, WebCore::FloatPoint origin);
-    void endMagnificationGesture();
</del><ins>+    void handleMagnificationGestureEvent(NSEvent *, WebCore::FloatPoint origin);
</ins><span class="cx"> 
</span><ins>+    bool hasActiveMagnificationGesture() const { return m_activeGestureType == ViewGestureType::Magnification; }
+
</ins><span class="cx">     void handleSmartMagnificationGesture(WebCore::FloatPoint origin);
</span><span class="cx"> 
</span><span class="cx">     bool handleScrollWheelEvent(NSEvent *);
</span><span class="cx">     void wheelEventWasNotHandledByWebCore(NSEvent *);
</span><ins>+    void gestureEventWasNotHandledByWebCore(NSEvent *, WebCore::FloatPoint origin);
</ins><span class="cx"> 
</span><span class="cx">     void setCustomSwipeViews(Vector&lt;RetainPtr&lt;NSView&gt;&gt; views) { m_customSwipeViews = WTF::move(views); }
</span><span class="cx">     void setCustomSwipeViewsTopContentInset(float topContentInset) { m_customSwipeViewsTopContentInset = topContentInset; }
</span><span class="lines">@@ -144,6 +146,8 @@
</span><span class="cx">     void didHitRenderTreeSizeThreshold();
</span><span class="cx">     void removeSwipeSnapshotAfterRepaint();
</span><span class="cx"> 
</span><ins>+    void endMagnificationGesture();
+
</ins><span class="cx">     WebCore::FloatPoint scaledMagnificationOrigin(WebCore::FloatPoint origin, double scale);
</span><span class="cx"> 
</span><span class="cx">     void trackSwipeGesture(NSEvent *, SwipeDirection);
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2UIProcessmacViewGestureControllerMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureControllerMac.mm (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureControllerMac.mm        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/mac/ViewGestureControllerMac.mm        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -158,11 +158,20 @@
</span><span class="cx">     m_frameHandlesMagnificationGesture = frameHandlesMagnificationGesture;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ViewGestureController::handleMagnificationGesture(double scale, FloatPoint origin)
</del><ins>+void ViewGestureController::gestureEventWasNotHandledByWebCore(NSEvent *event, FloatPoint origin)
</ins><span class="cx"> {
</span><ins>+    if (event.type == NSEventTypeMagnify)
+        handleMagnificationGestureEvent(event, origin);
+}
+
+void ViewGestureController::handleMagnificationGestureEvent(NSEvent *event, FloatPoint origin)
+{
</ins><span class="cx">     ASSERT(m_activeGestureType == ViewGestureType::None || m_activeGestureType == ViewGestureType::Magnification);
</span><span class="cx"> 
</span><span class="cx">     if (m_activeGestureType == ViewGestureType::None) {
</span><ins>+        if (event.phase != NSEventPhaseBegan)
+            return;
+
</ins><span class="cx">         // FIXME: We drop the first frame of the gesture on the floor, because we don't have the visible content bounds yet.
</span><span class="cx">         m_magnification = m_webPageProxy.pageScaleFactor();
</span><span class="cx">         m_webPageProxy.process().send(Messages::ViewGestureGeometryCollector::CollectGeometryForMagnificationGesture(), m_webPageProxy.pageID());
</span><span class="lines">@@ -177,6 +186,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_activeGestureType = ViewGestureType::Magnification;
</span><span class="cx"> 
</span><ins>+    double scale = event.magnification;
</ins><span class="cx">     double scaleWithResistance = resistanceForDelta(scale, m_magnification) * scale;
</span><span class="cx"> 
</span><span class="cx">     m_magnification += m_magnification * scaleWithResistance;
</span><span class="lines">@@ -188,6 +198,9 @@
</span><span class="cx">         m_webPageProxy.scalePage(m_magnification, roundedIntPoint(origin));
</span><span class="cx">     else
</span><span class="cx">         m_webPageProxy.drawingArea()-&gt;adjustTransientZoom(m_magnification, scaledMagnificationOrigin(origin, m_magnification));
</span><ins>+
+    if (event.phase == NSEventPhaseEnded || event.phase == NSEventPhaseCancelled)
+        endMagnificationGesture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ViewGestureController::endMagnificationGesture()
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -612,6 +612,10 @@
</span><span class="cx">                 2D429BFD1721E2C700EC681F /* PDFPluginPasswordField.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D429BFB1721E2BA00EC681F /* PDFPluginPasswordField.mm */; };
</span><span class="cx">                 2D47B56C1810714E003A3AEE /* RemoteLayerBackingStore.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D47B56A1810714E003A3AEE /* RemoteLayerBackingStore.mm */; };
</span><span class="cx">                 2D47B56D1810714E003A3AEE /* RemoteLayerBackingStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D47B56B1810714E003A3AEE /* RemoteLayerBackingStore.h */; };
</span><ins>+                2D50365E1BCC793F00E20BB3 /* NativeWebGestureEventMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D50365D1BCC793F00E20BB3 /* NativeWebGestureEventMac.mm */; settings = {ASSET_TAGS = (); }; };
+                2D50366B1BCDE17900E20BB3 /* NativeWebGestureEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D50366A1BCDE17900E20BB3 /* NativeWebGestureEvent.h */; settings = {ASSET_TAGS = (); }; };
+                2D5036751BCED19F00E20BB3 /* WebGestureEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5036731BCED19F00E20BB3 /* WebGestureEvent.cpp */; settings = {ASSET_TAGS = (); }; };
+                2D5036761BCED19F00E20BB3 /* WebGestureEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D5036741BCED19F00E20BB3 /* WebGestureEvent.h */; settings = {ASSET_TAGS = (); }; };
</ins><span class="cx">                 2D5AB62E1A69D6FB0014A9CB /* MessageRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D5AB62B1A69D6FB0014A9CB /* MessageRecorder.h */; };
</span><span class="cx">                 2D5AB62F1A69D6FB0014A9CB /* MessageRecorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D5AB62C1A69D6FB0014A9CB /* MessageRecorder.cpp */; };
</span><span class="cx">                 2D5AB6301A69D6FB0014A9CB /* MessageRecorderProbes.d in Sources */ = {isa = PBXBuildFile; fileRef = 2D5AB62D1A69D6FB0014A9CB /* MessageRecorderProbes.d */; };
</span><span class="lines">@@ -2752,6 +2756,10 @@
</span><span class="cx">                 2D429BFB1721E2BA00EC681F /* PDFPluginPasswordField.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PDFPluginPasswordField.mm; path = PDF/PDFPluginPasswordField.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D47B56A1810714E003A3AEE /* RemoteLayerBackingStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteLayerBackingStore.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D47B56B1810714E003A3AEE /* RemoteLayerBackingStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteLayerBackingStore.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                2D50365D1BCC793F00E20BB3 /* NativeWebGestureEventMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NativeWebGestureEventMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2D50366A1BCDE17900E20BB3 /* NativeWebGestureEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeWebGestureEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2D5036731BCED19F00E20BB3 /* WebGestureEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGestureEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2D5036741BCED19F00E20BB3 /* WebGestureEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGestureEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 2D5AB62B1A69D6FB0014A9CB /* MessageRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageRecorder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D5AB62C1A69D6FB0014A9CB /* MessageRecorder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessageRecorder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D5AB62D1A69D6FB0014A9CB /* MessageRecorderProbes.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = MessageRecorderProbes.d; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4708,6 +4716,7 @@
</span><span class="cx">                                 1A92DC1212F8BAB90017AF65 /* LayerTreeContext.cpp */,
</span><span class="cx">                                 1A92DC1012F8BA460017AF65 /* LayerTreeContext.h */,
</span><span class="cx">                                 5163EA3F1ACC74820012D1E4 /* NativeContextMenuItem.h */,
</span><ins>+                                2D50366A1BCDE17900E20BB3 /* NativeWebGestureEvent.h */,
</ins><span class="cx">                                 C02BFF1512514FD8009CCBEA /* NativeWebKeyboardEvent.h */,
</span><span class="cx">                                 31EA25D3134F78D6005B1452 /* NativeWebMouseEvent.h */,
</span><span class="cx">                                 263172CE18B469490065B9C3 /* NativeWebTouchEvent.h */,
</span><span class="lines">@@ -6475,6 +6484,7 @@
</span><span class="cx">                                 5163EA431ACC74AE0012D1E4 /* NativeContextMenuItem.mm */,
</span><span class="cx">                                 C02BFF1D1251502E009CCBEA /* NativeWebKeyboardEventMac.mm */,
</span><span class="cx">                                 31EA25D0134F78B2005B1452 /* NativeWebMouseEventMac.mm */,
</span><ins>+                                2D50365D1BCC793F00E20BB3 /* NativeWebGestureEventMac.mm */,
</ins><span class="cx">                                 DF58C6351371ACA000F9A37C /* NativeWebWheelEventMac.mm */,
</span><span class="cx">                                 BC8ACA0F16670D7A004C1941 /* ObjCObjectGraph.h */,
</span><span class="cx">                                 BC8ACA1016670D7B004C1941 /* ObjCObjectGraph.mm */,
</span><span class="lines">@@ -6508,6 +6518,8 @@
</span><span class="cx">                                 BCE23262122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm */,
</span><span class="cx">                                 BC111B5B112F629800337BAB /* WebEventFactory.h */,
</span><span class="cx">                                 BC111B5C112F629800337BAB /* WebEventFactory.mm */,
</span><ins>+                                2D5036731BCED19F00E20BB3 /* WebGestureEvent.cpp */,
+                                2D5036741BCED19F00E20BB3 /* WebGestureEvent.h */,
</ins><span class="cx">                                 51AD35721AD2F3750057B38E /* WebHitTestResult.mm */,
</span><span class="cx">                                 905620E512BC2476000799B6 /* WebMemorySampler.mac.mm */,
</span><span class="cx">                         );
</span><span class="lines">@@ -8333,6 +8345,7 @@
</span><span class="cx">                                 4A3CC18F19B07B8A00D14AEF /* WKUserMediaPermissionRequest.h in Headers */,
</span><span class="cx">                                 1AAF089B19267EE500B6390C /* WKUserScript.h in Headers */,
</span><span class="cx">                                 377EAD4917E2C77B002D193D /* WKUserScriptInjectionTime.h in Headers */,
</span><ins>+                                2D5036761BCED19F00E20BB3 /* WebGestureEvent.h in Headers */,
</ins><span class="cx">                                 1AAF089D19267FC800B6390C /* WKUserScriptInternal.h in Headers */,
</span><span class="cx">                                 7C89D2A41A678875003A5FDE /* WKUserScriptRef.h in Headers */,
</span><span class="cx">                                 BC8699B5116AADAA002A925B /* WKView.h in Headers */,
</span><span class="lines">@@ -8354,6 +8367,7 @@
</span><span class="cx">                                 BC989D85161A9890000D46D3 /* WKWebProcessPlugInInternal.h in Headers */,
</span><span class="cx">                                 1F335BC0185B84F0001A201A /* WKWebProcessPlugInLoadDelegate.h in Headers */,
</span><span class="cx">                                 1F7506B31859164500EC0FF7 /* WKWebProcessPlugInNodeHandle.h in Headers */,
</span><ins>+                                2D50366B1BCDE17900E20BB3 /* NativeWebGestureEvent.h in Headers */,
</ins><span class="cx">                                 1F7506B61859165700EC0FF7 /* WKWebProcessPlugInNodeHandleInternal.h in Headers */,
</span><span class="cx">                                 1FB00AC7185F76460019142E /* WKWebProcessPlugInPageGroup.h in Headers */,
</span><span class="cx">                                 1FB00AC9185F76460019142E /* WKWebProcessPlugInPageGroupInternal.h in Headers */,
</span><span class="lines">@@ -9339,6 +9353,7 @@
</span><span class="cx">                                 1AD01BC81905D37E00C9C45F /* _WKErrorRecoveryAttempting.mm in Sources */,
</span><span class="cx">                                 373D122218A473010066D9CC /* _WKFrameHandle.mm in Sources */,
</span><span class="cx">                                 A118A9F21908B8EA00F7C92B /* _WKNSFileManagerExtras.mm in Sources */,
</span><ins>+                                2D50365E1BCC793F00E20BB3 /* NativeWebGestureEventMac.mm in Sources */,
</ins><span class="cx">                                 1A43E829188F3CDC009E4D30 /* _WKProcessPoolConfiguration.mm in Sources */,
</span><span class="cx">                                 1A9E328E182165A900F5D04C /* _WKRemoteObjectInterface.mm in Sources */,
</span><span class="cx">                                 1A9E328A1821636900F5D04C /* _WKRemoteObjectRegistry.mm in Sources */,
</span><span class="lines">@@ -9410,6 +9425,7 @@
</span><span class="cx">                                 1A30EAC6115D7DA30053E937 /* ConnectionMac.mm in Sources */,
</span><span class="cx">                                 5106D7C218BDBE73000AB166 /* ContextMenuContextData.cpp in Sources */,
</span><span class="cx">                                 CDC3831017212440008A2FC3 /* CookieStorageShim.mm in Sources */,
</span><ins>+                                2D5036751BCED19F00E20BB3 /* WebGestureEvent.cpp in Sources */,
</ins><span class="cx">                                 B878B616133428DC006888E9 /* CorrectionPanel.mm in Sources */,
</span><span class="cx">                                 2989A411167D1834004F96D2 /* CustomProtocolManagerCocoa.mm in Sources */,
</span><span class="cx">                                 2984F588164BA095004BC0C6 /* CustomProtocolManagerMessageReceiver.cpp in Sources */,
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2WebProcessWebPageEventDispatchercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -163,12 +163,22 @@
</span><span class="cx">     UNUSED_PARAM(canRubberBandAtBottom);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    RefPtr&lt;EventDispatcher&gt; eventDispatcher(this);
</del><ins>+    RefPtr&lt;EventDispatcher&gt; eventDispatcher = this;
</ins><span class="cx">     RunLoop::main().dispatch([eventDispatcher, pageID, wheelEvent] {
</span><span class="cx">         eventDispatcher-&gt;dispatchWheelEvent(pageID, wheelEvent);
</span><span class="cx">     }); 
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+void EventDispatcher::gestureEvent(uint64_t pageID, const WebKit::WebGestureEvent&amp; gestureEvent)
+{
+    RefPtr&lt;EventDispatcher&gt; eventDispatcher = this;
+    RunLoop::main().dispatch([eventDispatcher, pageID, gestureEvent] {
+        eventDispatcher-&gt;dispatchGestureEvent(pageID, gestureEvent);
+    });
+}
+#endif
+
</ins><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx"> void EventDispatcher::clearQueuedTouchEventsForPage(const WebPage&amp; webPage)
</span><span class="cx"> {
</span><span class="lines">@@ -206,7 +216,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (updateListWasEmpty) {
</span><del>-        RefPtr&lt;EventDispatcher&gt; eventDispatcher(this);
</del><ins>+        RefPtr&lt;EventDispatcher&gt; eventDispatcher = this;
</ins><span class="cx">         RunLoop::main().dispatch([eventDispatcher] {
</span><span class="cx">             eventDispatcher-&gt;dispatchTouchEvents();
</span><span class="cx">         });
</span><span class="lines">@@ -239,6 +249,19 @@
</span><span class="cx">     webPage-&gt;wheelEvent(wheelEvent);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+void EventDispatcher::dispatchGestureEvent(uint64_t pageID, const WebGestureEvent&amp; gestureEvent)
+{
+    ASSERT(RunLoop::isMain());
+
+    WebPage* webPage = WebProcess::singleton().webPage(pageID);
+    if (!webPage)
+        return;
+
+    webPage-&gt;gestureEvent(gestureEvent);
+}
+#endif
+
</ins><span class="cx"> #if ENABLE(ASYNC_SCROLLING)
</span><span class="cx"> void EventDispatcher::sendDidReceiveEvent(uint64_t pageID, const WebEvent&amp; event, bool didHandleEvent)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2WebProcessWebPageEventDispatcherh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -28,8 +28,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Connection.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;WebEvent.h&quot;
</ins><span class="cx"> #include &lt;WebCore/WheelEventDeltaTracker.h&gt;
</span><del>-#include &lt;WebEvent.h&gt;
</del><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="lines">@@ -37,6 +37,10 @@
</span><span class="cx"> #include &lt;wtf/SpinLock.h&gt;
</span><span class="cx"> #include &lt;wtf/ThreadingPrimitives.h&gt;
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+#include &quot;WebGestureEvent.h&quot;
+#endif
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> class ThreadedScrollingTree;
</span><span class="cx"> }
</span><span class="lines">@@ -77,6 +81,9 @@
</span><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx">     void touchEvent(uint64_t pageID, const WebTouchEvent&amp;);
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    void gestureEvent(uint64_t pageID, const WebGestureEvent&amp;);
+#endif
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx">     // This is called on the main thread.
</span><span class="lines">@@ -84,6 +91,9 @@
</span><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx">     void dispatchTouchEvents();
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    void dispatchGestureEvent(uint64_t pageID, const WebGestureEvent&amp;);
+#endif
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(ASYNC_SCROLLING)
</span><span class="cx">     void sendDidReceiveEvent(uint64_t pageID, const WebEvent&amp;, bool didHandleEvent);
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2WebProcessWebPageEventDispatchermessagesin"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -25,4 +25,7 @@
</span><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><span class="cx">     TouchEvent(uint64_t pageID, WebKit::WebTouchEvent event)
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    GestureEvent(uint64_t pageID, WebKit::WebGestureEvent event)
+#endif
</ins><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -2230,6 +2230,27 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+static bool handleGestureEvent(const WebGestureEvent&amp; event, Page* page)
+{
+    if (!page-&gt;mainFrame().view())
+        return false;
+
+    return page-&gt;mainFrame().eventHandler().handleGestureEvent(platform(event));
+}
+
+void WebPage::gestureEvent(const WebGestureEvent&amp; gestureEvent)
+{
+    bool handled = false;
+    if (canHandleUserEvents()) {
+        CurrentEvent currentEvent(gestureEvent);
+        handled = handleGestureEvent(gestureEvent, m_page.get());
+    }
+    send(Messages::WebPageProxy::DidReceiveEvent(static_cast&lt;uint32_t&gt;(gestureEvent.type()), handled));
+}
+
+#endif
+
</ins><span class="cx"> bool WebPage::scroll(Page* page, ScrollDirection direction, ScrollGranularity granularity)
</span><span class="cx"> {
</span><span class="cx">     return page-&gt;userInputBridge().scrollRecursively(direction, granularity);
</span></span></pre></div>
<a id="branchessafari601branchSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h (194173 => 194174)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-12-16 21:52:11 UTC (rev 194173)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-12-16 22:08:06 UTC (rev 194174)
</span><span class="lines">@@ -94,6 +94,10 @@
</span><span class="cx"> #include &lt;WebCore/PlatformTouchEvent.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+#include &lt;WebKitAdditions/PlatformGestureEventMac.h&gt;
+#endif
+
</ins><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><span class="cx"> #include &quot;InjectedBundlePageContextMenuClient.h&quot;
</span><span class="cx"> #endif
</span><span class="lines">@@ -160,6 +164,7 @@
</span><span class="cx"> class WebInspector;
</span><span class="cx"> class WebInspectorClient;
</span><span class="cx"> class WebInspectorUI;
</span><ins>+class WebGestureEvent;
</ins><span class="cx"> class WebKeyboardEvent;
</span><span class="cx"> class WebMouseEvent;
</span><span class="cx"> class WebNotificationClient;
</span><span class="lines">@@ -787,6 +792,10 @@
</span><span class="cx">     void wheelEventHandlersChanged(bool);
</span><span class="cx">     void recomputeShortCircuitHorizontalWheelEventsState();
</span><span class="cx"> 
</span><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+    void gestureEvent(const WebGestureEvent&amp;);
+#endif
+
</ins><span class="cx">     void updateVisibilityState(bool isInitialState = false);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre>
</div>
</div>

</body>
</html>