<!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>[199174] 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/199174">199174</a></dd>
<dt>Author</dt> <dd>adachan@apple.com</dd>
<dt>Date</dt> <dd>2016-04-07 13:04:16 -0700 (Thu, 07 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename TextTrackRepresentationiOS to TextTrackRepresentationCocoa and enable on Mac
https://bugs.webkit.org/show_bug.cgi?id=156245

Reviewed by Eric Carlson.

Source/WebCore:

* Modules/mediacontrols/mediaControlsApple.css:
(::-webkit-media-controls):
Match iOS and specify overflow: hidden on the -webkit-media-controls container.
(video::-webkit-media-text-track-container):
Match iOS and specify z-index: 0 on the text track container.

* WebCore.xcodeproj/project.pbxproj:
TextTrackRepresentationiOS.h/mm have been renamed to TextTrackRepresentationCocoa.h/mm.

* platform/graphics/TextTrackRepresentation.cpp:
* platform/graphics/cocoa/TextTrackRepresentationCocoa.h: Renamed from Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h.
* platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: Renamed from Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm.
(-[WebCoreTextTrackRepresentationCocoaHelper initWithParent:]):
(-[WebCoreTextTrackRepresentationCocoaHelper dealloc]):
(-[WebCoreTextTrackRepresentationCocoaHelper setParent:]):
(-[WebCoreTextTrackRepresentationCocoaHelper parent]):
(-[WebCoreTextTrackRepresentationCocoaHelper observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreTextTrackRepresentationCocoaHelper actionForLayer:forKey:]):
(TextTrackRepresentation::create):
(TextTrackRepresentationCocoa::TextTrackRepresentationCocoa):
(TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa):
(TextTrackRepresentationCocoa::update):
(TextTrackRepresentationCocoa::setContentScale):
(TextTrackRepresentationCocoa::bounds):

LayoutTests:

* platform/mac/TestExpectations:
Skip some tests with assertions after changes in MediaControlsApple.css.

* platform/mac/media/media-document-audio-repaint-expected.txt:
* platform/mac/media/video-zoom-controls-expected.txt:
Rebaseline some tests after changes in MediaControlsApple.css.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacmediamediadocumentaudiorepaintexpectedtxt">trunk/LayoutTests/platform/mac/media/media-document-audio-repaint-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmediavideozoomcontrolsexpectedtxt">trunk/LayoutTests/platform/mac/media/video-zoom-controls-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsmediaControlsApplecss">trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsTextTrackRepresentationcpp">trunk/Source/WebCore/platform/graphics/TextTrackRepresentation.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaTextTrackRepresentationCocoah">trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaTextTrackRepresentationCocoamm">trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformgraphicsiosTextTrackRepresentationIOSh">trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsiosTextTrackRepresentationIOSmm">trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/LayoutTests/ChangeLog        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-04-06  Ada Chan  &lt;adachan@apple.com&gt;
+
+        Rename TextTrackRepresentationiOS to TextTrackRepresentationCocoa and enable on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=156245
+
+        Reviewed by Eric Carlson.
+
+        * platform/mac/TestExpectations:
+        Skip some tests with assertions after changes in MediaControlsApple.css.
+
+        * platform/mac/media/media-document-audio-repaint-expected.txt:
+        * platform/mac/media/video-zoom-controls-expected.txt:
+        Rebaseline some tests after changes in MediaControlsApple.css.
+
</ins><span class="cx"> 2016-04-07  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         CSP: Remove tests for unimplemented directive referrer
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -1326,3 +1326,13 @@
</span><span class="cx"> webkit.org/b/156112 [ ElCapitan ] media/controls-without-preload.html [ Pass Failure ]
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/156351 storage/indexeddb/modern/autoincrement-abort-private.html [ Pass Timeout ]
</span><ins>+
+webkit.org/b/156320 fast/regions/inline-block-inside-anonymous-overflow.html [ ImageOnlyFailure ]
+
+# Assertions in FrameView::scheduleRelayoutOfSubtree()
+webkit.org/b/156349 [ Debug ] http/tests/appcache/video.html [ Skip ]
+webkit.org/b/156349 [ Debug ] media/track/track-active-cues.html [ Skip ]
+webkit.org/b/156349 [ Debug ] media/track/track-in-band.html [ Skip ]
+webkit.org/b/156349 [ Debug ] media/track/video-track-alternate-groups.html [ Skip ]
+webkit.org/b/156349 [ Debug ] media/track/video-track.html [ Skip ]
+webkit.org/b/156349 [ Debug ] media/video-src-empty.html [ Skip ]
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacmediamediadocumentaudiorepaintexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/media/media-document-audio-repaint-expected.txt (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/media/media-document-audio-repaint-expected.txt        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/LayoutTests/platform/mac/media/media-document-audio-repaint-expected.txt        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -21,38 +21,13 @@
</span><span class="cx">       RenderVideo {VIDEO} at (40,164) size 300x2
</span><span class="cx">     layer at (40,165) size 300x1
</span><span class="cx">       RenderFlexibleBox {DIV} at (0,0) size 300x1
</span><del>-    layer at (40,121) size 300x45
</del><ins>+    layer at (40,121) size 300x45 backgroundClip at (40,165) size 300x1 clip at (40,165) size 300x1
</ins><span class="cx">       RenderFlexibleBox {DIV} at (0,-44) size 300x45
</span><del>-    layer at (40,121) size 300x45 isolatesBlending
</del><ins>+    layer at (40,121) size 300x45 backgroundClip at (40,165) size 300x1 clip at (40,165) size 300x1 isolatesBlending
</ins><span class="cx">       RenderBlock (positioned) {DIV} at (0,0) size 300x45
</span><del>-    layer at (40,121) size 300x45
</del><ins>+    layer at (40,121) size 300x45 backgroundClip at (40,165) size 300x1 clip at (40,165) size 300x1
</ins><span class="cx">       RenderBlock (positioned) {DIV} at (0,0) size 300x45 [bgcolor=#1E1E1E73]
</span><del>-    layer at (40,121) size 300x45 blendMode: lighten
</del><ins>+    layer at (40,121) size 300x45 backgroundClip at (40,165) size 300x1 clip at (40,165) size 300x1 blendMode: lighten
</ins><span class="cx">       RenderBlock (positioned) {DIV} at (0,0) size 300x45 [bgcolor=#292929]
</span><del>-    layer at (48,146) size 12x15 blendMode: plus-lighter
-      RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
-    layer at (76,145) size 16x15 blendMode: plus-lighter
-      RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
-    layer at (100,145) size 210x17
-      RenderFlexibleBox {DIV} at (60,24) size 210x17
-    layer at (108,146) size 32x13 blendMode: plus-lighter
-      RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
-        RenderBlock (anonymous) at (2,0) size 30x13
-          RenderText {#text} at (0,0) size 30x13
-            text run at (0,0) width 30: &quot;00:00&quot;
-    layer at (150,145) size 105x17
-      RenderFlexibleBox {DIV} at (50,0) size 105x17
-    layer at (150,145) size 105x17 blendMode: plus-lighter
-      RenderSlider {INPUT} at (0,0) size 105x17 [color=#909090]
-        RenderFlexibleBox {DIV} at (0,0) size 105x17
-          RenderBlock {DIV} at (0,1) size 105x15
-            RenderBlock {DIV} at (50,0) size 4x15
-    layer at (265,146) size 37x13 blendMode: plus-lighter
-      RenderFlexibleBox {DIV} at (165,2) size 37x13 [color=#FFFFFF]
-        RenderBlock (anonymous) at (0,0) size 35x13
-          RenderText {#text} at (0,0) size 35x13
-            text run at (0,0) width 35: &quot;-00:00&quot;
-    layer at (318,141) size 14x25
</del><ins>+    layer at (318,141) size 14x25 backgroundClip at (40,165) size 300x1 clip at (40,165) size 300x1
</ins><span class="cx">       RenderFlexibleBox {DIV} at (278,20) size 14x25
</span><del>-    layer at (318,146) size 14x15 blendMode: plus-lighter
-      RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
</del></span></pre></div>
<a id="trunkLayoutTestsplatformmacmediavideozoomcontrolsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/media/video-zoom-controls-expected.txt (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/media/video-zoom-controls-expected.txt        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/LayoutTests/platform/mac/media/video-zoom-controls-expected.txt        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -12,17 +12,17 @@
</span><span class="cx">   RenderFlexibleBox {DIV} at (0,0) size 240x180
</span><span class="cx"> layer at (57,198) size 240x67
</span><span class="cx">   RenderFlexibleBox {DIV} at (0,112) size 240x68
</span><del>-layer at (57,198) size 240x68 isolatesBlending
</del><ins>+layer at (57,198) size 240x68 backgroundClip at (57,85) size 240x180 clip at (57,85) size 240x180 isolatesBlending
</ins><span class="cx">   RenderBlock (positioned) {DIV} at (0,0) size 240x68
</span><del>-layer at (57,198) size 240x68
</del><ins>+layer at (57,198) size 240x68 backgroundClip at (57,85) size 240x180 clip at (57,85) size 240x180
</ins><span class="cx">   RenderBlock (positioned) {DIV} at (0,0) size 240x68 [bgcolor=#1E1E1E73]
</span><del>-layer at (57,198) size 240x68 blendMode: lighten
</del><ins>+layer at (57,198) size 240x68 backgroundClip at (57,85) size 240x180 clip at (57,85) size 240x180 blendMode: lighten
</ins><span class="cx">   RenderBlock (positioned) {DIV} at (0,0) size 240x68 [bgcolor=#292929]
</span><span class="cx"> layer at (69,235) size 18x22 blendMode: plus-lighter
</span><span class="cx">   RenderButton {BUTTON} at (12,37) size 18x23 [color=#FFFFFF]
</span><span class="cx"> layer at (111,234) size 24x22 blendMode: plus-lighter
</span><span class="cx">   RenderButton {BUTTON} at (54,36) size 24x24 [color=#FFFFFF]
</span><del>-layer at (221,228) size 21x38
</del><ins>+layer at (221,228) size 21x38 backgroundClip at (57,85) size 240x180 clip at (57,85) size 240x180
</ins><span class="cx">   RenderFlexibleBox {DIV} at (163,30) size 22x38
</span><span class="cx"> layer at (221,235) size 21x22 blendMode: plus-lighter
</span><span class="cx">   RenderButton {BUTTON} at (0,7) size 21x23 [color=#FFFFFF]
</span><span class="lines">@@ -32,21 +32,21 @@
</span><span class="cx">   RenderVideo {VIDEO} at (45,298) size 240x180
</span><span class="cx"> layer at (57,310) size 240x180
</span><span class="cx">   RenderFlexibleBox {DIV} at (0,0) size 240x180
</span><del>-layer at (57,423) size 240x67
</del><ins>+layer at (57,423) size 240x67 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180
</ins><span class="cx">   RenderFlexibleBox {DIV} at (0,112) size 240x68
</span><del>-layer at (57,423) size 240x68 isolatesBlending
</del><ins>+layer at (57,423) size 240x68 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180 isolatesBlending
</ins><span class="cx">   RenderBlock (positioned) {DIV} at (0,0) size 240x68
</span><del>-layer at (57,423) size 240x68
</del><ins>+layer at (57,423) size 240x68 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180
</ins><span class="cx">   RenderBlock (positioned) {DIV} at (0,0) size 240x68 [bgcolor=#1E1E1E73]
</span><del>-layer at (57,423) size 240x68 blendMode: lighten
</del><ins>+layer at (57,423) size 240x68 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180 blendMode: lighten
</ins><span class="cx">   RenderBlock (positioned) {DIV} at (0,0) size 240x68 [bgcolor=#292929]
</span><del>-layer at (69,460) size 18x22 blendMode: plus-lighter
</del><ins>+layer at (69,460) size 18x22 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180 blendMode: plus-lighter
</ins><span class="cx">   RenderButton {BUTTON} at (12,37) size 18x23 [color=#FFFFFF]
</span><del>-layer at (111,459) size 24x22 blendMode: plus-lighter
</del><ins>+layer at (111,459) size 24x22 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180 blendMode: plus-lighter
</ins><span class="cx">   RenderButton {BUTTON} at (54,36) size 24x24 [color=#FFFFFF]
</span><del>-layer at (221,453) size 21x38
</del><ins>+layer at (221,453) size 21x38 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180
</ins><span class="cx">   RenderFlexibleBox {DIV} at (163,30) size 22x38
</span><del>-layer at (221,460) size 21x22 blendMode: plus-lighter
</del><ins>+layer at (221,460) size 21x22 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180 blendMode: plus-lighter
</ins><span class="cx">   RenderButton {BUTTON} at (0,7) size 21x23 [color=#FFFFFF]
</span><del>-layer at (266,460) size 21x22 blendMode: plus-lighter
</del><ins>+layer at (266,460) size 21x22 backgroundClip at (74,291) size 240x180 clip at (74,291) size 240x180 blendMode: plus-lighter
</ins><span class="cx">   RenderButton {BUTTON} at (208,37) size 22x23 [color=#FFFFFF]
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/Source/WebCore/ChangeLog        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2016-04-05  Ada Chan  &lt;adachan@apple.com&gt;
+
+        Rename TextTrackRepresentationiOS to TextTrackRepresentationCocoa and enable on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=156245
+
+        Reviewed by Eric Carlson.
+
+        * Modules/mediacontrols/mediaControlsApple.css:
+        (::-webkit-media-controls):
+        Match iOS and specify overflow: hidden on the -webkit-media-controls container.
+        (video::-webkit-media-text-track-container):
+        Match iOS and specify z-index: 0 on the text track container.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        TextTrackRepresentationiOS.h/mm have been renamed to TextTrackRepresentationCocoa.h/mm.
+
+        * platform/graphics/TextTrackRepresentation.cpp:
+        * platform/graphics/cocoa/TextTrackRepresentationCocoa.h: Renamed from Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h.
+        * platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: Renamed from Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm.
+        (-[WebCoreTextTrackRepresentationCocoaHelper initWithParent:]):
+        (-[WebCoreTextTrackRepresentationCocoaHelper dealloc]):
+        (-[WebCoreTextTrackRepresentationCocoaHelper setParent:]):
+        (-[WebCoreTextTrackRepresentationCocoaHelper parent]):
+        (-[WebCoreTextTrackRepresentationCocoaHelper observeValueForKeyPath:ofObject:change:context:]):
+        (-[WebCoreTextTrackRepresentationCocoaHelper actionForLayer:forKey:]):
+        (TextTrackRepresentation::create):
+        (TextTrackRepresentationCocoa::TextTrackRepresentationCocoa):
+        (TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa):
+        (TextTrackRepresentationCocoa::update):
+        (TextTrackRepresentationCocoa::setContentScale):
+        (TextTrackRepresentationCocoa::bounds):
+
</ins><span class="cx"> 2016-04-07  Brian Burg  &lt;bburg@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         CookieJar should support adding synthetic cookies for developer tools
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsmediaControlsApplecss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx">     font: -webkit-small-control;
</span><span class="cx">     white-space: nowrap;
</span><span class="cx">     -webkit-font-smoothing: subpixel-antialiased;
</span><ins>+    overflow: hidden;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> video::-webkit-media-text-track-container,
</span><span class="lines">@@ -870,6 +871,7 @@
</span><span class="cx">     width: 100%;
</span><span class="cx">     overflow: hidden;
</span><span class="cx">     padding-bottom: 5px;
</span><ins>+    z-index: 0;
</ins><span class="cx"> 
</span><span class="cx">     text-align: center;
</span><span class="cx">     color: rgba(255, 255, 255, 1);
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -2233,6 +2233,7 @@
</span><span class="cx">                 52131E5B1C4F15760033F802 /* WebVideoFullscreenInterfaceMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52131E5A1C4F15610033F802 /* WebVideoFullscreenInterfaceMac.mm */; };
</span><span class="cx">                 521D46F611AEC98100514613 /* KillRingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 521D46F511AEC98100514613 /* KillRingMac.mm */; };
</span><span class="cx">                 521D46F811AEC9B100514613 /* KillRing.h in Headers */ = {isa = PBXBuildFile; fileRef = 521D46F711AEC9B100514613 /* KillRing.h */; };
</span><ins>+                526724F31CB2FEAD0075974D /* TextTrackRepresentationCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 526724F11CB2FDF60075974D /* TextTrackRepresentationCocoa.mm */; };
</ins><span class="cx">                 52B0D4BE1C57FD1E0077CE53 /* PlatformView.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B0D4BD1C57FD1E0077CE53 /* PlatformView.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 52B0D4C01C57FD660077CE53 /* WebVideoFullscreenChangeObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B0D4BF1C57FD660077CE53 /* WebVideoFullscreenChangeObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 52B0D4C21C57FF910077CE53 /* WebVideoFullscreenInterfaceMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B0D4C11C57FF910077CE53 /* WebVideoFullscreenInterfaceMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -6126,7 +6127,6 @@
</span><span class="cx">                 CDC8B5AD1804AE5D0016E685 /* SourceBufferPrivateClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CDC8B5AC1804AE5D0016E685 /* SourceBufferPrivateClient.h */; };
</span><span class="cx">                 CDC979F41C498C0900DB50D4 /* WebCoreNSErrorExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDC979F21C498C0900DB50D4 /* WebCoreNSErrorExtras.mm */; };
</span><span class="cx">                 CDC979F51C498C0900DB50D4 /* WebCoreNSErrorExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = CDC979F31C498C0900DB50D4 /* WebCoreNSErrorExtras.h */; };
</span><del>-                CDCA82961679100F00875714 /* TextTrackRepresentationIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDCA82941679100F00875714 /* TextTrackRepresentationIOS.mm */; };
</del><span class="cx">                 CDCA98EB18B2C8EB00C12FF9 /* CDMPrivateMediaPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDCA98EA18B2C8EB00C12FF9 /* CDMPrivateMediaPlayer.cpp */; };
</span><span class="cx">                 CDCD41E71C3DDB0900965D99 /* ParsedContentRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDCD41E51C3DDB0900965D99 /* ParsedContentRange.cpp */; };
</span><span class="cx">                 CDCD41E81C3DDB0A00965D99 /* ParsedContentRange.h in Headers */ = {isa = PBXBuildFile; fileRef = CDCD41E61C3DDB0900965D99 /* ParsedContentRange.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -9803,6 +9803,8 @@
</span><span class="cx">                 52131E5A1C4F15610033F802 /* WebVideoFullscreenInterfaceMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebVideoFullscreenInterfaceMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 521D46F511AEC98100514613 /* KillRingMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = KillRingMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 521D46F711AEC9B100514613 /* KillRing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KillRing.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                526724F11CB2FDF60075974D /* TextTrackRepresentationCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TextTrackRepresentationCocoa.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                526724F21CB2FDF60075974D /* TextTrackRepresentationCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextTrackRepresentationCocoa.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 52B0D4BD1C57FD1E0077CE53 /* PlatformView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformView.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 52B0D4BF1C57FD660077CE53 /* WebVideoFullscreenChangeObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVideoFullscreenChangeObserver.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 52B0D4C11C57FF910077CE53 /* WebVideoFullscreenInterfaceMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVideoFullscreenInterfaceMac.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14120,7 +14122,6 @@
</span><span class="cx">                 CDC8B5AC1804AE5D0016E685 /* SourceBufferPrivateClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceBufferPrivateClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CDC979F21C498C0900DB50D4 /* WebCoreNSErrorExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCoreNSErrorExtras.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CDC979F31C498C0900DB50D4 /* WebCoreNSErrorExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreNSErrorExtras.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                CDCA82941679100F00875714 /* TextTrackRepresentationIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TextTrackRepresentationIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 CDCA98E918B2C8D000C12FF9 /* CDMPrivateMediaPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDMPrivateMediaPlayer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CDCA98EA18B2C8EB00C12FF9 /* CDMPrivateMediaPlayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CDMPrivateMediaPlayer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CDCD41E51C3DDB0900965D99 /* ParsedContentRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParsedContentRange.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14239,7 +14240,6 @@
</span><span class="cx">                 CED06ACF1C77754800FDFAF1 /* JSSecurityPolicyViolationEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSecurityPolicyViolationEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CEDA12D6152CA1CB00D9E08D /* AlternativeTextClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AlternativeTextClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CEE27ACA1BBB53A20072400A /* pthreadSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pthreadSPI.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                CEEC6034187DD962003E43BB /* TextTrackRepresentationIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextTrackRepresentationIOS.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 CEEFCD7719DB31F7003876D7 /* MediaResourceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaResourceLoader.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CEEFCD7819DB31F7003876D7 /* MediaResourceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaResourceLoader.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CEEFCD7B19DB33DC003876D7 /* PlatformMediaResourceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformMediaResourceLoader.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16896,8 +16896,6 @@
</span><span class="cx">                                 C58361A81744523F00173511 /* FontServicesIOS.mm */,
</span><span class="cx">                                 31AB4FFF122878A2001A7DB0 /* GraphicsContext3DIOS.h */,
</span><span class="cx">                                 FED13D3F0CEA939400D89466 /* IconIOS.mm */,
</span><del>-                                CEEC6034187DD962003E43BB /* TextTrackRepresentationIOS.h */,
-                                CDCA82941679100F00875714 /* TextTrackRepresentationIOS.mm */,
</del><span class="cx">                         );
</span><span class="cx">                         path = ios;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -22174,6 +22172,8 @@
</span><span class="cx">                                 2D0B4AA918DA1CCD00434DE1 /* IOSurface.h */,
</span><span class="cx">                                 2D0B4AAA18DA1CCD00434DE1 /* IOSurface.mm */,
</span><span class="cx">                                 AD9FF6E01908391D003B61E0 /* IOSurfacePoolCocoa.mm */,
</span><ins>+                                526724F11CB2FDF60075974D /* TextTrackRepresentationCocoa.mm */,
+                                526724F21CB2FDF60075974D /* TextTrackRepresentationCocoa.h */,
</ins><span class="cx">                                 2D3EF4441917915C00034184 /* WebActionDisablingCALayerDelegate.h */,
</span><span class="cx">                                 2D3EF4451917915C00034184 /* WebActionDisablingCALayerDelegate.mm */,
</span><span class="cx">                                 2D3EF4461917915C00034184 /* WebCoreCALayerExtras.h */,
</span><span class="lines">@@ -31800,7 +31800,7 @@
</span><span class="cx">                                 076970861463AD8700F502CF /* TextTrackList.cpp in Sources */,
</span><span class="cx">                                 B1AD4E7313A12A4600846B27 /* TextTrackLoader.cpp in Sources */,
</span><span class="cx">                                 CD1E7347167BC78E009A885D /* TextTrackRepresentation.cpp in Sources */,
</span><del>-                                CDCA82961679100F00875714 /* TextTrackRepresentationIOS.mm in Sources */,
</del><ins>+                                526724F31CB2FEAD0075974D /* TextTrackRepresentationCocoa.mm in Sources */,
</ins><span class="cx">                                 29498683195341940072D2BD /* TextUndoInsertionMarkupMac.mm in Sources */,
</span><span class="cx">                                 498770F01242C535002226BA /* Texture.cpp in Sources */,
</span><span class="cx">                                 CD9D82751C7AE535006FF066 /* TextureCacheCV.mm in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsTextTrackRepresentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/TextTrackRepresentation.cpp (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/TextTrackRepresentation.cpp        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/Source/WebCore/platform/graphics/TextTrackRepresentation.cpp        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     virtual IntRect bounds() const { return IntRect(); }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#if !(PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; ENABLE(VIDEO_PRESENTATION_MODE)))
</ins><span class="cx"> 
</span><span class="cx"> std::unique_ptr&lt;TextTrackRepresentation&gt; TextTrackRepresentation::create(TextTrackRepresentationClient&amp;)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaTextTrackRepresentationCocoahfromrev199173trunkSourceWebCoreplatformgraphicsiosTextTrackRepresentationIOSh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.h (from rev 199173, trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h) (0 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.h                                (rev 0)
+++ trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.h        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+/*
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef TextTrackRepresentationCocoa_h
+#define TextTrackRepresentationCocoa_h
+
+#if (PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; ENABLE(VIDEO_PRESENTATION_MODE))) &amp;&amp; ENABLE(VIDEO_TRACK)
+
+#import &quot;TextTrackRepresentation.h&quot;
+#import &lt;QuartzCore/CALayer.h&gt;
+#import &lt;wtf/RetainPtr.h&gt;
+
+@class WebCoreTextTrackRepresentationCocoaHelper;
+
+namespace WebCore {
+
+class TextTrackRepresentationCocoa final : public TextTrackRepresentation {
+public:
+    explicit TextTrackRepresentationCocoa(TextTrackRepresentationClient&amp;);
+    virtual ~TextTrackRepresentationCocoa();
+
+    TextTrackRepresentationClient&amp; client() const { return m_client; }
+
+    PlatformLayer* platformLayer() override { return m_layer.get(); }
+    IntRect bounds() const override;
+
+private:
+    void update() override;
+    void setContentScale(float) override;
+
+    TextTrackRepresentationClient&amp; m_client;
+    RetainPtr&lt;CALayer&gt; m_layer;
+    RetainPtr&lt;WebCoreTextTrackRepresentationCocoaHelper&gt; m_delegate;
+};
+
+}
+
+#endif // (PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; ENABLE(VIDEO_PRESENTATION_MODE))) &amp;&amp; ENABLE(VIDEO_TRACK)
+
+#endif // TextTrackRepresentationCocoa_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaTextTrackRepresentationCocoammfromrev199173trunkSourceWebCoreplatformgraphicsiosTextTrackRepresentationIOSmm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm (from rev 199173, trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm) (0 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm                                (rev 0)
+++ trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -0,0 +1,143 @@
</span><ins>+/*
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+
+#if (PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; ENABLE(VIDEO_PRESENTATION_MODE))) &amp;&amp; ENABLE(VIDEO_TRACK)
+#include &quot;TextTrackRepresentationCocoa.h&quot;
+
+#include &quot;FloatRect.h&quot;
+#include &quot;GraphicsContextCG.h&quot;
+#include &quot;IntRect.h&quot;
+
+#if PLATFORM(IOS)
+#include &quot;WebCoreThread.h&quot;
+#include &quot;WebCoreThreadRun.h&quot;
+#endif
+
+using namespace WebCore;
+
+@interface WebCoreTextTrackRepresentationCocoaHelper : NSObject {
+    TextTrackRepresentationCocoa* _parent;
+}
+- (id)initWithParent:(TextTrackRepresentationCocoa*)parent;
+@property (assign) TextTrackRepresentationCocoa* parent;
+@end
+
+@implementation WebCoreTextTrackRepresentationCocoaHelper
+- (id)initWithParent:(TextTrackRepresentationCocoa*)parent
+{
+    if (!(self = [super init]))
+        return nil;
+
+    self.parent = parent;
+
+    return self;
+}
+
+- (void)dealloc
+{
+    self.parent = nullptr;
+    [super dealloc];
+}
+
+- (void)setParent:(TextTrackRepresentationCocoa*)parent
+{
+    if (_parent)
+        [_parent-&gt;platformLayer() removeObserver:self forKeyPath:@&quot;bounds&quot;];
+
+    _parent = parent;
+
+    if (_parent)
+        [_parent-&gt;platformLayer() addObserver:self forKeyPath:@&quot;bounds&quot; options:0 context:0];
+}
+
+- (TextTrackRepresentationCocoa*)parent
+{
+    return _parent;
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
+{
+    UNUSED_PARAM(change);
+    UNUSED_PARAM(context);
+#if PLATFORM(IOS)
+    WebThreadRun(^{
+        if (_parent &amp;&amp; [keyPath isEqual:@&quot;bounds&quot;] &amp;&amp; object == _parent-&gt;platformLayer())
+            _parent-&gt;client().textTrackRepresentationBoundsChanged(_parent-&gt;bounds());
+    });
+#else
+    if (_parent &amp;&amp; [keyPath isEqual:@&quot;bounds&quot;] &amp;&amp; object == _parent-&gt;platformLayer())
+        _parent-&gt;client().textTrackRepresentationBoundsChanged(_parent-&gt;bounds());
+#endif
+}
+
+- (id)actionForLayer:(CALayer *)layer forKey:(NSString *)event
+{
+    UNUSED_PARAM(layer);
+    UNUSED_PARAM(event);
+    // Returning a NSNull from this delegate method disables all implicit CALayer actions.
+    return [NSNull null];
+}
+
+@end
+
+std::unique_ptr&lt;TextTrackRepresentation&gt; TextTrackRepresentation::create(TextTrackRepresentationClient&amp; client)
+{
+    return std::make_unique&lt;TextTrackRepresentationCocoa&gt;(client);
+}
+
+TextTrackRepresentationCocoa::TextTrackRepresentationCocoa(TextTrackRepresentationClient&amp; client)
+    : m_client(client)
+    , m_layer(adoptNS([[CALayer alloc] init]))
+    , m_delegate(adoptNS([[WebCoreTextTrackRepresentationCocoaHelper alloc] initWithParent:this]))
+{
+    [m_layer.get() setDelegate:m_delegate.get()];
+    [m_layer.get() setContentsGravity:kCAGravityBottom];
+}
+
+TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa()
+{
+    [m_layer.get() setDelegate:nil];
+    [m_delegate.get() setParent:nullptr];
+}
+
+void TextTrackRepresentationCocoa::update()
+{
+    if (auto representation = m_client.createTextTrackRepresentationImage())
+        [m_layer.get() setContents:(id)representation-&gt;getCGImageRef()];
+}
+
+void TextTrackRepresentationCocoa::setContentScale(float scale)
+{
+    [m_layer.get() setContentsScale:scale];
+}
+
+IntRect TextTrackRepresentationCocoa::bounds() const
+{
+    return enclosingIntRect(FloatRect([m_layer.get() bounds]));
+}
+
+#endif // (PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; ENABLE(VIDEO_PRESENTATION_MODE))) &amp;&amp; ENABLE(VIDEO_TRACK)
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsiosTextTrackRepresentationIOSh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -1,62 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef TextTrackRepresentationIOS_h
-#define TextTrackRepresentationIOS_h
-
-#if PLATFORM(IOS) &amp;&amp; ENABLE(VIDEO_TRACK)
-
-#import &quot;TextTrackRepresentation.h&quot;
-#import &lt;QuartzCore/CALayer.h&gt;
-#import &lt;wtf/RetainPtr.h&gt;
-
-@class WebCoreTextTrackRepresentationIOSHelper;
-
-namespace WebCore {
-
-class TextTrackRepresentationIOS final : public TextTrackRepresentation {
-public:
-    explicit TextTrackRepresentationIOS(TextTrackRepresentationClient&amp;);
-    virtual ~TextTrackRepresentationIOS();
-
-    TextTrackRepresentationClient&amp; client() const { return m_client; }
-
-    PlatformLayer* platformLayer() override { return m_layer.get(); }
-    IntRect bounds() const override;
-
-private:
-    void update() override;
-    void setContentScale(float) override;
-
-    TextTrackRepresentationClient&amp; m_client;
-    RetainPtr&lt;CALayer&gt; m_layer;
-    RetainPtr&lt;WebCoreTextTrackRepresentationIOSHelper&gt; m_delegate;
-};
-
-}
-
-#endif // PLATFORM(IOS) &amp;&amp; ENABLE(VIDEO_TRACK)
-
-#endif // TextTrackRepresentationIOS_h
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsiosTextTrackRepresentationIOSmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm (199173 => 199174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm        2016-04-07 19:57:07 UTC (rev 199173)
+++ trunk/Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm        2016-04-07 20:04:16 UTC (rev 199174)
</span><span class="lines">@@ -1,136 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if PLATFORM(IOS) &amp;&amp; ENABLE(VIDEO_TRACK)
-
-#include &quot;TextTrackRepresentationIOS.h&quot;
-
-#include &quot;FloatRect.h&quot;
-#include &quot;GraphicsContextCG.h&quot;
-#include &quot;IntRect.h&quot;
-#include &quot;WebCoreThread.h&quot;
-#include &quot;WebCoreThreadRun.h&quot;
-
-using namespace WebCore;
-
-@interface WebCoreTextTrackRepresentationIOSHelper : NSObject {
-    TextTrackRepresentationIOS* _parent;
-}
-- (id)initWithParent:(TextTrackRepresentationIOS*)parent;
-@property (assign) TextTrackRepresentationIOS* parent;
-@end
-
-@implementation WebCoreTextTrackRepresentationIOSHelper
-- (id)initWithParent:(TextTrackRepresentationIOS*)parent
-{
-    if (!(self = [super init]))
-        return nil;
-
-    self.parent = parent;
-
-    return self;
-}
-
-- (void)dealloc
-{
-    self.parent = nullptr;
-    [super dealloc];
-}
-
-- (void)setParent:(TextTrackRepresentationIOS*)parent
-{
-    if (_parent)
-        [_parent-&gt;platformLayer() removeObserver:self forKeyPath:@&quot;bounds&quot;];
-
-    _parent = parent;
-
-    if (_parent)
-        [_parent-&gt;platformLayer() addObserver:self forKeyPath:@&quot;bounds&quot; options:0 context:0];
-}
-
-- (TextTrackRepresentationIOS*)parent
-{
-    return _parent;
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
-{
-    UNUSED_PARAM(change);
-    UNUSED_PARAM(context);
-    WebThreadRun(^{
-        if (_parent &amp;&amp; [keyPath isEqual:@&quot;bounds&quot;] &amp;&amp; object == _parent-&gt;platformLayer())
-            _parent-&gt;client().textTrackRepresentationBoundsChanged(_parent-&gt;bounds());
-    });
-}
-
-- (id)actionForLayer:(CALayer *)layer forKey:(NSString *)event
-{
-    UNUSED_PARAM(layer);
-    UNUSED_PARAM(event);
-    // Returning a NSNull from this delegate method disables all implicit CALayer actions.
-    return [NSNull null];
-}
-
-@end
-
-std::unique_ptr&lt;TextTrackRepresentation&gt; TextTrackRepresentation::create(TextTrackRepresentationClient&amp; client)
-{
-    return std::make_unique&lt;TextTrackRepresentationIOS&gt;(client);
-}
-
-TextTrackRepresentationIOS::TextTrackRepresentationIOS(TextTrackRepresentationClient&amp; client)
-    : m_client(client)
-    , m_layer(adoptNS([[CALayer alloc] init]))
-    , m_delegate(adoptNS([[WebCoreTextTrackRepresentationIOSHelper alloc] initWithParent:this]))
-{
-    [m_layer.get() setDelegate:m_delegate.get()];
-    [m_layer.get() setContentsGravity:kCAGravityBottom];
-}
-
-TextTrackRepresentationIOS::~TextTrackRepresentationIOS()
-{
-    [m_layer.get() setDelegate:nil];
-    [m_delegate.get() setParent:nullptr];
-}
-
-void TextTrackRepresentationIOS::update()
-{
-    if (auto representation = m_client.createTextTrackRepresentationImage())
-        [m_layer.get() setContents:(id)representation-&gt;getCGImageRef()];
-}
-
-void TextTrackRepresentationIOS::setContentScale(float scale)
-{
-    [m_layer.get() setContentsScale:scale];
-}
-
-IntRect TextTrackRepresentationIOS::bounds() const
-{
-    return enclosingIntRect(FloatRect([m_layer.get() bounds]));
-}
-
-#endif // PLATFORM(IOS) &amp;&amp; ENABLE(VIDEO_TRACK)
</del></span></pre>
</div>
</div>

</body>
</html>