<!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>[213364] 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/213364">213364</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2017-03-03 05:07:45 -0800 (Fri, 03 Mar 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>LayoutTest media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=167275
&lt;rdar://problem/30824290&gt;

Patch by Antoine Quint &lt;graouts@apple.com&gt; on 2017-03-03
Reviewed by Dean Jackson.

Ensure that we have metrics for buttons before attempting to click on them and let dragging interaction
apply changes to CSS on the next rAF before trying to pursue the next step.

* media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt:
* media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html:
* platform/mac/TestExpectations:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolstrackssupporttrackssupportshowpanelafterdraggingcontrolsexpectedtxt">trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolstrackssupporttrackssupportshowpanelafterdraggingcontrolshtml">trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.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 (213363 => 213364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-03-03 13:02:49 UTC (rev 213363)
+++ trunk/LayoutTests/ChangeLog        2017-03-03 13:07:45 UTC (rev 213364)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2017-03-03  Antoine Quint  &lt;graouts@apple.com&gt;
+
+        LayoutTest media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=167275
+        &lt;rdar://problem/30824290&gt;
+
+        Reviewed by Dean Jackson.
+
+        Ensure that we have metrics for buttons before attempting to click on them and let dragging interaction
+        apply changes to CSS on the next rAF before trying to pursue the next step.
+
+        * media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt:
+        * media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html:
+        * platform/mac/TestExpectations:
+
</ins><span class="cx"> 2017-03-03  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         LayoutTest performance-api/performance-observer-basic.html is a flaky timeout
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolstrackssupporttrackssupportshowpanelafterdraggingcontrolsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt (213363 => 213364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt        2017-03-03 13:02:49 UTC (rev 213363)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt        2017-03-03 13:07:45 UTC (rev 213364)
</span><span class="lines">@@ -3,7 +3,9 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS shadowRoot.querySelector('button.tracks').getBoundingClientRect().right === shadowRoot.querySelector('.tracks-panel').getBoundingClientRect().right is true
</del><ins>+PASS shadowRoot.querySelector('button.fullscreen').getBoundingClientRect() became different from 0
+PASS shadowRoot.querySelector('button.tracks').getBoundingClientRect() became different from 0
+PASS shadowRoot.querySelector('button.tracks').getBoundingClientRect().right is shadowRoot.querySelector('.tracks-panel').getBoundingClientRect().right
</ins><span class="cx"> PASS shadowRoot.querySelector('.tracks-panel').style.bottom is &quot;151px&quot;
</span><span class="cx"> 
</span><span class="cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolstrackssupporttrackssupportshowpanelafterdraggingcontrolshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html (213363 => 213364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html        2017-03-03 13:02:49 UTC (rev 213363)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html        2017-03-03 13:07:45 UTC (rev 213364)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> &lt;!DOCTYPE html&gt;
</span><span class="cx"> &lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
</span><ins>+&lt;script src=&quot;../resources/media-controls-utils.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</ins><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;video src=&quot;../../content/CC+Subtitles.mov&quot; style=&quot;width: 320px; height: 240px;&quot; controls autoplay&gt;&lt;/video&gt;
</span><span class="cx"> &lt;script type=&quot;text/javascript&quot;&gt;
</span><span class="lines">@@ -16,29 +17,29 @@
</span><span class="cx"> });
</span><span class="cx"> 
</span><span class="cx"> media.addEventListener(&quot;webkitfullscreenchange&quot;, () =&gt; {
</span><del>-    if (media.webkitDisplayingFullscreen) {
-        window.requestAnimationFrame(() =&gt; {
-            const bounds = shadowRoot.querySelector(&quot;.controls-bar&quot;).getBoundingClientRect();
-            eventSender.mouseMoveTo(bounds.left + 118, bounds.top + 10);
-            eventSender.mouseDown();
-            eventSender.mouseMoveTo(bounds.left + 68, bounds.top - 40);
-            eventSender.mouseUp();
</del><ins>+    if (!media.webkitDisplayingFullscreen)
+        return;
</ins><span class="cx"> 
</span><del>-            window.requestAnimationFrame(() =&gt; {
-                window.requestAnimationFrame(() =&gt; {
-                    clickOnButton(&quot;tracks&quot;);
-                    window.requestAnimationFrame(() =&gt; {
-                        shouldBeTrue(&quot;shadowRoot.querySelector('button.tracks').getBoundingClientRect().right === shadowRoot.querySelector('.tracks-panel').getBoundingClientRect().right&quot;);
-                        shouldBeEqualToString(&quot;shadowRoot.querySelector('.tracks-panel').style.bottom&quot;, &quot;151px&quot;);
</del><ins>+    window.requestAnimationFrame(() =&gt; {
+        const bounds = shadowRoot.querySelector(&quot;.controls-bar&quot;).getBoundingClientRect();
+        eventSender.mouseMoveTo(bounds.left + 118, bounds.top + 10);
+        eventSender.mouseDown();
+        eventSender.mouseMoveTo(bounds.left + 68, bounds.top - 40);
+        eventSender.mouseUp();
</ins><span class="cx"> 
</span><del>-                        debug(&quot;&quot;);
-                        media.remove();
-                        finishJSTest();
-                    });
</del><ins>+        requestAnimationFrame(() =&gt; {
+            clickOnButton(&quot;tracks&quot;, () =&gt; {
+                requestAnimationFrame(() =&gt; {
+                    shouldBe(&quot;shadowRoot.querySelector('button.tracks').getBoundingClientRect().right&quot;, &quot;shadowRoot.querySelector('.tracks-panel').getBoundingClientRect().right&quot;)
+                    shouldBeEqualToString(&quot;shadowRoot.querySelector('.tracks-panel').style.bottom&quot;, &quot;151px&quot;);
+
+                    debug(&quot;&quot;);
+                    media.remove();
+                    finishJSTest();
</ins><span class="cx">                 });
</span><span class="cx">             });
</span><span class="cx">         });
</span><del>-    }
</del><ins>+    });
</ins><span class="cx"> });
</span><span class="cx"> 
</span><span class="cx"> media.addEventListener(&quot;play&quot;, () =&gt; {
</span><span class="lines">@@ -46,12 +47,11 @@
</span><span class="cx">     window.requestAnimationFrame(() =&gt; clickOnButton(&quot;fullscreen&quot;));
</span><span class="cx"> });
</span><span class="cx"> 
</span><del>-function clickOnButton(name)
</del><ins>+function clickOnButton(name, continuation)
</ins><span class="cx"> {
</span><del>-    const bounds = shadowRoot.querySelector(`button.${name}`).getBoundingClientRect();
-    eventSender.mouseMoveTo(bounds.left + 1, bounds.top + 1);
-    eventSender.mouseDown();
-    eventSender.mouseUp();
</del><ins>+    shouldBecomeDifferent(`shadowRoot.querySelector('button.${name}').getBoundingClientRect()`, &quot;0&quot;, () =&gt; {
+        pressOnElement(shadowRoot.querySelector(`button.${name}`), continuation);
+    });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (213363 => 213364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2017-03-03 13:02:49 UTC (rev 213363)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2017-03-03 13:07:45 UTC (rev 213364)
</span><span class="lines">@@ -1481,8 +1481,6 @@
</span><span class="cx"> media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button.html [ Skip ]
</span><span class="cx"> media/modern-media-controls/media-controller/media-controller-tight-padding.html [ Skip ]
</span><span class="cx"> 
</span><del>-webkit.org/b/167275 media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html [ Pass Failure ]
-
</del><span class="cx"> webkit.org/b/167266 media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-over-controls-bar.html [ Pass Failure ]
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/167373 media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html [ Pass Failure ]
</span></span></pre>
</div>
</div>

</body>
</html>