<!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>[214607] trunk/Source/WebCore</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/214607">214607</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2017-03-30 09:09:09 -0700 (Thu, 30 Mar 2017)</dd>
</dl>
<h3>Log Message</h3>
<pre>Remove unused MediaControlsApple implementation
https://bugs.webkit.org/show_bug.cgi?id=170258
<rdar://problem/31331056>
Reviewed by Eric Carlson.
Remove dead code related to old media controls. We switched to HTML5-based media controls
several years ago.
No new tests. Removing this dead code should have no change in behavior.
* WebCore.xcodeproj/project.pbxproj: Remove unused files.
* dom/EventListener.h: Remove unused event type.
* html/shadow/MediaControlsApple.cpp: Removed.
* html/shadow/MediaControlsApple.h: Removed.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoredomEventListenerh">trunk/Source/WebCore/dom/EventListener.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlsApplecpp">trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlsAppleh">trunk/Source/WebCore/html/shadow/MediaControlsApple.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (214606 => 214607)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-03-30 15:54:10 UTC (rev 214606)
+++ trunk/Source/WebCore/ChangeLog        2017-03-30 16:09:09 UTC (rev 214607)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2017-03-30 Brent Fulgham <bfulgham@apple.com>
+
+ Remove unused MediaControlsApple implementation
+ https://bugs.webkit.org/show_bug.cgi?id=170258
+ <rdar://problem/31331056>
+
+ Reviewed by Eric Carlson.
+
+ Remove dead code related to old media controls. We switched to HTML5-based media controls
+ several years ago.
+
+ No new tests. Removing this dead code should have no change in behavior.
+
+ * WebCore.xcodeproj/project.pbxproj: Remove unused files.
+ * dom/EventListener.h: Remove unused event type.
+ * html/shadow/MediaControlsApple.cpp: Removed.
+ * html/shadow/MediaControlsApple.h: Removed.
+
</ins><span class="cx"> 2017-03-30 Fujii Hironori <Hironori.Fujii@sony.com>
</span><span class="cx">
</span><span class="cx"> [WinCairo] ImageCairoWin.cpp: error C2660: 'WebCore::BitmapImage::draw': function does not take 6 arguments
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (214606 => 214607)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-30 15:54:10 UTC (rev 214606)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-30 16:09:09 UTC (rev 214607)
</span><span class="lines">@@ -1704,8 +1704,6 @@
</span><span class="cx">                 4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */; };
</span><span class="cx">                 415747471E3869A400E914D8 /* LibWebRTCMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 415747431E38699E00E914D8 /* LibWebRTCMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 415747481E3869A700E914D8 /* LibWebRTCProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 415747441E38699E00E914D8 /* LibWebRTCProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                4157AF8012F1FB0400A8C6F5 /* MediaControlsApple.h in Headers */ = {isa = PBXBuildFile; fileRef = 4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */; };
-                4157AF8112F1FB0400A8C6F5 /* MediaControlsApple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */; };
</del><span class="cx">                 4157EBFA1E3AB67900AC9FE9 /* MockLibWebRTCPeerConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4157EBF91E3AB06800AC9FE9 /* MockLibWebRTCPeerConnection.cpp */; };
</span><span class="cx">                 4157EBFB1E3AB67F00AC9FE9 /* MockLibWebRTCPeerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4157EBF81E3AB06800AC9FE9 /* MockLibWebRTCPeerConnection.h */; };
</span><span class="cx">                 415CDAF41E6B8F87004F11EE /* CanvasCaptureMediaStreamTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41C7E1051E6A54360027B4DE /* CanvasCaptureMediaStreamTrack.cpp */; };
</span><span class="lines">@@ -2711,10 +2709,10 @@
</span><span class="cx">                 5E2C43711BCF0D750001E2BD /* JSRTCRtpTransceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E2C436D1BCF0D690001E2BD /* JSRTCRtpTransceiver.cpp */; };
</span><span class="cx">                 5E2C43721BCF0D750001E2BC /* JSRTCRtpReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C436E1BCF0D690001E2BC /* JSRTCRtpReceiver.h */; };
</span><span class="cx">                 5E2C43721BCF0D750001E2BD /* JSRTCRtpTransceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C436E1BCF0D690001E2BD /* JSRTCRtpTransceiver.h */; };
</span><ins>+                5E2C43731BCF0D750001E2BC /* JSRTCRtpSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E2C436F1BCF0D690001E2BC /* JSRTCRtpSender.cpp */; };
</ins><span class="cx">                 5E2C43731BCF0D750001E2BE /* JSRTCRtpParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E2C436F1BCF0D690001E2BE /* JSRTCRtpParameters.cpp */; };
</span><ins>+                5E2C43741BCF0D750001E2BC /* JSRTCRtpSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C43701BCF0D690001E2BC /* JSRTCRtpSender.h */; };
</ins><span class="cx">                 5E2C43741BCF0D750001E2BE /* JSRTCRtpParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C43701BCF0D690001E2BE /* JSRTCRtpParameters.h */; };
</span><del>-                5E2C43731BCF0D750001E2BC /* JSRTCRtpSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E2C436F1BCF0D690001E2BC /* JSRTCRtpSender.cpp */; };
-                5E2C43741BCF0D750001E2BC /* JSRTCRtpSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C43701BCF0D690001E2BC /* JSRTCRtpSender.h */; };
</del><span class="cx">                 5E2C437B1BCF9A570001E2BC /* RTCPeerConnectionBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C43761BCF9A0B0001E2BC /* RTCPeerConnectionBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5E2C437C1BCF9A840001E2BC /* RTCPeerConnectionInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E2C43791BCF9A0B0001E2BC /* RTCPeerConnectionInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5E4EAB041D07166A0006A184 /* MediaEndpointSessionDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E4EAB031D07164C0006A184 /* MediaEndpointSessionDescription.h */; };
</span><span class="lines">@@ -9274,8 +9272,6 @@
</span><span class="cx">                 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SliderThumbElement.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 415747431E38699E00E914D8 /* LibWebRTCMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCMacros.h; path = libwebrtc/LibWebRTCMacros.h; sourceTree = "<group>"; };
</span><span class="cx">                 415747441E38699E00E914D8 /* LibWebRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCProvider.h; path = libwebrtc/LibWebRTCProvider.h; sourceTree = "<group>"; };
</span><del>-                4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaControlsApple.h; sourceTree = "<group>"; };
-                4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaControlsApple.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 4157EBF81E3AB06800AC9FE9 /* MockLibWebRTCPeerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockLibWebRTCPeerConnection.h; sourceTree = "<group>"; };
</span><span class="cx">                 4157EBF91E3AB06800AC9FE9 /* MockLibWebRTCPeerConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockLibWebRTCPeerConnection.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamTrackCustom.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -10428,8 +10424,8 @@
</span><span class="cx">                 5E2C436E1BCF0D690001E2BC /* JSRTCRtpReceiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCRtpReceiver.h; sourceTree = "<group>"; };
</span><span class="cx">                 5E2C436E1BCF0D690001E2BD /* JSRTCRtpTransceiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCRtpTransceiver.h; sourceTree = "<group>"; };
</span><span class="cx">                 5E2C436F1BCF0D690001E2BC /* JSRTCRtpSender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCRtpSender.cpp; sourceTree = "<group>"; };
</span><ins>+                5E2C436F1BCF0D690001E2BE /* JSRTCRtpParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCRtpParameters.cpp; sourceTree = "<group>"; };
</ins><span class="cx">                 5E2C43701BCF0D690001E2BC /* JSRTCRtpSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCRtpSender.h; sourceTree = "<group>"; };
</span><del>-                5E2C436F1BCF0D690001E2BE /* JSRTCRtpParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCRtpParameters.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 5E2C43701BCF0D690001E2BE /* JSRTCRtpParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCRtpParameters.h; sourceTree = "<group>"; };
</span><span class="cx">                 5E2C43751BCF9A0B0001E2BC /* RTCPeerConnectionBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPeerConnectionBuiltins.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5E2C43761BCF9A0B0001E2BC /* RTCPeerConnectionBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCPeerConnectionBuiltins.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -17460,8 +17456,6 @@
</span><span class="cx">                                 DE49B300165F2FC60010338D /* MediaControlElementTypes.h */,
</span><span class="cx">                                 1F3C3BE8135CAF3C00B8C1AC /* MediaControls.cpp */,
</span><span class="cx">                                 1F3C3BE9135CAF3C00B8C1AC /* MediaControls.h */,
</span><del>-                                4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */,
-                                4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */,
</del><span class="cx">                                 E4E243821DAB953E00C26E4B /* meterElementShadow.css */,
</span><span class="cx">                                 A715E650134BBBEC00D8E713 /* ProgressShadowElement.cpp */,
</span><span class="cx">                                 A715E651134BBBEC00D8E713 /* ProgressShadowElement.h */,
</span><span class="lines">@@ -28271,7 +28265,6 @@
</span><span class="cx">                                 CDF65CC8145B1E7500C4C7AA /* MediaController.h in Headers */,
</span><span class="cx">                                 CDF65CCA145B448800C4C7AA /* MediaControllerInterface.h in Headers */,
</span><span class="cx">                                 1F3C3BEB135CAF3C00B8C1AC /* MediaControls.h in Headers */,
</span><del>-                                4157AF8012F1FB0400A8C6F5 /* MediaControlsApple.h in Headers */,
</del><span class="cx">                                 CDAB6D2917C7DE6C00C60B34 /* MediaControlsHost.h in Headers */,
</span><span class="cx">                                 CDF2B004181F059C00F2B424 /* MediaDescription.h in Headers */,
</span><span class="cx">                                 15145B901B3A1CE000662BF7 /* MediaDeviceInfo.h in Headers */,
</span><span class="lines">@@ -32265,7 +32258,6 @@
</span><span class="cx">                                 DEBCCDD516646EB200A452E1 /* MediaControlElementTypes.cpp in Sources */,
</span><span class="cx">                                 CD27F6E7145770D30078207D /* MediaController.cpp in Sources */,
</span><span class="cx">                                 1F3C3BEA135CAF3C00B8C1AC /* MediaControls.cpp in Sources */,
</span><del>-                                4157AF8112F1FB0400A8C6F5 /* MediaControlsApple.cpp in Sources */,
</del><span class="cx">                                 CDAB6D2817C7DE6C00C60B34 /* MediaControlsHost.cpp in Sources */,
</span><span class="cx">                                 159AE82B1B3A402F0037478B /* MediaDeviceInfo.cpp in Sources */,
</span><span class="cx">                                 5EA725D21ACABD4700EAD17B /* MediaDevices.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventListener.h (214606 => 214607)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventListener.h        2017-03-30 15:54:10 UTC (rev 214606)
+++ trunk/Source/WebCore/dom/EventListener.h        2017-03-30 16:09:09 UTC (rev 214607)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> GObjectEventListenerType,
</span><span class="cx"> NativeEventListenerType,
</span><span class="cx"> SVGTRefTargetEventListenerType,
</span><del>- MediaControlsAppleEventListenerType
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> virtual ~EventListener() { }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlsApplecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp (214606 => 214607)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp        2017-03-30 15:54:10 UTC (rev 214606)
+++ trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp        2017-03-30 16:09:09 UTC (rev 214607)
</span><span class="lines">@@ -1,568 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2011, 2012 Google 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.
- */
-
-#include "config.h"
-
-#if ENABLE(VIDEO)
-#include "MediaControlsApple.h"
-
-#include "CSSValueKeywords.h"
-#include "EventNames.h"
-#include "Page.h"
-#include "WheelEvent.h"
-
-namespace WebCore {
-
-MediaControlsApple::MediaControlsApple(Document& document)
- : MediaControls(document)
-{
-}
-
-RefPtr<MediaControls> MediaControls::tryCreate(Document& document)
-{
- return MediaControlsApple::tryCreateControls(document);
-}
-
-RefPtr<MediaControlsApple> MediaControlsApple::tryCreateControls(Document& document)
-{
- if (!document.page())
- return nullptr;
-
- auto controls = adoptRef(*new MediaControlsApple(document));
-
- auto panel = MediaControlPanelElement::create(document);
-
- auto rewindButton = MediaControlRewindButtonElement::create(document);
- controls->m_rewindButton = rewindButton.ptr();
- if (panel->appendChild(rewindButton).hasException())
- return nullptr;
-
- auto playButton = MediaControlPlayButtonElement::create(document);
- controls->m_playButton = playButton.ptr();
- if (panel->appendChild(playButton).hasException())
- return nullptr;
-
- auto returnToRealtimeButton = MediaControlReturnToRealtimeButtonElement::create(document);
- controls->m_returnToRealTimeButton = returnToRealtimeButton.ptr();
- if (panel->appendChild(returnToRealtimeButton).hasException())
- return nullptr;
-
- if (document.page()->theme().usesMediaControlStatusDisplay()) {
- auto statusDisplay = MediaControlStatusDisplayElement::create(document);
- controls->m_statusDisplay = statusDisplay.ptr();
- if (panel->appendChild(statusDisplay).hasException())
- return nullptr;
- }
-
- auto timelineContainer = MediaControlTimelineContainerElement::create(document);
-
- auto currentTimeDisplay = MediaControlCurrentTimeDisplayElement::create(document);
- controls->m_currentTimeDisplay = currentTimeDisplay.ptr();
- if (timelineContainer->appendChild(currentTimeDisplay).hasException())
- return nullptr;
-
- auto timeline = MediaControlTimelineElement::create(document, controls.ptr());
- controls->m_timeline = timeline.ptr();
- if (timelineContainer->appendChild(timeline).hasException())
- return nullptr;
-
- auto timeRemainingDisplay = MediaControlTimeRemainingDisplayElement::create(document);
- controls->m_timeRemainingDisplay = timeRemainingDisplay.ptr();
- if (timelineContainer->appendChild(timeRemainingDisplay).hasException())
- return nullptr;
-
- controls->m_timelineContainer = timelineContainer.ptr();
- if (panel->appendChild(timelineContainer).hasException())
- return nullptr;
-
- // FIXME: Only create when needed <http://webkit.org/b/57163>
- auto seekBackButton = MediaControlSeekBackButtonElement::create(document);
- controls->m_seekBackButton = seekBackButton.ptr();
- if (panel->appendChild(seekBackButton).hasException())
- return nullptr;
-
- // FIXME: Only create when needed <http://webkit.org/b/57163>
- auto seekForwardButton = MediaControlSeekForwardButtonElement::create(document);
- controls->m_seekForwardButton = seekForwardButton.ptr();
- if (panel->appendChild(seekForwardButton).hasException())
- return nullptr;
-
- if (document.page()->theme().supportsClosedCaptioning()) {
- auto closedCaptionsContainer = MediaControlClosedCaptionsContainerElement::create(document);
-
- auto closedCaptionsTrackList = MediaControlClosedCaptionsTrackListElement::create(document, controls.ptr());
- controls->m_closedCaptionsTrackList = closedCaptionsTrackList.ptr();
- if (closedCaptionsContainer->appendChild(closedCaptionsTrackList).hasException())
- return nullptr;
-
- auto toggleClosedCaptionsButton = MediaControlToggleClosedCaptionsButtonElement::create(document, controls.ptr());
- controls->m_toggleClosedCaptionsButton = toggleClosedCaptionsButton.ptr();
- if (panel->appendChild(toggleClosedCaptionsButton).hasException())
- return nullptr;
-
- controls->m_closedCaptionsContainer = closedCaptionsContainer.ptr();
- if (controls->appendChild(closedCaptionsContainer).hasException())
- return nullptr;
- }
-
- // FIXME: Only create when needed <http://webkit.org/b/57163>
- auto fullScreenButton = MediaControlFullscreenButtonElement::create(document);
- controls->m_fullScreenButton = fullScreenButton.ptr();
- panel->appendChild(fullScreenButton);
-
- // The mute button and the slider element should be in the same div.
- auto panelVolumeControlContainer = HTMLDivElement::create(document);
-
- if (document.page()->theme().usesMediaControlVolumeSlider()) {
- auto volumeSliderContainer = MediaControlVolumeSliderContainerElement::create(document);
-
- auto slider = MediaControlPanelVolumeSliderElement::create(document);
- controls->m_volumeSlider = slider.ptr();
- if (volumeSliderContainer->appendChild(slider).hasException())
- return nullptr;
-
- // This is a duplicate mute button, which is visible in some ports at the bottom of the volume bar.
- // It's important only when the volume bar is displayed below the controls.
- auto volumeSliderMuteButton = MediaControlVolumeSliderMuteButtonElement::create(document);
- controls->m_volumeSliderMuteButton = volumeSliderMuteButton.ptr();
- if (volumeSliderContainer->appendChild(volumeSliderMuteButton).hasException())
- return nullptr;
-
- controls->m_volumeSliderContainer = volumeSliderContainer.ptr();
- if (panelVolumeControlContainer->appendChild(volumeSliderContainer).hasException())
- return nullptr;
- }
-
- auto panelMuteButton = MediaControlPanelMuteButtonElement::create(document, controls.ptr());
- controls->m_panelMuteButton = panelMuteButton.ptr();
- if (panelVolumeControlContainer->appendChild(panelMuteButton).hasException())
- return nullptr;
-
- if (panel->appendChild(panelVolumeControlContainer).hasException())
- return nullptr;
-
- // FIXME: Only create when needed <http://webkit.org/b/57163>
- auto fullScreenMinVolumeButton = MediaControlFullscreenVolumeMinButtonElement::create(document);
- controls->m_fullScreenMinVolumeButton = fullScreenMinVolumeButton.ptr();
- if (panel->appendChild(fullScreenMinVolumeButton).hasException())
- return nullptr;
-
- auto fullScreenVolumeSlider = MediaControlFullscreenVolumeSliderElement::create(document);
- controls->m_fullScreenVolumeSlider = fullScreenVolumeSlider.ptr();
- if (panel->appendChild(fullScreenVolumeSlider).hasException())
- return nullptr;
-
- auto fullScreenMaxVolumeButton = MediaControlFullscreenVolumeMaxButtonElement::create(document);
- controls->m_fullScreenMaxVolumeButton = fullScreenMaxVolumeButton.ptr();
- if (panel->appendChild(fullScreenMaxVolumeButton).hasException())
- return nullptr;
-
- controls->m_panel = panel.ptr();
- if (controls->appendChild(panel).hasException())
- return nullptr;
-
- return WTFMove(controls);
-}
-
-void MediaControlsApple::setMediaController(MediaControllerInterface* controller)
-{
- if (m_mediaController == controller)
- return;
-
- MediaControls::setMediaController(controller);
-
- if (m_rewindButton)
- m_rewindButton->setMediaController(controller);
- if (m_returnToRealTimeButton)
- m_returnToRealTimeButton->setMediaController(controller);
- if (m_statusDisplay)
- m_statusDisplay->setMediaController(controller);
- if (m_timeRemainingDisplay)
- m_timeRemainingDisplay->setMediaController(controller);
- if (m_timelineContainer)
- m_timelineContainer->setMediaController(controller);
- if (m_seekBackButton)
- m_seekBackButton->setMediaController(controller);
- if (m_seekForwardButton)
- m_seekForwardButton->setMediaController(controller);
- if (m_volumeSliderMuteButton)
- m_volumeSliderMuteButton->setMediaController(controller);
- if (m_volumeSliderContainer)
- m_volumeSliderContainer->setMediaController(controller);
- if (m_fullScreenMinVolumeButton)
- m_fullScreenMinVolumeButton->setMediaController(controller);
- if (m_fullScreenVolumeSlider)
- m_fullScreenVolumeSlider->setMediaController(controller);
- if (m_fullScreenMaxVolumeButton)
- m_fullScreenMaxVolumeButton->setMediaController(controller);
- if (m_closedCaptionsTrackList)
- m_closedCaptionsTrackList->setMediaController(controller);
- if (m_closedCaptionsContainer)
- m_closedCaptionsContainer->setMediaController(controller);
-}
-
-void MediaControlsApple::defaultEventHandler(Event& event)
-{
- if (event.type() == eventNames().clickEvent) {
- if (m_closedCaptionsContainer && m_closedCaptionsContainer->isShowing()) {
- hideClosedCaptionTrackList();
- event.setDefaultHandled();
- }
- }
-
- MediaControls::defaultEventHandler(event);
-}
-
-void MediaControlsApple::hide()
-{
- MediaControls::hide();
- m_volumeSliderContainer->hide();
- if (m_closedCaptionsContainer)
- hideClosedCaptionTrackList();
-}
-
-void MediaControlsApple::makeTransparent()
-{
- MediaControls::makeTransparent();
- m_volumeSliderContainer->hide();
- if (m_closedCaptionsContainer)
- hideClosedCaptionTrackList();
-}
-
-void MediaControlsApple::changedClosedCaptionsVisibility()
-{
- MediaControls::changedClosedCaptionsVisibility();
- if (m_closedCaptionsContainer && m_closedCaptionsContainer->isShowing())
- hideClosedCaptionTrackList();
-
-}
-
-void MediaControlsApple::reset()
-{
- Page* page = document().page();
- if (!page)
- return;
-
- updateStatusDisplay();
-
- if (m_mediaController->supportsFullscreen(HTMLMediaElementEnums::VideoFullscreenModeStandard))
- m_fullScreenButton->show();
- else
- m_fullScreenButton->hide();
-
- double duration = m_mediaController->duration();
- if (std::isfinite(duration) || page->theme().hasOwnDisabledStateHandlingFor(MediaSliderPart)) {
- m_timeline->setDuration(duration);
- m_timelineContainer->show();
- m_timeline->setPosition(m_mediaController->currentTime());
- updateCurrentTimeDisplay();
- } else
- m_timelineContainer->hide();
-
- if (m_mediaController->hasAudio() || page->theme().hasOwnDisabledStateHandlingFor(MediaMuteButtonPart))
- m_panelMuteButton->show();
- else
- m_panelMuteButton->hide();
-
- if (m_volumeSlider)
- setSliderVolume();
-
- if (m_toggleClosedCaptionsButton) {
- if (m_mediaController->hasClosedCaptions())
- m_toggleClosedCaptionsButton->show();
- else
- m_toggleClosedCaptionsButton->hide();
- }
-
- if (m_playButton)
- m_playButton->updateDisplayType();
-
-#if ENABLE(FULLSCREEN_API)
- if (m_fullScreenVolumeSlider)
- setFullscreenSliderVolume();
-
- if (m_isFullscreen) {
- if (m_mediaController->isLiveStream()) {
- m_seekBackButton->hide();
- m_seekForwardButton->hide();
- m_rewindButton->show();
- m_returnToRealTimeButton->show();
- } else {
- m_seekBackButton->show();
- m_seekForwardButton->show();
- m_rewindButton->hide();
- m_returnToRealTimeButton->hide();
- }
- } else
-#endif
- if (!m_mediaController->isLiveStream()) {
- m_returnToRealTimeButton->hide();
- m_rewindButton->show();
- } else {
- m_returnToRealTimeButton->show();
- m_rewindButton->hide();
- }
-
- makeOpaque();
-}
-
-void MediaControlsApple::updateCurrentTimeDisplay()
-{
- double now = m_mediaController->currentTime();
- double duration = m_mediaController->duration();
-
- Page* page = document().page();
- if (!page)
- return;
-
- // Allow the theme to format the time.
- m_currentTimeDisplay->setInnerText(page->theme().formatMediaControlsCurrentTime(now, duration));
- m_currentTimeDisplay->setCurrentValue(now);
- m_timeRemainingDisplay->setInnerText(page->theme().formatMediaControlsRemainingTime(now, duration));
- m_timeRemainingDisplay->setCurrentValue(now - duration);
-}
-
-void MediaControlsApple::reportedError()
-{
- Page* page = document().page();
- if (!page)
- return;
-
- if (!page->theme().hasOwnDisabledStateHandlingFor(MediaSliderPart))
- m_timelineContainer->hide();
-
- if (!page->theme().hasOwnDisabledStateHandlingFor(MediaMuteButtonPart))
- m_panelMuteButton->hide();
-
- m_fullScreenButton->hide();
-
- if (m_volumeSliderContainer)
- m_volumeSliderContainer->hide();
- if (m_toggleClosedCaptionsButton && !page->theme().hasOwnDisabledStateHandlingFor(MediaToggleClosedCaptionsButtonPart))
- m_toggleClosedCaptionsButton->hide();
- if (m_closedCaptionsContainer)
- hideClosedCaptionTrackList();
-}
-
-void MediaControlsApple::updateStatusDisplay()
-{
- if (m_statusDisplay)
- m_statusDisplay->update();
-}
-
-void MediaControlsApple::loadedMetadata()
-{
- if (m_statusDisplay && !m_mediaController->isLiveStream())
- m_statusDisplay->hide();
-
- MediaControls::loadedMetadata();
-}
-
-void MediaControlsApple::changedMute()
-{
- MediaControls::changedMute();
-
- if (m_volumeSliderMuteButton)
- m_volumeSliderMuteButton->changedMute();
-}
-
-void MediaControlsApple::changedVolume()
-{
- MediaControls::changedVolume();
-
- if (m_fullScreenVolumeSlider)
- setFullscreenSliderVolume();
-}
-
-void MediaControlsApple::enteredFullscreen()
-{
- MediaControls::enteredFullscreen();
- m_panel->setCanBeDragged(true);
-
- if (m_mediaController->isLiveStream()) {
- m_seekBackButton->hide();
- m_seekForwardButton->hide();
- m_rewindButton->show();
- m_returnToRealTimeButton->show();
- } else {
- m_seekBackButton->show();
- m_seekForwardButton->show();
- m_rewindButton->hide();
- m_returnToRealTimeButton->hide();
- }
-}
-
-void MediaControlsApple::exitedFullscreen()
-{
- m_rewindButton->show();
- m_seekBackButton->show();
- m_seekForwardButton->show();
- m_returnToRealTimeButton->show();
-
- m_panel->setCanBeDragged(false);
-
- // We will keep using the panel, but we want it to go back to the standard position.
- // This will matter right away because we use the panel even when not fullscreen.
- // And if we reenter fullscreen we also want the panel in the standard position.
- m_panel->resetPosition();
-
- MediaControls::exitedFullscreen();
-}
-
-void MediaControlsApple::showVolumeSlider()
-{
- if (!m_mediaController->hasAudio())
- return;
-
- if (m_volumeSliderContainer)
- m_volumeSliderContainer->show();
-}
-
-void MediaControlsApple::toggleClosedCaptionTrackList()
-{
- if (!m_mediaController->hasClosedCaptions())
- return;
-
- if (m_closedCaptionsContainer) {
- if (m_closedCaptionsContainer->isShowing())
- hideClosedCaptionTrackList();
- else {
- if (m_closedCaptionsTrackList)
- m_closedCaptionsTrackList->updateDisplay();
- showClosedCaptionTrackList();
- }
- }
-}
-
-void MediaControlsApple::showClosedCaptionTrackList()
-{
- if (!m_closedCaptionsContainer || m_closedCaptionsContainer->isShowing())
- return;
-
- m_closedCaptionsContainer->show();
-
- // Ensure the controls panel does not receive any events while the captions
- // track list is visible as all events now need to be captured by the
- // track list.
- m_panel->setInlineStyleProperty(CSSPropertyPointerEvents, CSSValueNone);
-
- EventListener& listener = eventListener();
- m_closedCaptionsContainer->addEventListener(eventNames().wheelEvent, listener, true);
-
- // Track click events in the capture phase at two levels, first at the document level
- // such that a click outside of the <video> may dismiss the track list, second at the
- // media controls level such that a click anywhere outside of the track list hides the
- // track list. These two levels are necessary since it would not be possible to get a
- // reference to the track list when handling the event outside of the shadow tree.
- document().addEventListener(eventNames().clickEvent, listener, true);
- addEventListener(eventNames().clickEvent, listener, true);
-}
-
-void MediaControlsApple::hideClosedCaptionTrackList()
-{
- if (!m_closedCaptionsContainer || !m_closedCaptionsContainer->isShowing())
- return;
-
- m_closedCaptionsContainer->hide();
-
- // Buttons in the controls panel may now be interactive.
- m_panel->removeInlineStyleProperty(CSSPropertyPointerEvents);
-
- EventListener& listener = eventListener();
- m_closedCaptionsContainer->removeEventListener(eventNames().wheelEvent, listener, true);
- document().removeEventListener(eventNames().clickEvent, listener, true);
- removeEventListener(eventNames().clickEvent, listener, true);
-}
-
-void MediaControlsApple::setFullscreenSliderVolume()
-{
- m_fullScreenVolumeSlider->setVolume(m_mediaController->muted() ? 0.0 : m_mediaController->volume());
-}
-
-bool MediaControlsApple::shouldClosedCaptionsContainerPreventPageScrolling(int wheelDeltaY)
-{
- int scrollTop = m_closedCaptionsContainer->scrollTop();
- // Scrolling down.
- if (wheelDeltaY < 0 && (scrollTop + m_closedCaptionsContainer->offsetHeight()) >= m_closedCaptionsContainer->scrollHeight())
- return true;
- // Scrolling up.
- if (wheelDeltaY > 0 && scrollTop <= 0)
- return true;
- return false;
-}
-
-void MediaControlsApple::handleClickEvent(Event& event)
-{
- Node* currentTarget = event.currentTarget()->toNode();
- Node* target = event.target()->toNode();
-
- if ((currentTarget == &document() && !shadowHost()->contains(target)) || (currentTarget == this && !m_closedCaptionsContainer->contains(target))) {
- hideClosedCaptionTrackList();
- event.stopImmediatePropagation();
- event.setDefaultHandled();
- }
-}
-
-void MediaControlsApple::closedCaptionTracksChanged()
-{
- if (m_toggleClosedCaptionsButton) {
- if (m_mediaController->hasClosedCaptions())
- m_toggleClosedCaptionsButton->show();
- else
- m_toggleClosedCaptionsButton->hide();
- }
-}
-
-MediaControlsAppleEventListener& MediaControlsApple::eventListener()
-{
- if (!m_eventListener)
- m_eventListener = MediaControlsAppleEventListener::create(this);
- return *m_eventListener;
-}
-
-// --------
-
-void MediaControlsAppleEventListener::handleEvent(ScriptExecutionContext*, Event* event)
-{
- if (event->type() == eventNames().clickEvent)
- m_mediaControls->handleClickEvent(*event);
- else if (eventNames().isWheelEventType(event->type()) && is<WheelEvent>(*event)) {
- WheelEvent& wheelEvent = downcast<WheelEvent>(*event);
- if (m_mediaControls->shouldClosedCaptionsContainerPreventPageScrolling(wheelEvent.wheelDeltaY()))
- wheelEvent.preventDefault();
- }
-}
-
-bool MediaControlsAppleEventListener::operator==(const EventListener& listener) const
-{
- if (const MediaControlsAppleEventListener* mediaControlsAppleEventListener = MediaControlsAppleEventListener::cast(&listener))
- return m_mediaControls == mediaControlsAppleEventListener->m_mediaControls;
- return false;
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlsAppleh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/shadow/MediaControlsApple.h (214606 => 214607)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlsApple.h        2017-03-30 15:54:10 UTC (rev 214606)
+++ trunk/Source/WebCore/html/shadow/MediaControlsApple.h        2017-03-30 16:09:09 UTC (rev 214607)
</span><span class="lines">@@ -1,122 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2011, 2012 Google 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.
- */
-
-#pragma once
-
-#if ENABLE(VIDEO)
-
-#include "MediaControls.h"
-
-namespace WebCore {
-
-class MediaControlsApple;
-
-class MediaControlsAppleEventListener : public EventListener {
-public:
- static Ref<MediaControlsAppleEventListener> create(MediaControlsApple* mediaControls) { return adoptRef(*new MediaControlsAppleEventListener(mediaControls)); }
- static const MediaControlsAppleEventListener* cast(const EventListener* listener)
- {
- return listener->type() == MediaControlsAppleEventListenerType
- ? static_cast<const MediaControlsAppleEventListener*>(listener)
- : 0;
- }
-
- bool operator==(const EventListener& other) const override;
-
-private:
- MediaControlsAppleEventListener(MediaControlsApple* mediaControls)
- : EventListener(MediaControlsAppleEventListenerType)
- , m_mediaControls(mediaControls)
- {
- }
-
- void handleEvent(ScriptExecutionContext*, Event*) override;
-
- MediaControlsApple* m_mediaControls;
-};
-
-class MediaControlsApple final : public MediaControls {
-public:
- static RefPtr<MediaControlsApple> tryCreateControls(Document&);
-
- // MediaControls implementation.
- void setMediaController(MediaControllerInterface*) override;
-
- void hide() override;
- void makeTransparent() override;
-
- void reset() override;
-
- void changedMute() override;
- void changedVolume() override;
-
- void enteredFullscreen() override;
- void exitedFullscreen() override;
-
- void reportedError() override;
- void loadedMetadata() override;
-
- void showVolumeSlider() override;
- void updateCurrentTimeDisplay() override;
- void updateStatusDisplay() override;
-
- void changedClosedCaptionsVisibility() override;
- void toggleClosedCaptionTrackList() override;
- void closedCaptionTracksChanged() override;
-
- bool shouldClosedCaptionsContainerPreventPageScrolling(int wheelDeltaY);
- void handleClickEvent(Event&);
-
-private:
- MediaControlsApple(Document&);
-
- void defaultEventHandler(Event&) override;
- MediaControlsAppleEventListener& eventListener();
-
- void showClosedCaptionTrackList();
- void hideClosedCaptionTrackList();
- void setFullscreenSliderVolume();
-
- MediaControlRewindButtonElement* m_rewindButton { nullptr };
- MediaControlReturnToRealtimeButtonElement* m_returnToRealTimeButton { nullptr };
- MediaControlStatusDisplayElement* m_statusDisplay { nullptr };
- MediaControlTimeRemainingDisplayElement* m_timeRemainingDisplay { nullptr };
- MediaControlTimelineContainerElement* m_timelineContainer { nullptr };
- MediaControlSeekBackButtonElement* m_seekBackButton { nullptr };
- MediaControlSeekForwardButtonElement* m_seekForwardButton { nullptr };
- MediaControlClosedCaptionsTrackListElement* m_closedCaptionsTrackList { nullptr };
- MediaControlClosedCaptionsContainerElement* m_closedCaptionsContainer { nullptr };
- MediaControlVolumeSliderMuteButtonElement* m_volumeSliderMuteButton { nullptr };
- MediaControlVolumeSliderContainerElement* m_volumeSliderContainer { nullptr };
- MediaControlFullscreenVolumeMinButtonElement* m_fullScreenMinVolumeButton { nullptr };
- MediaControlFullscreenVolumeSliderElement* m_fullScreenVolumeSlider { nullptr };
- MediaControlFullscreenVolumeMaxButtonElement* m_fullScreenMaxVolumeButton { nullptr };
- RefPtr<MediaControlsAppleEventListener> m_eventListener;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(VIDEO)
</del></span></pre>
</div>
</div>
</body>
</html>