<!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>[185658] trunk</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/185658">185658</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2015-06-17 11:32:24 -0700 (Wed, 17 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>CSS scroll snap: defining snap points on axis that does not scroll does not work properly
https://bugs.webkit.org/show_bug.cgi?id=146043
&lt;rdar://problem/20125511&gt;

Reviewed by Simon Fraser.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-mismatch.html

We always seed the set of scroll snap points with the start and end of the scroll container. This is not
the right behavior if there are no scroll points defined, because we end up creating a snap for the start
and end of the container, and any scroll gesture just takes us across the entire element.
        
Instead, when we do not find any scroll snap points, we should clear the snap point state for the container.

* page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::updateFromStyle): If we did not find any snap points (i.e., the snapOffsets container
only holds '0', return an empty Vector. 
(WebCore::updateSnapOffsetsForScrollableArea): If the set of snap points produced by 'updateFromStyle' is empty,
clear the horizontal (or vertical) snap offsets for the scroll area.

LayoutTests:

* css3/scroll-snap/scroll-snap-mismatch-expected.txt: Added.
* css3/scroll-snap/scroll-snap-mismatch.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceThirdPartyANGLEANGLExcodeprojprojectpbxproj">trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceThirdPartygtestxcodegtestxcodeprojprojectpbxproj">trunk/Source/ThirdParty/gtest/xcode/gtest.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWTFWTFxcodeprojprojectpbxproj">trunk/Source/WTF/WTF.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorepagescrollingAxisScrollSnapOffsetscpp">trunk/Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIxcodeprojprojectpbxproj">trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKitWebKitxcodeprojprojectpbxproj">trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourcebmallocbmallocxcodeprojprojectpbxproj">trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsDumpRenderTreeDumpRenderTreexcodeprojprojectpbxproj">trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsMiniBrowserMiniBrowserxcodeprojprojectpbxproj">trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsTestWebKitAPITestWebKitAPIxcodeprojprojectpbxproj">trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj">trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestscss3scrollsnapscrollsnapmismatchexpectedtxt">trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3scrollsnapscrollsnapmismatchhtml">trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/LayoutTests/ChangeLog        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2015-06-17  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        CSS scroll snap: defining snap points on axis that does not scroll does not work properly
+        https://bugs.webkit.org/show_bug.cgi?id=146043
+        &lt;rdar://problem/20125511&gt;
+
+        Reviewed by Simon Fraser.
+
+        * css3/scroll-snap/scroll-snap-mismatch-expected.txt: Added.
+        * css3/scroll-snap/scroll-snap-mismatch.html: Added.
+
</ins><span class="cx"> 2015-06-17  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         New test inspector/console/console-table.html frequently times out in debug.
</span></span></pre></div>
<a id="trunkLayoutTestscss3scrollsnapscrollsnapmismatchexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch-expected.txt (0 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch-expected.txt                                (rev 0)
+++ trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch-expected.txt        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+Tests that the scroll-snap feature works properly with mixed-up snap points.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+Scroll-snap offsets for 'badHorizontalTarget': 
+Scroll-snap offsets for 'horizontalTarget': horizontal = { 0, 300, 600, 900, 1200, 1500 }
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestscss3scrollsnapscrollsnapmismatchhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch.html (0 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch.html                                (rev 0)
+++ trunk/LayoutTests/css3/scroll-snap/scroll-snap-mismatch.html        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -0,0 +1,87 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;style&gt;
+            .horizontalGallery {
+                width: 300px;
+                height: 300px;
+                overflow-y: hidden;
+                overflow-x: auto;
+                margin-bottom: 2px;
+                -webkit-scroll-snap-type: mandatory;
+            }
+            .horizontal-good {
+                -webkit-scroll-snap-points-x: repeat(300px);                
+            }
+            .horizontal-bad {
+                -webkit-scroll-snap-points-y: repeat(100vh);
+            }
+            .horizontalGalleryDrawer {
+                width: 1800px;
+                height: 300px;
+            }
+            .colorBox {
+                height: 300px;
+                width: 300px;
+                float: left;
+            }
+            #itemH0, #itemV0 { background-color: red; }
+            #itemH1, #itemV1 { background-color: green; }
+            #itemH2, #itemV2 { background-color: blue; }
+            #itemH3, #itemV3 { background-color: aqua; }
+            #itemH4, #itemV4 { background-color: yellow; }
+            #itemH5, #itemV5 { background-color: fuchsia; }
+        &lt;/style&gt;
+        &lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+        &lt;script&gt;
+        function runTest()
+        {
+            var badHorizontalTarget = document.getElementById('badHorizontalTarget');
+            debug(&quot;Scroll-snap offsets for 'badHorizontalTarget': &quot; + window.internals.scrollSnapOffsets(badHorizontalTarget));
+
+            var horizontalTarget = document.getElementById('horizontalTarget');
+            debug(&quot;Scroll-snap offsets for 'horizontalTarget': &quot; + window.internals.scrollSnapOffsets(horizontalTarget));
+
+            finishJSTest();
+            testRunner.notifyDone();
+        }
+
+        function onLoad()
+        {
+            if (window.testRunner) {
+                window.jsTestIsAsync = true;
+                testRunner.dumpAsText();
+                testRunner.waitUntilDone();
+                setTimeout(runTest, 0);
+            }
+        }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;onLoad();&quot;&gt;
+        &lt;div style=&quot;position: relative; width: 300px&quot;&gt;
+            &lt;div&gt;Tests that the scroll-snap feature works properly with mixed-up snap points.&lt;/div&gt;
+            &lt;div class=&quot;horizontalGallery horizontal-bad&quot; id=&quot;badHorizontalTarget&quot;&gt;
+                &lt;div class=&quot;horizontalGalleryDrawer&quot;&gt;
+                    &lt;div id=&quot;itemH0&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH1&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH2&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH3&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH4&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH5&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+            &lt;/div&gt;
+            &lt;div class=&quot;horizontalGallery horizontal-good&quot; id=&quot;horizontalTarget&quot;&gt;
+                &lt;div class=&quot;horizontalGalleryDrawer&quot;&gt;
+                    &lt;div id=&quot;itemH0&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH1&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH2&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH3&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH4&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                    &lt;div id=&quot;itemH5&quot; class=&quot;colorBox&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+            &lt;/div&gt;
+            &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
+        &lt;/div&gt;
+        &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -6693,6 +6693,7 @@
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><span class="cx">                                 BuildIndependentTargetsInParallel = YES;
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 149C277108902AFE008A9EFC /* Build configuration list for PBXProject &quot;JavaScriptCore&quot; */;
</span></span></pre></div>
<a id="trunkSourceThirdPartyANGLEANGLExcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -780,6 +780,7 @@
</span><span class="cx">                 FB39D0701200ED9200088E69 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = FB39D0731200ED9200088E69 /* Build configuration list for PBXProject &quot;ANGLE&quot; */;
</span></span></pre></div>
<a id="trunkSourceThirdPartygtestxcodegtestxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/ThirdParty/gtest/xcode/gtest.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/ThirdParty/gtest/xcode/gtest.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/ThirdParty/gtest/xcode/gtest.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -599,6 +599,7 @@
</span><span class="cx">                 0867D690FE84028FC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject &quot;gtest&quot; */;
</span></span></pre></div>
<a id="trunkSourceWTFWTFxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/WTF.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/WTF.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WTF/WTF.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -1264,6 +1264,7 @@
</span><span class="cx">                 5D247B5914689B8600E78B76 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 5D247B5C14689B8600E78B76 /* Build configuration list for PBXProject &quot;WTF&quot; */;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WebCore/ChangeLog        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2015-06-17  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        CSS scroll snap: defining snap points on axis that does not scroll does not work properly
+        https://bugs.webkit.org/show_bug.cgi?id=146043
+        &lt;rdar://problem/20125511&gt;
+
+        Reviewed by Simon Fraser.
+
+        Tested by css3/scroll-snap/scroll-snap-mismatch.html
+
+        We always seed the set of scroll snap points with the start and end of the scroll container. This is not
+        the right behavior if there are no scroll points defined, because we end up creating a snap for the start
+        and end of the container, and any scroll gesture just takes us across the entire element.
+        
+        Instead, when we do not find any scroll snap points, we should clear the snap point state for the container.
+
+        * page/scrolling/AxisScrollSnapOffsets.cpp:
+        (WebCore::updateFromStyle): If we did not find any snap points (i.e., the snapOffsets container
+        only holds '0', return an empty Vector. 
+        (WebCore::updateSnapOffsetsForScrollableArea): If the set of snap points produced by 'updateFromStyle' is empty,
+        clear the horizontal (or vertical) snap offsets for the scroll area.
+        
+
</ins><span class="cx"> 2015-06-17  Chris Fleizach  &lt;cfleizach@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         AX: input role=&quot;spinbutton&quot; gets skipped in voiceover
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -27391,6 +27391,7 @@
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><span class="cx">                                 BuildIndependentTargetsInParallel = YES;
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject &quot;WebCore&quot; */;
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingAxisScrollSnapOffsetscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -85,9 +85,6 @@
</span><span class="cx">     if (snapOffsetSubsequence.isEmpty())
</span><span class="cx">         snapOffsetSubsequence.append(0);
</span><span class="cx"> 
</span><del>-    // Always put a snap point on the zero offset.
-    snapOffsets.append(0);
-
</del><span class="cx">     auto* points = (axis == ScrollEventAxis::Horizontal) ? style.scrollSnapPointsX() : style.scrollSnapPointsY();
</span><span class="cx">     bool hasRepeat = points ? points-&gt;hasRepeat : false;
</span><span class="cx">     LayoutUnit repeatOffset = points ? valueForLength(points-&gt;repeatOffset, viewSize) : LayoutUnit();
</span><span class="lines">@@ -113,6 +110,13 @@
</span><span class="cx">         curSnapPositionShift = lastSnapPosition + repeatOffset;
</span><span class="cx">     } while (hasRepeat &amp;&amp; curSnapPositionShift &lt; maxScrollOffset);
</span><span class="cx"> 
</span><ins>+    if (snapOffsets.isEmpty())
+        return;
+
+    // Always put a snap point on the zero offset.
+    if (snapOffsets.first())
+        snapOffsets.insert(0, 0);
+
</ins><span class="cx">     // Always put a snap point on the maximum scroll offset.
</span><span class="cx">     // Not a part of the spec, but necessary to prevent unreachable content when snapping.
</span><span class="cx">     if (snapOffsets.last() != maxScrollOffset)
</span><span class="lines">@@ -179,12 +183,18 @@
</span><span class="cx">     if (canComputeHorizontalOffsets) {
</span><span class="cx">         auto horizontalSnapOffsets = std::make_unique&lt;Vector&lt;LayoutUnit&gt;&gt;();
</span><span class="cx">         updateFromStyle(*horizontalSnapOffsets, scrollingElementStyle, ScrollEventAxis::Horizontal, viewWidth, scrollWidth, horizontalSnapOffsetSubsequence);
</span><del>-        scrollableArea.setHorizontalSnapOffsets(WTF::move(horizontalSnapOffsets));
</del><ins>+        if (horizontalSnapOffsets-&gt;isEmpty())
+            scrollableArea.clearHorizontalSnapOffsets();
+        else
+            scrollableArea.setHorizontalSnapOffsets(WTF::move(horizontalSnapOffsets));
</ins><span class="cx">     }
</span><span class="cx">     if (canComputeVerticalOffsets) {
</span><span class="cx">         auto verticalSnapOffsets = std::make_unique&lt;Vector&lt;LayoutUnit&gt;&gt;();
</span><span class="cx">         updateFromStyle(*verticalSnapOffsets, scrollingElementStyle, ScrollEventAxis::Vertical, viewHeight, scrollHeight, verticalSnapOffsetSubsequence);
</span><del>-        scrollableArea.setVerticalSnapOffsets(WTF::move(verticalSnapOffsets));
</del><ins>+        if (verticalSnapOffsets-&gt;isEmpty())
+            scrollableArea.clearVerticalSnapOffsets();
+        else
+            scrollableArea.setVerticalSnapOffsets(WTF::move(verticalSnapOffsets));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -119,6 +119,7 @@
</span><span class="cx">                 A54C224D148B23DE00373FA3 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                                 ORGANIZATIONNAME = Apple;
</span><span class="cx">                         };
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -2001,6 +2001,7 @@
</span><span class="cx">                 0867D690FE84028FC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 149C283208902B0F008A9EFC /* Build configuration list for PBXProject &quot;WebKit&quot; */;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -8729,6 +8729,7 @@
</span><span class="cx">                 0867D690FE84028FC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject &quot;WebKit2&quot; */;
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -409,6 +409,7 @@
</span><span class="cx">                 145F6837179DC45F00D65598 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 145F683A179DC45F00D65598 /* Build configuration list for PBXProject &quot;bmalloc&quot; */;
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreeDumpRenderTreexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -839,6 +839,7 @@
</span><span class="cx">                 08FB7793FE84155DC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 149C29C308902C6D008A9EFC /* Build configuration list for PBXProject &quot;DumpRenderTree&quot; */;
</span><span class="cx">                         compatibilityVersion = &quot;Xcode 3.2&quot;;
</span></span></pre></div>
<a id="trunkToolsMiniBrowserMiniBrowserxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -264,6 +264,7 @@
</span><span class="cx">                 29B97313FDCFA39411CA2CEA /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 LastUpgradeCheck = 0600;
</span><span class="cx">                                 TargetAttributes = {
</span><span class="cx">                                         8D1107260486CEB800E47090 = {
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestWebKitAPIxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -1369,6 +1369,7 @@
</span><span class="cx">                 08FB7793FE84155DC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                                 TargetAttributes = {
</span><span class="cx">                                         7CCE7E8B1A41144E00447C4C = {
</span><span class="cx">                                                 CreatedOnToolsVersion = 6.3;
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj (185657 => 185658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2015-06-17 17:15:01 UTC (rev 185657)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2015-06-17 18:32:24 UTC (rev 185658)
</span><span class="lines">@@ -704,6 +704,7 @@
</span><span class="cx">                 08FB7793FE84155DC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                LastSwiftUpdateCheck = 0700;
</ins><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject &quot;WebKitTestRunner&quot; */;
</span><span class="cx">                         compatibilityVersion = &quot;Xcode 3.1&quot;;
</span></span></pre>
</div>
</div>

</body>
</html>