<!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>[208448] 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/208448">208448</a></dd>
<dt>Author</dt> <dd>graouts@webkit.org</dd>
<dt>Date</dt> <dd>2016-11-09 11:01:07 -0800 (Wed, 09 Nov 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Modern Media Controls] UI Library: macOS fullscreen controls
https://bugs.webkit.org/show_bug.cgi?id=164414
<rdar://problem/27989474>
Reviewed by Dean Jackson.
We introduce a new MacOSFullscreenMediaControls class which can be used to instantiate media controls
for fullscreen playback on macOS. These controls can be dragged by the user.
Tests: media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html
media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html
media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html
media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html
media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html
media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html
media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html
* Modules/modern-media-controls/controls/button.js:
(Button.prototype.set enabled):
Correctly notify the layoutDelegate when the enabled property changes, regardless of whether
the flag is on.
* Modules/modern-media-controls/controls/icon-button.js:
(IconButton.prototype._updateImage):
(IconButton):
Correctly notify the layout delegate when the image metrics have changed so that it may perform
a layout. This issues became apparent with the new tests on Yosemite and caused some flakyness.
* Modules/modern-media-controls/controls/icon-service.js:
(const.iconService.new.IconService.prototype._fileNameAndPlatformForIconNameAndLayoutTraits):
(const.iconService.new.IconService):
Fix a typo.
* Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: Added.
(.media-controls.mac.fullscreen > .controls-bar):
(.media-controls.mac.fullscreen .volume.slider):
(.media-controls.mac.fullscreen .buttons-container):
(.media-controls.mac.fullscreen .buttons-container.center):
(.media-controls.mac.fullscreen > .controls-bar button):
(.media-controls.mac.fullscreen button.rewind):
(.media-controls.mac.fullscreen button.play-pause):
(.media-controls.mac.fullscreen button.forward):
(.media-controls.mac.fullscreen .buttons-container.right):
(.media-controls.mac.fullscreen button.airplay):
(.media-controls.mac.fullscreen button.aspect-ratio):
(.media-controls.mac.fullscreen button.pip):
(.media-controls.mac.fullscreen button.tracks):
(.media-controls.mac.fullscreen button.fullscreen):
(.media-controls.mac.fullscreen .time-control):
(.media-controls.mac.fullscreen .time-label):
(.media-controls.mac.fullscreen .scrubber):
* Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js: Added.
(MacOSFullscreenMediaControls.prototype.layout):
(MacOSFullscreenMediaControls):
* Modules/modern-media-controls/controls/macos-media-controls.js:
(MacOSMediaControls):
Allow the layoutTraits property to be set to something other than just LayoutTraits.macOS
so that MacOSFullscreenMediaControls may set the LayoutTraits.Fullscreen bit.
* Modules/modern-media-controls/js-files:
Add a reference to the new macos-fullscreen-media-controls.js file.
* WebCore.xcodeproj/project.pbxproj:
Add references to the new macos-fullscreen-media-controls.js and
macos-fullscreen-media-controls.css files.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsbuttonsstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsconstructorhtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolscontrolsbarstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolslayouthtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolstimecontrolstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumeslidervisibilityhtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumestyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediadroppingcontrolshtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosmediacontrolsmacosmediacontrolshtml">trunk/LayoutTests/media/modern-media-controls/macos-media-controls/macos-media-controls.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmediacontrolsmediacontrolsconstructorhtml">trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-constructor.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmediacontrolsmediacontrolsplacardhtml">trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-placard.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmediacontrolsmediacontrolsstartbuttonhtml">trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-start-button.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsresourcesmediacontrolsloaderjs">trunk/LayoutTests/media/modern-media-controls/resources/media-controls-loader.js</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolscontrolsbuttonjs">trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolscontrolsiconbuttonjs">trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolscontrolsiconservicejs">trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolscontrolsmacosmediacontrolsjs">trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolsjsfiles">trunk/Source/WebCore/Modules/modern-media-controls/js-files</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/</li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonscontainersstylesexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonscontainersstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonsstylesexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonsstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsconstructorexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsconstructorhtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolscontrolsbarstylesexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolscontrolsbarstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsrightcontainermarginexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsrightcontainermarginhtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolstimecontrolstylesexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolstimecontrolstyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsvolumestylesexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsvolumestyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolscontrolsmacosfullscreenmediacontrolscss">trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css</a></li>
<li><a href="#trunkSourceWebCoreModulesmodernmediacontrolscontrolsmacosfullscreenmediacontrolsjs">trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/ChangeLog        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,3 +1,42 @@
</span><ins>+2016-11-08 Antoine Quint <graouts@apple.com>
+
+ [Modern Media Controls] UI Library: macOS fullscreen controls
+ https://bugs.webkit.org/show_bug.cgi?id=164414
+ <rdar://problem/27989474>
+
+ Reviewed by Dean Jackson.
+
+ Adding new tests for the MacOSFullscreenMediaControls class as well as making other tests
+ adopt the media-controls-loader.js utility.
+
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt: Added.
+ * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html: Added.
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html:
+ * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html:
+ * media/modern-media-controls/macos-media-controls/macos-media-controls.html:
+ * media/modern-media-controls/media-controls/media-controls-constructor.html:
+ * media/modern-media-controls/media-controls/media-controls-placard.html:
+ * media/modern-media-controls/media-controls/media-controls-start-button.html:
+ * media/modern-media-controls/resources/media-controls-loader.js:
+
</ins><span class="cx"> 2016-11-09 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> Add test coverage for radiusX / radiusY in WebPlatformTouchPoint.
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonscontainersstylesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+Testing the MacOSFullscreenMediaControls computed styles.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS centerContainerBounds.left is 61
+PASS centerContainerBounds.top is 50
+PASS centerContainerBounds.width is 178
+PASS centerContainerBounds.height is 44
+
+PASS rightContainerBounds.left is within 0.5 of 218
+PASS rightContainerBounds.top is 50
+PASS rightContainerBounds.width is within 0.5 of 166
+PASS rightContainerBounds.height is 44
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonscontainersstyleshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<div id="container" style="position: absolute; top: 0; left: 0;"></div>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> computed styles.");
+
+window.jsTestIsAsync = true;
+
+const mediaControls = new MacOSFullscreenMediaControls;
+const centerContainer = mediaControls.controlsBar.children[1];
+const rightContainer = mediaControls.controlsBar.children[2];
+const buttons = centerContainer.buttons.concat(rightContainer.buttons);
+
+let centerContainerBounds, rightContainerBounds;
+scheduler.frameDidFire = function()
+{
+ if (buttons.some(button => button.width == 0))
+ return;
+
+ document.getElementById("container").appendChild(mediaControls.element);
+
+ centerContainerBounds = centerContainer.element.getBoundingClientRect();
+ shouldBe("centerContainerBounds.left", "61");
+ shouldBe("centerContainerBounds.top", "50");
+ shouldBe("centerContainerBounds.width", "178");
+ shouldBe("centerContainerBounds.height", "44");
+
+ debug("");
+ rightContainerBounds = rightContainer.element.getBoundingClientRect();
+ shouldBeCloseTo("rightContainerBounds.left", 218, 0.5);
+ shouldBe("rightContainerBounds.top", "50");
+ shouldBeCloseTo("rightContainerBounds.width", 166, 0.5);
+ shouldBe("rightContainerBounds.height", "44");
+
+ mediaControls.element.remove();
+
+ debug("");
+ finishJSTest();
+};
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonsstylesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+Testing the MacOSFullscreenMediaControls computed styles.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+RewindButton
+PASS style.left is "27px"
+PASS style.webkitMaskPositionY is "16px"
+PASS style.height is "44px"
+
+PlayPauseButton
+PASS style.left is "78px"
+PASS style.webkitMaskPositionY is "12px"
+PASS style.height is "44px"
+
+ForwardButton
+PASS style.left is "127px"
+PASS style.webkitMaskPositionY is "16px"
+PASS style.height is "44px"
+
+AirplayButton
+PASS style.left is "12px"
+PASS style.webkitMaskPositionY is "13px"
+PASS style.height is "44px"
+
+AspectRatioButton
+PASS style.left is "40px"
+PASS style.webkitMaskPositionY is "13px"
+PASS style.height is "44px"
+
+PiPButton
+PASS style.left is "72px"
+PASS style.webkitMaskPositionY is "13px"
+PASS style.height is "44px"
+
+TracksButton
+PASS style.left is "111px"
+PASS style.webkitMaskPositionY is "15px"
+PASS style.height is "44px"
+
+FullscreenButton
+PASS style.left is "139px"
+PASS style.webkitMaskPositionY is "13px"
+PASS style.height is "44px"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsbuttonsstyleshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> computed styles.");
+
+window.jsTestIsAsync = true;
+
+const mediaControls = new MacOSFullscreenMediaControls;
+
+const buttonPositions = [
+ [mediaControls.rewindButton, 27, 16],
+ [mediaControls.playPauseButton, 78, 12],
+ [mediaControls.forwardButton, 127, 16],
+ [mediaControls.airplayButton, 12, 13],
+ [mediaControls.aspectRatioButton, 40, 13],
+ [mediaControls.pipButton, 72, 13],
+ [mediaControls.tracksButton, 111, 15],
+ [mediaControls.fullscreenButton, 139, 13]
+];
+
+let style;
+scheduler.frameDidFire = function()
+{
+ document.body.appendChild(mediaControls.element);
+
+ for (let [button, x, y, width] of buttonPositions) {
+ style = window.getComputedStyle(button.element);
+ debug(button.constructor.name);
+ shouldBeEqualToString("style.left", `${x}px`);
+ shouldBeEqualToString("style.webkitMaskPositionY", `${y}px`);
+ shouldBeEqualToString("style.height", "44px");
+ debug("");
+ }
+
+ mediaControls.element.remove();
+
+ finishJSTest();
+};
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsconstructorexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+Testing the MacOSFullscreenMediaControls constructor.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS mediaControls.element.localName is "div"
+PASS mediaControls.element.className is "media-controls mac fullscreen"
+PASS mediaControls.layoutTraits is LayoutTraits.macOS | LayoutTraits.Fullscreen
+
+Controls bar
+PASS mediaControls.controlsBar.children.length is 4
+PASS mediaControls.controlsBar.children[0] is mediaControls.volumeSlider
+PASS mediaControls.controlsBar.children[1] instanceof ButtonsContainer is true
+PASS mediaControls.controlsBar.children[2] instanceof ButtonsContainer is true
+PASS mediaControls.controlsBar.children[3] is mediaControls.timeControl
+
+Center container
+PASS mediaControls.controlsBar.children[1].buttons is [mediaControls.rewindButton, mediaControls.playPauseButton, mediaControls.forwardButton]
+PASS mediaControls.controlsBar.children[1].element.className is "buttons-container center"
+PASS mediaControls.controlsBar.children[1].padding is 27
+PASS mediaControls.controlsBar.children[1].margin is 27
+
+Right container
+PASS mediaControls.controlsBar.children[2].buttons is [mediaControls.airplayButton, mediaControls.aspectRatioButton, mediaControls.pipButton, mediaControls.tracksButton, mediaControls.fullscreenButton]
+PASS mediaControls.controlsBar.children[2].element.className is "buttons-container right"
+PASS mediaControls.controlsBar.children[2].padding is 12
+PASS mediaControls.controlsBar.children[2].margin is 0
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsconstructorhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> constructor.");
+
+const mediaControls = new MacOSFullscreenMediaControls;
+
+shouldBeEqualToString("mediaControls.element.localName", "div");
+shouldBeEqualToString("mediaControls.element.className", "media-controls mac fullscreen");
+shouldBe("mediaControls.layoutTraits", "LayoutTraits.macOS | LayoutTraits.Fullscreen");
+
+debug("");
+debug("Controls bar");
+shouldBe("mediaControls.controlsBar.children.length", "4");
+shouldBe("mediaControls.controlsBar.children[0]", "mediaControls.volumeSlider");
+shouldBeTrue("mediaControls.controlsBar.children[1] instanceof ButtonsContainer");
+shouldBeTrue("mediaControls.controlsBar.children[2] instanceof ButtonsContainer");
+shouldBe("mediaControls.controlsBar.children[3]", "mediaControls.timeControl");
+
+debug("");
+debug("Center container");
+shouldBe("mediaControls.controlsBar.children[1].buttons", "[mediaControls.rewindButton, mediaControls.playPauseButton, mediaControls.forwardButton]");
+shouldBeEqualToString("mediaControls.controlsBar.children[1].element.className", "buttons-container center");
+shouldBe("mediaControls.controlsBar.children[1].padding", "27");
+shouldBe("mediaControls.controlsBar.children[1].margin", "27");
+
+debug("");
+debug("Right container");
+shouldBe("mediaControls.controlsBar.children[2].buttons", "[mediaControls.airplayButton, mediaControls.aspectRatioButton, mediaControls.pipButton, mediaControls.tracksButton, mediaControls.fullscreenButton]");
+shouldBeEqualToString("mediaControls.controlsBar.children[2].element.className", "buttons-container right");
+shouldBe("mediaControls.controlsBar.children[2].padding", "12");
+shouldBe("mediaControls.controlsBar.children[2].margin", "0");
+
+debug("");
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolscontrolsbarstylesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+Testing the MacOSFullscreenMediaControls computed styles.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS style.left is "50%"
+PASS style.bottom is "25px"
+PASS style.width is "468px"
+PASS style.height is "75px"
+PASS style.transform is "matrix(1, 0, 0, 1, -234, 0)"
+PASS style.borderRadius is "8px"
+PASS bounds.left is -84
+PASS bounds.top is 50
+PASS bounds.width is 468
+PASS bounds.height is 75
+PASS rgba(style.backgroundColor).r is 30
+PASS rgba(style.backgroundColor).g is 30
+PASS rgba(style.backgroundColor).b is 30
+PASS rgba(style.backgroundColor).a is within 0.001 of 0.45
+PASS style.webkitBackdropFilter is "saturate(1.8) blur(20px)"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolscontrolsbarstyleshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<style type="text/css" media="screen">
+
+.media-controls {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+</style>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> computed styles.");
+
+window.jsTestIsAsync = true;
+
+const mediaControls = new MacOSFullscreenMediaControls;
+
+let style, bounds;
+scheduler.frameDidFire = function()
+{
+ document.body.appendChild(mediaControls.element);
+
+ style = window.getComputedStyle(mediaControls.controlsBar.element);
+ bounds = mediaControls.controlsBar.element.getBoundingClientRect();
+
+ shouldBeEqualToString("style.left", "50%");
+ shouldBeEqualToString("style.bottom", "25px");
+ shouldBeEqualToString("style.width", "468px");
+ shouldBeEqualToString("style.height", "75px");
+ shouldBeEqualToString("style.transform", "matrix(1, 0, 0, 1, -234, 0)");
+ shouldBeEqualToString("style.borderRadius", "8px");
+
+ shouldBe("bounds.left", "-84");
+ shouldBe("bounds.top", "50");
+ shouldBe("bounds.width", "468");
+ shouldBe("bounds.height", "75");
+
+ shouldBeEqualToRGBAColor("style.backgroundColor", "rgba(30, 30, 30, 0.45)");
+ shouldBeEqualToString("style.webkitBackdropFilter", "saturate(1.8) blur(20px)");
+
+ mediaControls.element.remove();
+
+ debug("");
+ finishJSTest();
+};
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsrightcontainermarginexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+Testing the MacOSFullscreenMediaControls right container margin.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+5 enabled buttons
+PASS rightContainer.margin is 12
+
+4 enabled buttons
+PASS rightContainer.margin is 16
+
+3 enabled buttons
+PASS rightContainer.margin is 24
+
+2 enabled buttons
+PASS rightContainer.margin is 24
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsrightcontainermarginhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> right container margin.");
+
+window.jsTestIsAsync = true;
+
+const mediaControls = new MacOSFullscreenMediaControls;
+const rightContainer = mediaControls.controlsBar.children[2];
+
+let numberOfFrames = 0;
+scheduler.frameDidFire = function()
+{
+ numberOfFrames++;
+
+ if (numberOfFrames == 1) {
+ debug("5 enabled buttons")
+ shouldBe("rightContainer.margin", "12");
+ debug("");
+ mediaControls.airplayButton.enabled = false;
+ } else if (numberOfFrames == 2) {
+ debug("4 enabled buttons")
+ shouldBe("rightContainer.margin", "16");
+ debug("");
+ mediaControls.tracksButton.enabled = false;
+ } else if (numberOfFrames == 3) {
+ debug("3 enabled buttons")
+ shouldBe("rightContainer.margin", "24");
+ mediaControls.pipButton.enabled = false;
+ debug("");
+ } else if (numberOfFrames == 4) {
+ debug("2 enabled buttons")
+ shouldBe("rightContainer.margin", "24");
+ debug("");
+ finishJSTest();
+ }
+};
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolstimecontrolstylesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+Testing the MacOSFullscreenMediaControls computed styles.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(mediaControls.timeControl.element).left is "10px"
+PASS window.getComputedStyle(mediaControls.timeControl.element).top is "48px"
+PASS window.getComputedStyle(mediaControls.timeControl.element).width is "457px"
+PASS window.getComputedStyle(mediaControls.timeControl.scrubber.element).top is "7px"
+PASS window.getComputedStyle(mediaControls.timeControl.elapsedTimeLabel.element).fontSize is "12px"
+PASS window.getComputedStyle(mediaControls.timeControl.remainingTimeLabel.element).fontSize is "12px"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolstimecontrolstyleshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> computed styles.");
+
+window.jsTestIsAsync = true;
+
+const mediaControls = new MacOSFullscreenMediaControls;
+
+scheduler.frameDidFire = function()
+{
+ document.body.appendChild(mediaControls.element);
+
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.element).left", "10px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.element).top", "48px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.element).width", "457px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.scrubber.element).top", "7px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.elapsedTimeLabel.element).fontSize", "12px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.remainingTimeLabel.element).fontSize", "12px");
+ debug("");
+
+ mediaControls.element.remove();
+
+ finishJSTest();
+};
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsvolumestylesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+Testing the MacOSFullscreenMediaControls computed styles.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(mediaControls.volumeSlider.element).left is "31px"
+PASS window.getComputedStyle(mediaControls.volumeSlider.element).top is "23px"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosfullscreenmediacontrolsmacosfullscreenmediacontrolsvolumestyleshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html         (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+<script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
+<body>
+<script type="text/javascript">
+
+description("Testing the <code>MacOSFullscreenMediaControls</code> computed styles.");
+
+window.jsTestIsAsync = true;
+
+const mediaControls = new MacOSFullscreenMediaControls;
+
+scheduler.frameDidFire = function()
+{
+ document.body.appendChild(mediaControls.element);
+
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.volumeSlider.element).left", "31px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.volumeSlider.element).top", "23px");
+
+ mediaControls.element.remove();
+
+ debug("");
+ finishJSTest();
+};
+
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsbuttonsstyleshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,45 +1,6 @@
</span><del>-
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.css">
-
</del><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><span class="cx"> <script src="../resources/media-controls-utils.js" type="text/javascript"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="lines">@@ -47,8 +8,6 @@
</span><span class="cx">
</span><span class="cx"> window.jsTestIsAsync = true;
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls({ width: 680, height: 300 });
</span><span class="cx">
</span><span class="cx"> const buttonPositions = [
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,37 +1,10 @@
</span><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="cx"> description("Testing the <code>MacOSInlineMediaControls</code> constructor.");
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls;
</span><span class="cx">
</span><span class="cx"> shouldBeEqualToString("mediaControls.element.localName", "div");
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolscontrolsbarstyleshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,45 +1,6 @@
</span><del>-
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.css">
-
</del><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><span class="cx"> <script src="../resources/media-controls-utils.js" type="text/javascript"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <style type="text/css" media="screen">
</span><span class="cx">
</span><span class="lines">@@ -56,8 +17,6 @@
</span><span class="cx">
</span><span class="cx"> window.jsTestIsAsync = true;
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls({ width: 680, height: 300 });
</span><span class="cx">
</span><span class="cx"> let style, bounds;
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolslayouthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,44 +1,5 @@
</span><del>-
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.css">
-
</del><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="lines">@@ -46,8 +7,6 @@
</span><span class="cx">
</span><span class="cx"> window.jsTestIsAsync = true;
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls({ width: 680, height: 50 });
</span><span class="cx">
</span><span class="cx"> const iconButtons = [
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolstimecontrolstyleshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,45 +1,6 @@
</span><del>-
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.css">
-
</del><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><span class="cx"> <script src="../resources/media-controls-utils.js" type="text/javascript"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="lines">@@ -47,8 +8,6 @@
</span><span class="cx">
</span><span class="cx"> window.jsTestIsAsync = true;
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls({ width: 680, height: 300 });
</span><span class="cx">
</span><span class="cx"> scheduler.frameDidFire = function()
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumeslidervisibilityhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,37 +1,10 @@
</span><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="cx"> description("Testing the <code>MacOSInlineMediaControls</code> volume slider visibility.");
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls;
</span><span class="cx"> const volumeSliderContainer = mediaControls.volumeSlider.parent;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumestyleshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,45 +1,6 @@
</span><del>-
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.css">
-<link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.css">
-
</del><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><span class="cx"> <script src="../resources/media-controls-utils.js" type="text/javascript"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="lines">@@ -47,8 +8,6 @@
</span><span class="cx">
</span><span class="cx"> window.jsTestIsAsync = true;
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls({ width: 680, height: 300 });
</span><span class="cx"> mediaControls.volumeSlider.parent.visible = true;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediadroppingcontrolshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,31 +1,5 @@
</span><del>-
</del><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="lines">@@ -33,8 +7,6 @@
</span><span class="cx">
</span><span class="cx"> window.jsTestIsAsync = true;
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSInlineMediaControls;
</span><span class="cx">
</span><span class="cx"> // There is a 4-pixel difference in metrics between 1x and 2x due to the volume button having a different width.
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosmediacontrolsmacosmediacontrolshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-media-controls/macos-media-controls.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-media-controls/macos-media-controls.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/macos-media-controls/macos-media-controls.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,35 +1,10 @@
</span><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/mute-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/volume-slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="cx"> description("Testing the <code>MacOSMediaControls</code> constructor.");
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MacOSMediaControls;
</span><span class="cx">
</span><span class="cx"> shouldBeEqualToString("mediaControls.element.localName", "div");
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmediacontrolsmediacontrolsconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-constructor.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-constructor.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-constructor.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,31 +1,10 @@
</span><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="cx"> description("Testing the <code>MediaControls</code> constructor.");
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MediaControls({ layoutTraits: LayoutTraits.macOS });
</span><span class="cx">
</span><span class="cx"> shouldBeEqualToString("mediaControls.element.localName", "div");
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmediacontrolsmediacontrolsplacardhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-placard.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-placard.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-placard.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,31 +1,10 @@
</span><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="cx"> description("Testing the <code>MediaControls</code> handling of placards.");
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MediaControls({ layoutTraits: LayoutTraits.macOS });
</span><span class="cx">
</span><span class="cx"> debug("By default, no placard is shown.");
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmediacontrolsmediacontrolsstartbuttonhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-start-button.html (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-start-button.html        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/media-controls/media-controls-start-button.html        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,31 +1,10 @@
</span><span class="cx"> <script src="../../../resources/js-test-pre.js"></script>
</span><del>-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/skip-back-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/fullscreen-button.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/slider.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scrubber.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-label.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/time-control.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
-<script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/media-controls.js" type="text/javascript"></script>
</del><ins>+<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
</ins><span class="cx"> <body>
</span><span class="cx"> <script type="text/javascript">
</span><span class="cx">
</span><span class="cx"> description("Testing the <code>MediaControls</code> showsStartButton property.");
</span><span class="cx">
</span><del>-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
</del><span class="cx"> const mediaControls = new MediaControls({ layoutTraits: LayoutTraits.macOS });
</span><span class="cx">
</span><span class="cx"> debug("Default where showsStartButton = false");
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsresourcesmediacontrolsloaderjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/resources/media-controls-loader.js (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/resources/media-controls-loader.js        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/LayoutTests/media/modern-media-controls/resources/media-controls-loader.js        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> const layoutTestsPath = window.location.href.substr(0, window.location.href.indexOf("/LayoutTests/"));
</span><span class="cx"> const modulePath = layoutTestsPath ? layoutTestsPath + "/Source/WebCore/Modules/modern-media-controls" : "/modern-media-controls";
</span><span class="cx">
</span><del>- ["media-controls", "scrubber", "volume-slider", "slider", "button", "start-button", "icon-button", "airplay-button", "time-label", "macos-inline-media-controls", "buttons-container", "placard"].forEach(cssFile => {
</del><ins>+ ["media-controls", "scrubber", "volume-slider", "slider", "button", "start-button", "icon-button", "airplay-button", "time-label", "macos-inline-media-controls", "macos-fullscreen-media-controls", "buttons-container", "placard"].forEach(cssFile => {
</ins><span class="cx"> document.write(`<link rel="stylesheet" type="text/css" href="${modulePath}/controls/${cssFile}.css">`);
</span><span class="cx"> });
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/ChangeLog        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1,3 +1,77 @@
</span><ins>+2016-11-08 Antoine Quint <graouts@apple.com>
+
+ [Modern Media Controls] UI Library: macOS fullscreen controls
+ https://bugs.webkit.org/show_bug.cgi?id=164414
+ <rdar://problem/27989474>
+
+ Reviewed by Dean Jackson.
+
+ We introduce a new MacOSFullscreenMediaControls class which can be used to instantiate media controls
+ for fullscreen playback on macOS. These controls can be dragged by the user.
+
+ Tests: media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html
+ media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html
+ media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html
+ media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html
+ media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html
+ media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html
+ media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html
+
+ * Modules/modern-media-controls/controls/button.js:
+ (Button.prototype.set enabled):
+
+ Correctly notify the layoutDelegate when the enabled property changes, regardless of whether
+ the flag is on.
+
+ * Modules/modern-media-controls/controls/icon-button.js:
+ (IconButton.prototype._updateImage):
+ (IconButton):
+
+ Correctly notify the layout delegate when the image metrics have changed so that it may perform
+ a layout. This issues became apparent with the new tests on Yosemite and caused some flakyness.
+
+ * Modules/modern-media-controls/controls/icon-service.js:
+ (const.iconService.new.IconService.prototype._fileNameAndPlatformForIconNameAndLayoutTraits):
+ (const.iconService.new.IconService):
+
+ Fix a typo.
+
+ * Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: Added.
+ (.media-controls.mac.fullscreen > .controls-bar):
+ (.media-controls.mac.fullscreen .volume.slider):
+ (.media-controls.mac.fullscreen .buttons-container):
+ (.media-controls.mac.fullscreen .buttons-container.center):
+ (.media-controls.mac.fullscreen > .controls-bar button):
+ (.media-controls.mac.fullscreen button.rewind):
+ (.media-controls.mac.fullscreen button.play-pause):
+ (.media-controls.mac.fullscreen button.forward):
+ (.media-controls.mac.fullscreen .buttons-container.right):
+ (.media-controls.mac.fullscreen button.airplay):
+ (.media-controls.mac.fullscreen button.aspect-ratio):
+ (.media-controls.mac.fullscreen button.pip):
+ (.media-controls.mac.fullscreen button.tracks):
+ (.media-controls.mac.fullscreen button.fullscreen):
+ (.media-controls.mac.fullscreen .time-control):
+ (.media-controls.mac.fullscreen .time-label):
+ (.media-controls.mac.fullscreen .scrubber):
+ * Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js: Added.
+ (MacOSFullscreenMediaControls.prototype.layout):
+ (MacOSFullscreenMediaControls):
+ * Modules/modern-media-controls/controls/macos-media-controls.js:
+ (MacOSMediaControls):
+
+ Allow the layoutTraits property to be set to something other than just LayoutTraits.macOS
+ so that MacOSFullscreenMediaControls may set the LayoutTraits.Fullscreen bit.
+
+ * Modules/modern-media-controls/js-files:
+
+ Add a reference to the new macos-fullscreen-media-controls.js file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+ Add references to the new macos-fullscreen-media-controls.js and
+ macos-fullscreen-media-controls.css files.
+
</ins><span class="cx"> 2016-11-09 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> Shave 16 bytes off HTMLInputElement
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolscontrolsbuttonjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -47,8 +47,11 @@
</span><span class="cx">
</span><span class="cx"> set enabled(flag)
</span><span class="cx"> {
</span><ins>+ if (this._enabled === flag)
+ return;
+
</ins><span class="cx"> this._enabled = flag;
</span><del>- if (flag && this.layoutDelegate && typeof this.layoutDelegate.layout === "function")
</del><ins>+ if (this.layoutDelegate && typeof this.layoutDelegate.layout === "function")
</ins><span class="cx"> this.layoutDelegate.layout();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolscontrolsiconbuttonjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -98,6 +98,8 @@
</span><span class="cx"> this.height = this._image.height / window.devicePixelRatio;
</span><span class="cx">
</span><span class="cx"> this.needsLayout = true;
</span><ins>+ if (this.layoutDelegate)
+ this.layoutDelegate.needsLayout = true;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolscontrolsiconservicejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> VolumeMuted : "volume-mute"
</span><span class="cx"> };
</span><span class="cx">
</span><del>-const IconsWithFullScreenVariants = [Icons.Airplay, Icons.Tracks, Icons.Pause, Icons.Play];
</del><ins>+const IconsWithFullscreenVariants = [Icons.Airplay, Icons.Tracks, Icons.Pause, Icons.Play];
</ins><span class="cx">
</span><span class="cx"> const iconService = new class IconService {
</span><span class="cx">
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> else
</span><span class="cx"> throw "Could not identify icon's platform from layout traits.";
</span><span class="cx">
</span><del>- if (layoutTraits & LayoutTraits.Fullscreen && IconsWithFullScreenVariants.includes(iconName))
</del><ins>+ if (layoutTraits & LayoutTraits.Fullscreen && IconsWithFullscreenVariants.includes(iconName))
</ins><span class="cx"> iconName += "-fullscreen";
</span><span class="cx">
</span><span class="cx"> const fileName = `${iconName}@${window.devicePixelRatio}x`;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolscontrolsmacosfullscreenmediacontrolscss"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css         (rev 0)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,123 @@
</span><ins>+/*
+ * Copyright (C) 2016 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. ``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
+ * 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.
+ */
+
+/* Controls bar */
+
+.media-controls.mac.fullscreen > .controls-bar {
+ left: 50%;
+ bottom: 25px;
+ width: 468px;
+ height: 75px;
+ transform: translateX(-50%);
+ overflow: hidden;
+ border-radius: 8px;
+
+ /* FIXME: we want to use the real System Dark treatment here, see <rdar://problem/19993961> */
+ background-color: rgba(30, 30, 30, 0.45);
+ -webkit-backdrop-filter: saturate(180%) blur(20px);
+}
+
+/* Volume slider */
+
+.media-controls.mac.fullscreen .volume.slider {
+ left: 31px;
+ top: 23px;
+}
+
+/* Button containers */
+
+.media-controls.mac.fullscreen .buttons-container {
+ height: 44px;
+}
+
+.media-controls.mac.fullscreen .buttons-container.center {
+ left: 50%;
+ top: 0;
+ transform: translateX(-50%);
+}
+
+/* Buttons */
+
+.media-controls.mac.fullscreen > .controls-bar button {
+ height: 100% !important;
+}
+
+/* Buttons placement for center container */
+
+.media-controls.mac.fullscreen button.rewind {
+ -webkit-mask-position-y: 16px;
+}
+
+.media-controls.mac.fullscreen button.play-pause {
+ -webkit-mask-position-y: 12px;
+}
+
+.media-controls.mac.fullscreen button.forward {
+ -webkit-mask-position-y: 16px;
+}
+
+/* Make right container flush to the right */
+
+.media-controls.mac.fullscreen .buttons-container.right {
+ right: 0;
+}
+
+/* Buttons placement for right container */
+
+.media-controls.mac.fullscreen button.airplay {
+ -webkit-mask-position-y: 13px;
+}
+
+.media-controls.mac.fullscreen button.aspect-ratio {
+ -webkit-mask-position-y: 13px;
+}
+
+.media-controls.mac.fullscreen button.pip {
+ -webkit-mask-position-y: 13px;
+}
+
+.media-controls.mac.fullscreen button.tracks {
+ -webkit-mask-position-y: 15px;
+}
+
+.media-controls.mac.fullscreen button.fullscreen {
+ -webkit-mask-position-y: 13px;
+}
+
+/* Scrubber */
+
+.media-controls.mac.fullscreen .time-control {
+ position: absolute;
+ left: 10px;
+ top: 48px;
+}
+
+.media-controls.mac.fullscreen .time-label {
+ font-size: 12px;
+}
+
+.media-controls.mac.fullscreen .scrubber {
+ top: 7px;
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolscontrolsmacosfullscreenmediacontrolsjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js (0 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js         (rev 0)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -0,0 +1,144 @@
</span><ins>+/*
+ * Copyright (C) 2016 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. ``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
+ * 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.
+ */
+
+const MarginForThreeButtonsOrLess = 24;
+const MarginForFourButtons = 16;
+const MarginForFiveButtons = 12;
+const FullscreenTimeControlWidth = 457;
+
+class MacOSFullscreenMediaControls extends MacOSMediaControls
+{
+
+ constructor(options = {})
+ {
+ options.layoutTraits = LayoutTraits.macOS | LayoutTraits.Fullscreen;
+
+ super(options);
+
+ this.element.classList.add("fullscreen");
+
+ // Set up fullscreen-specific buttons.
+ this.rewindButton = new RewindButton(this);
+ this.aspectRatioButton = new AspectRatioButton(this);
+ this.forwardButton = new ForwardButton(this);
+ this.fullscreenButton.isFullscreen = true;
+
+ this.volumeSlider.width = 60;
+
+ this._centerContainer = new ButtonsContainer({
+ buttons: [this.rewindButton, this.playPauseButton, this.forwardButton],
+ cssClassName: "center",
+ padding: 27,
+ margin: 27
+ });
+
+ this._rightContainer = new ButtonsContainer({
+ buttons: [this.airplayButton, this.aspectRatioButton, this.pipButton, this.tracksButton, this.fullscreenButton],
+ cssClassName: "right",
+ padding: 12
+ });
+
+ this.controlsBar.children = [this.volumeSlider, this._centerContainer, this._rightContainer, this.timeControl];
+
+ this.element.addEventListener("mousedown", this);
+ }
+
+ // Protected
+
+ handleEvent(event)
+ {
+ switch (event.type) {
+ case "mousedown":
+ this._handleMousedown(event);
+ break;
+ case "mousemove":
+ this._handleMousemove(event);
+ break;
+ case "mouseup":
+ this._handleMouseup(event);
+ break;
+ }
+ }
+
+ // Public
+
+ layout()
+ {
+ super.layout();
+
+ const numberOfEnabledButtons = this._rightContainer.buttons.filter(button => button.enabled).length;
+
+ let margin = MarginForFiveButtons;
+ if (numberOfEnabledButtons === 4)
+ margin = MarginForFourButtons;
+ else if (numberOfEnabledButtons <= 3)
+ margin = MarginForThreeButtonsOrLess;
+
+ this._rightContainer.margin = margin;
+
+ this._centerContainer.layout();
+ this._rightContainer.layout();
+
+ this.timeControl.width = FullscreenTimeControlWidth;
+ }
+
+ _handleMousedown(event)
+ {
+ if (event.target !== this.controlsBar.element)
+ return;
+
+ event.preventDefault();
+
+ this._lastDragPoint = this._pointForEvent(event);
+
+ window.addEventListener("mousemove", this, true);
+ window.addEventListener("mouseup", this, true);
+ }
+
+ _handleMousemove(event)
+ {
+ event.preventDefault();
+
+ const currentDragPoint = this._pointForEvent(event);
+ this.x += currentDragPoint.x - this._lastDragPoint.x;
+ this.y += currentDragPoint.y - this._lastDragPoint.y;
+
+ this._lastDragPoint = currentDragPoint;
+ }
+
+ _handleMouseup(event)
+ {
+ event.preventDefault();
+
+ window.removeEventListener("mousemove", this, true);
+ window.removeEventListener("mouseup", this, true);
+ }
+
+ _pointForEvent(event)
+ {
+ return new DOMPoint(event.clientX, event.clientY);
+ }
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolscontrolsmacosmediacontrolsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -26,13 +26,9 @@
</span><span class="cx"> class MacOSMediaControls extends MediaControls
</span><span class="cx"> {
</span><span class="cx">
</span><del>- constructor(options = {})
</del><ins>+ constructor({ width, height, layoutTraits = LayoutTraits.macOS } = {})
</ins><span class="cx"> {
</span><del>- super({
- width: options.width,
- height: options.height,
- layoutTraits: LayoutTraits.macOS
- });
</del><ins>+ super({ width, height, layoutTraits });
</ins><span class="cx">
</span><span class="cx"> this.element.classList.add("mac");
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmodernmediacontrolsjsfiles"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/modern-media-controls/js-files (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/modern-media-controls/js-files        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/Modules/modern-media-controls/js-files        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -23,6 +23,7 @@
</span><span class="cx"> controls/media-controls.js
</span><span class="cx"> controls/macos-media-controls.js
</span><span class="cx"> controls/macos-inline-media-controls.js
</span><ins>+controls/macos-fullscreen-media-controls.js
</ins><span class="cx"> controls/buttons-container.js
</span><span class="cx"> controls/placard.js
</span><span class="cx"> controls/airplay-placard.js
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (208447 => 208448)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-11-09 18:35:51 UTC (rev 208447)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-11-09 19:01:07 UTC (rev 208448)
</span><span class="lines">@@ -1564,10 +1564,10 @@
</span><span class="cx">                 4162A4571011464700DFF3ED /* JSDedicatedWorkerGlobalScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4162A4551011464700DFF3ED /* JSDedicatedWorkerGlobalScope.cpp */; };
</span><span class="cx">                 4162A4581011464700DFF3ED /* JSDedicatedWorkerGlobalScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 4162A4561011464700DFF3ED /* JSDedicatedWorkerGlobalScope.h */; };
</span><span class="cx">                 416E29A6102FA962007FC14E /* WorkerReportingProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 416E29A5102FA962007FC14E /* WorkerReportingProxy.h */; };
</span><ins>+                416E6FE81BBD12DF000A3F64 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 416E6FE81BBD12DF000A6023 /* FetchInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764B9 /* FetchInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 416E6FE81BBD12DF000A6033 /* StreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764C9 /* StreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                416E6FE81BBD12DF000A3F64 /* ReadableByteStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableByteStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B73F64 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                416E6FE81BBD12DF000A6043 /* ReadableByteStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B73F64 /* ReadableByteStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 416E6FE81BBD12DF000A6053 /* WritableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764E9 /* WritableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 416E6FE91BBD12E5000A6053 /* WritableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764E8 /* WritableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -2590,8 +2590,8 @@
</span><span class="cx">                 6B693A2E1C51A82E00B03BEF /* ResourceLoadObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B693A2D1C51A82E00B03BEF /* ResourceLoadObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B693A331C51A95D00B03BEF /* ResourceLoadObserver.cpp */; };
</span><span class="cx">                 6C4C96DE1AD4483500363F64 /* JSReadableByteStreamController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500363F64 /* JSReadableByteStreamController.cpp */; };
</span><ins>+                6C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */; };
</ins><span class="cx">                 6C4C96DF1AD4483500363F64 /* JSReadableByteStreamController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */; };
</span><del>-                6C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */; };
</del><span class="cx">                 6C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */; };
</span><span class="cx">                 6C638895A96CCEE50C8C946C /* CachedResourceRequestInitiators.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C638893A96CCEE50C8C946C /* CachedResourceRequestInitiators.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 6C638896A96CCEE50C8C946C /* CachedResourceRequestInitiators.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C638894A96CCEE50C8C946C /* CachedResourceRequestInitiators.cpp */; };
</span><span class="lines">@@ -9782,8 +9782,8 @@
</span><span class="cx">                 6B693A2D1C51A82E00B03BEF /* ResourceLoadObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoadObserver.h; sourceTree = "<group>"; };
</span><span class="cx">                 6B693A331C51A95D00B03BEF /* ResourceLoadObserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceLoadObserver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 6C4C96DA1AD4483500363F64 /* JSReadableByteStreamController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableByteStreamController.cpp; sourceTree = "<group>"; };
</span><ins>+                6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamDefaultController.cpp; sourceTree = "<group>"; };
</ins><span class="cx">                 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableByteStreamController.h; sourceTree = "<group>"; };
</span><del>-                6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamDefaultController.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamDefaultController.h; sourceTree = "<group>"; };
</span><span class="cx">                 6C638893A96CCEE50C8C946C /* CachedResourceRequestInitiators.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CachedResourceRequestInitiators.h; sourceTree = "<group>"; };
</span><span class="cx">                 6C638894A96CCEE50C8C946C /* CachedResourceRequestInitiators.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CachedResourceRequestInitiators.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -9873,6 +9873,8 @@
</span><span class="cx">                 7118FED215685CC60030B79A /* JSSVGViewSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGViewSpec.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7118FED315685CC60030B79A /* JSSVGViewSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSVGViewSpec.h; sourceTree = "<group>"; };
</span><span class="cx">                 711FB0751DC7688F00C4C708 /* placard-support.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "placard-support.js"; sourceTree = "<group>"; };
</span><ins>+                712157C01DCCCA0700AA7A92 /* macos-fullscreen-media-controls.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = "macos-fullscreen-media-controls.css"; sourceTree = "<group>"; };
+                712157C11DCCCA0700AA7A92 /* macos-fullscreen-media-controls.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "macos-fullscreen-media-controls.js"; sourceTree = "<group>"; };
</ins><span class="cx">                 7130141D1DC9C08600CA3A88 /* pip-support.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "pip-support.js"; sourceTree = "<group>"; };
</span><span class="cx">                 7134496B146941B300720312 /* SVGLengthContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGLengthContext.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7134496C146941B300720312 /* SVGLengthContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGLengthContext.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -11175,8 +11177,8 @@
</span><span class="cx">                 9908B0F01BCACF9100ED3F64 /* ReadableByteStreamController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableByteStreamController.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F11BCACF9100ED0F55 /* StreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = StreamInternals.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F11BCACF9100ED0F65 /* ReadableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamInternals.js; sourceTree = "<group>"; };
</span><ins>+                9908B0F11BCACF9100ED0F75 /* WritableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStreamInternals.js; sourceTree = "<group>"; };
</ins><span class="cx">                 9908B0F11BCACF9100ED3F64 /* ReadableByteStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableByteStreamInternals.js; sourceTree = "<group>"; };
</span><del>-                9908B0F11BCACF9100ED0F75 /* WritableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStreamInternals.js; sourceTree = "<group>"; };
</del><span class="cx">                 9908B0F21BCACF9100ED0F65 /* ReadableStreamDefaultReader.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamDefaultReader.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F31BCACFFE00ED0F65 /* ByteLengthQueuingStrategyBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ByteLengthQueuingStrategyBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F51BCAD07D00ED0F65 /* ByteLengthQueuingStrategyBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteLengthQueuingStrategyBuiltins.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -11184,15 +11186,13 @@
</span><span class="cx">                 9908B0F71BCAD07D00ED0F65 /* CountQueuingStrategyBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountQueuingStrategyBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F91BCAD07D00ED0F65 /* ReadableStreamBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStreamBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F91BCAD07D00ED0F75 /* WritableStreamBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WritableStreamBuiltins.cpp; sourceTree = "<group>"; };
</span><del>-                9908B0FA1BCAD07D00ED3F64 /* ReadableByteStreamControllerBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableByteStreamControllerBuiltins.cpp; sourceTree = "<group>"; };
-                9908B0FB1BCAD07D00ED3F64 /* ReadableByteStreamControllerBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableByteStreamControllerBuiltins.h; sourceTree = "<group>"; };
</del><span class="cx">                 9908B0FA1BCAD07D00ED0F65 /* ReadableStreamDefaultControllerBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStreamDefaultControllerBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0FB1BCAD07D00ED0F65 /* ReadableStreamDefaultControllerBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamDefaultControllerBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0FD1BCAD07D00ED0F45 /* FetchInternalsBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FetchInternalsBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0FD1BCAD07D00ED0F55 /* StreamInternalsBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StreamInternalsBuiltins.cpp; sourceTree = "<group>"; };
</span><del>-                9908B0FD1BCAD07D00ED3F64 /* ReadableByteStreamInternalsBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableByteStreamInternalsBuiltins.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 9908B0FD1BCAD07D00ED0F65 /* ReadableStreamInternalsBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStreamInternalsBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0FD1BCAD07D00ED0F75 /* WritableStreamInternalsBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WritableStreamInternalsBuiltins.cpp; sourceTree = "<group>"; };
</span><ins>+                9908B0FD1BCAD07D00ED3F64 /* ReadableByteStreamInternalsBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableByteStreamInternalsBuiltins.cpp; sourceTree = "<group>"; };
</ins><span class="cx">                 9908B0FE1BCAD07D00ED0F65 /* ReadableStreamDefaultReaderBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStreamDefaultReaderBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0FF1BCAD07D00ED0F65 /* ReadableStreamDefaultReaderBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamDefaultReaderBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9920398018B95BC600B39AF9 /* UserInputBridge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserInputBridge.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -11230,10 +11230,10 @@
</span><span class="cx">                 9A528E8217D7F52F00AA9518 /* FloatingObjects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FloatingObjects.h; sourceTree = "<group>"; };
</span><span class="cx">                 9AB1F37E18E2489A00534743 /* CSSToLengthConversionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSToLengthConversionData.h; sourceTree = "<group>"; };
</span><span class="cx">                 9AB1F37F18E2489A00534743 /* CSSToLengthConversionData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSToLengthConversionData.cpp; sourceTree = "<group>"; };
</span><ins>+                9B03D8061BB3110D00B73F64 /* ReadableByteStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableByteStreamInternalsBuiltins.h; sourceTree = "<group>"; };
</ins><span class="cx">                 9B03D8061BB3110D00B764B9 /* FetchInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FetchInternalsBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9B03D8061BB3110D00B764C9 /* StreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StreamInternalsBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltins.h; sourceTree = "<group>"; };
</span><del>-                9B03D8061BB3110D00B73F64 /* ReadableByteStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableByteStreamInternalsBuiltins.h; sourceTree = "<group>"; };
</del><span class="cx">                 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9B03D8061BB3110D00B764E8 /* WritableStreamBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritableStreamBuiltins.h; sourceTree = "<group>"; };
</span><span class="cx">                 9B03D8061BB3110D00B764E9 /* WritableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritableStreamInternalsBuiltins.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -17333,8 +17333,6 @@
</span><span class="cx">                                 44A28AAE12DFB8BF00AE923B /* MathMLNames.h */,
</span><span class="cx">                                 71E2183817359FB8006E6E4D /* PlugInsResources.h */,
</span><span class="cx">                                 71E2183917359FB8006E6E4D /* PlugInsResourcesData.cpp */,
</span><del>-                                9908B0FA1BCAD07D00763F64 /* ReadableByteStreamControllerBuiltins.cpp */,
-                                9908B0FB1BCAD07D00763F64 /* ReadableByteStreamControllerBuiltins.h */,
</del><span class="cx">                                 9908B0FD1BCAD07D00ED3F64 /* ReadableByteStreamInternalsBuiltins.cpp */,
</span><span class="cx">                                 9B03D8061BB3110D00B73F64 /* ReadableByteStreamInternalsBuiltins.h */,
</span><span class="cx">                                 9908B0F91BCAD07D00ED0F65 /* ReadableStreamBuiltins.cpp */,
</span><span class="lines">@@ -17870,6 +17868,8 @@
</span><span class="cx">                                 716FA0E41DB26591007323CC /* icon-service.js */,
</span><span class="cx">                                 716FA0E51DB26591007323CC /* layout-item.js */,
</span><span class="cx">                                 716FA0E61DB26591007323CC /* layout-node.js */,
</span><ins>+                                712157C01DCCCA0700AA7A92 /* macos-fullscreen-media-controls.css */,
+                                712157C11DCCCA0700AA7A92 /* macos-fullscreen-media-controls.js */,
</ins><span class="cx">                                 716FA0E71DB26591007323CC /* macos-inline-media-controls.css */,
</span><span class="cx">                                 716FA0E81DB26591007323CC /* macos-inline-media-controls.js */,
</span><span class="cx">                                 716FA0E91DB26591007323CC /* macos-media-controls.js */,
</span><span class="lines">@@ -25077,7 +25077,6 @@
</span><span class="cx">                                 BC1BDF25156C18C7001C1243 /* DOMError.h in Headers */,
</span><span class="cx">                                 2ED609BD1145B07100C8684E /* DOMFormData.h in Headers */,
</span><span class="cx">                                 A8185F3B09765766005826D9 /* DOMImplementation.h in Headers */,
</span><del>-                                E35CA14E1DBC3A4200F83516 /* DOMJITAbstractHeapRepository.h in Headers */,
</del><span class="cx">                                 E3150EA71DA7219300194012 /* DOMJITHelpers.h in Headers */,
</span><span class="cx">                                 A9C6E4E40D745E05006442E9 /* DOMMimeType.h in Headers */,
</span><span class="cx">                                 A9C6E4E80D745E18006442E9 /* DOMMimeTypeArray.h in Headers */,
</span><span class="lines">@@ -26791,9 +26790,9 @@
</span><span class="cx">                                 F55B3DCE1251F12D003EF269 /* RangeInputType.h in Headers */,
</span><span class="cx">                                 6E84E9E117668BF100815B68 /* RasterShape.h in Headers */,
</span><span class="cx">                                 A84D827C11D333ED00972990 /* RawDataDocumentParser.h in Headers */,
</span><del>-                                416E6FE81BBD12DF000A3F64 /* ReadableByteStreamInternalsBuiltins.h in Headers */,
</del><ins>+                                416E6FE81BBD12DF000A3F64 /* ReadableStreamInternalsBuiltins.h in Headers */,
</ins><span class="cx">                                 416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */,
</span><del>-                                416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */,
</del><ins>+                                416E6FE81BBD12DF000A6043 /* ReadableByteStreamInternalsBuiltins.h in Headers */,
</ins><span class="cx">                                 FD31603C12B0267600C1A359 /* RealtimeAnalyser.h in Headers */,
</span><span class="cx">                                 4A4F65711AA997F100E38CDD /* RealtimeMediaSource.h in Headers */,
</span><span class="cx">                                 4A4F65721AA997F100E38CDD /* RealtimeMediaSourceCapabilities.h in Headers */,
</span><span class="lines">@@ -28834,7 +28833,6 @@
</span><span class="cx">                                 BC1BDF24156C1883001C1243 /* DOMError.cpp in Sources */,
</span><span class="cx">                                 2ED609BC1145B07100C8684E /* DOMFormData.cpp in Sources */,
</span><span class="cx">                                 A8185F3E09765766005826D9 /* DOMImplementation.cpp in Sources */,
</span><del>-                                E35CA14D1DBC3A3F00F83516 /* DOMJITAbstractHeapRepository.cpp in Sources */,
</del><span class="cx">                                 A9C6E4E30D745E05006442E9 /* DOMMimeType.cpp in Sources */,
</span><span class="cx">                                 A9C6E4E70D745E18006442E9 /* DOMMimeTypeArray.cpp in Sources */,
</span><span class="cx">                                 52B6C9C215E3F4DF00690B05 /* DOMNamedFlowCollection.cpp in Sources */,
</span></span></pre>
</div>
</div>
</body>
</html>