<!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>[190417] trunk/LayoutTests</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/190417">190417</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2015-10-01 10:45:59 -0700 (Thu, 01 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>accessibility/mac/aria-expanded-notifications.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=149510

Reviewed by Chris Fleizach.

The problem is triggered by our resumable parser. AXLoadComplete gets called
synchronously from DocumentLoader::finishedLoading(). This means that the order of
the AXLoadComplete message isn't FIFO.

If the parser yielded previously, the AXLoadComplete will be handled after some AX
messages had been handled.

If the parser hadn't yielded, the AXLoadComplete will be the first message
processed (no matter what had been queued up before it).

Because making the AXLoadComplete message asynchonous is not desirable, the
solution is to relax the test to handle various orderings.

* accessibility/mac/aria-expanded-notifications-expected.txt:
* accessibility/mac/aria-expanded-notifications.html:
* platform/mac/TestExpectations:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsaccessibilitymacariaexpandednotificationsexpectedtxt">trunk/LayoutTests/accessibility/mac/aria-expanded-notifications-expected.txt</a></li>
<li><a href="#trunkLayoutTestsaccessibilitymacariaexpandednotificationshtml">trunk/LayoutTests/accessibility/mac/aria-expanded-notifications.html</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (190416 => 190417)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-10-01 17:42:21 UTC (rev 190416)
+++ trunk/LayoutTests/ChangeLog        2015-10-01 17:45:59 UTC (rev 190417)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2015-10-01  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        accessibility/mac/aria-expanded-notifications.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=149510
+
+        Reviewed by Chris Fleizach.
+
+        The problem is triggered by our resumable parser. AXLoadComplete gets called
+        synchronously from DocumentLoader::finishedLoading(). This means that the order of
+        the AXLoadComplete message isn't FIFO.
+
+        If the parser yielded previously, the AXLoadComplete will be handled after some AX
+        messages had been handled.
+
+        If the parser hadn't yielded, the AXLoadComplete will be the first message
+        processed (no matter what had been queued up before it).
+
+        Because making the AXLoadComplete message asynchonous is not desirable, the
+        solution is to relax the test to handle various orderings.
+
+        * accessibility/mac/aria-expanded-notifications-expected.txt:
+        * accessibility/mac/aria-expanded-notifications.html:
+        * platform/mac/TestExpectations:
+
</ins><span class="cx"> 2015-09-30  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Move &lt;a ping&gt; tests from LayoutTests/http/tests/navigation to LayoutTests/http/tests/navigation/ping-attribute
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilitymacariaexpandednotificationsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/accessibility/mac/aria-expanded-notifications-expected.txt (190416 => 190417)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/mac/aria-expanded-notifications-expected.txt        2015-10-01 17:42:21 UTC (rev 190416)
+++ trunk/LayoutTests/accessibility/mac/aria-expanded-notifications-expected.txt        2015-10-01 17:45:59 UTC (rev 190417)
</span><span class="lines">@@ -6,12 +6,11 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS addedNotification is true
</span><ins>+PASS notifyName is &quot;AXRowCountChanged&quot;
+PASS notifyName is &quot;AXRowCollapsed&quot;
+PASS notifyName is &quot;AXRowCountChanged&quot;
+PASS notifyName is &quot;AXRowExpanded&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span><del>-Notification: AXLoadComplete
-Notification: AXRowCountChanged
-Notification: AXRowCollapsed
-Notification: AXRowCountChanged
-Notification: AXRowExpanded
</del><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilitymacariaexpandednotificationshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/accessibility/mac/aria-expanded-notifications.html (190416 => 190417)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/mac/aria-expanded-notifications.html        2015-10-01 17:42:21 UTC (rev 190416)
+++ trunk/LayoutTests/accessibility/mac/aria-expanded-notifications.html        2015-10-01 17:45:59 UTC (rev 190417)
</span><span class="lines">@@ -30,11 +30,21 @@
</span><span class="cx">     var notifyName = 0;
</span><span class="cx">     // The order of notifications should be Row Count, Row Collapsed, Row Count, Row Expanded
</span><span class="cx">     function notifyCallback(element, notification) {  
</span><ins>+        if (notification == &quot;AXLoadComplete&quot; || notification == &quot;AXLayoutComplete&quot;)
+            return;
</ins><span class="cx">         notifyName = notification;
</span><del>-        document.getElementById(&quot;notifications&quot;).innerHTML += &quot;Notification: &quot; + notifyName + &quot;&lt;br&gt;&quot;;
-        if (notifyCount == 4) {
</del><ins>+        if (notifyCount == 0)
+            shouldBeEqualToString(&quot;notifyName&quot;, &quot;AXRowCountChanged&quot;);
+        else if (notifyCount == 1)
+            shouldBeEqualToString(&quot;notifyName&quot;, &quot;AXRowCollapsed&quot;);
+        else if (notifyCount == 2)
+            shouldBeEqualToString(&quot;notifyName&quot;, &quot;AXRowCountChanged&quot;);
+        else if (notifyCount == 3) {
+            shouldBeEqualToString(&quot;notifyName&quot;, &quot;AXRowExpanded&quot;);
</ins><span class="cx">             accessibilityController.removeNotificationListener();
</span><del>-            window.testRunner.notifyDone();
</del><ins>+            var scriptElement = document.createElement(&quot;script&quot;);
+            scriptElement.src = &quot;../../resources/js-test-post-async.js&quot;;
+            document.body.appendChild(scriptElement);
</ins><span class="cx">         }
</span><span class="cx">         notifyCount++;
</span><span class="cx">     }
</span><span class="lines">@@ -59,6 +69,5 @@
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> 
</span><del>-&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</del><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (190416 => 190417)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2015-10-01 17:42:21 UTC (rev 190416)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2015-10-01 17:45:59 UTC (rev 190417)
</span><span class="lines">@@ -1331,7 +1331,5 @@
</span><span class="cx"> webkit.org/b/149441 fast/shadow-dom/css-scoping-shadow-slotted-rule.html [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/149441 fast/shadow-dom/css-scoping-shadow-slot-display-override.html [ ImageOnlyFailure ]
</span><span class="cx"> 
</span><del>-webkit.org/b/149510 accessibility/mac/aria-expanded-notifications.html [ Pass Failure ]
-
</del><span class="cx"> # Times out in debug.
</span><span class="cx"> [ Debug ] js/regress/getter-richards-try-catch.html [ Skip ]
</span></span></pre>
</div>
</div>

</body>
</html>