<!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>[205929] trunk/Source</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/205929">205929</a></dd>
<dt>Author</dt> <dd>eric.carlson@apple.com</dd>
<dt>Date</dt> <dd>2016-09-14 13:57:41 -0700 (Wed, 14 Sep 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>[MediaStream] Minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=161976
Reviewed by Youenn Fablet and Dean Jackson.
Source/WebCore:
No new tests, no behavior change.
* CMakeLists.txt:
* DerivedSources.make:
* Modules/mediastream/CaptureDeviceInfo.h: Removed.
* Modules/mediastream/CaptureDeviceManager.cpp: Removed.
* Modules/mediastream/CaptureDeviceManager.h: Removed.
* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompletePermissionCheck):
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Deleted.
(WebCore::MediaDevicesRequest::requestOrigin): Deleted.
* Modules/mediastream/MediaDevicesRequest.h:
* Modules/mediastream/MediaStreamTrackSourcesCallback.h: Removed.
* Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Removed.
* Modules/mediastream/SourceInfo.cpp: Removed.
* Modules/mediastream/SourceInfo.h: Removed.
* Modules/mediastream/SourceInfo.idl: Removed.
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/CaptureDevice.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h.
(WebCore::CaptureDevice::CaptureDevice):
(WebCore::CaptureDevice::persistentId):
(WebCore::CaptureDevice::label):
(WebCore::CaptureDevice::groupId):
(WebCore::CaptureDevice::kind):
(WebCore::CaptureSessionInfo::~CaptureSessionInfo): Deleted.
(WebCore::CaptureSessionInfo::supportsVideoSize): Deleted.
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
* platform/mediastream/CaptureDeviceManager.cpp: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp.
(CaptureDeviceManager::getSourcesInfo):
* platform/mediastream/CaptureDeviceManager.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.h.
(WebCore::CaptureSessionInfo::~CaptureSessionInfo):
(WebCore::CaptureSessionInfo::supportsVideoSize):
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions):
* platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Removed.
* platform/mediastream/RealtimeMediaSourceCenter.h:
* platform/mediastream/mac/AVCaptureDeviceManager.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::getSourcesInfo):
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): Deleted.
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID): Deleted.
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::audioDeviceInfo):
(WebCore::MockRealtimeMediaSource::videoDeviceInfo):
(WebCore::MockRealtimeMediaSource::trackSourceWithUID): Deleted.
* platform/mock/MockRealtimeMediaSource.h:
* platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamDevices):
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamTrackSources): Deleted.
(WebCore::MockRealtimeMediaSourceCenter::sourceWithUID): Deleted.
* platform/mock/MockRealtimeMediaSourceCenter.h:
Source/WebKit2:
* UIProcess/UserMediaPermissionRequestProxy.cpp:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDevicesRequestcpp">trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDevicesRequesth">trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamRealtimeMediaSourceCenterh">trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagerh">trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagermm">trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacRealtimeMediaSourceCenterMaccpp">trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacRealtimeMediaSourceCenterMach">trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceCenterOwrcpp">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceCenterOwrh">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMockRealtimeMediaSourcecpp">trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMockRealtimeMediaSourceh">trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMockRealtimeMediaSourceCentercpp">trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMockRealtimeMediaSourceCenterh">trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessUserMediaPermissionRequestProxycpp">trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformmediastreamCaptureDeviceh">trunk/Source/WebCore/platform/mediastream/CaptureDevice.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamCaptureDeviceManagercpp">trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamCaptureDeviceManagerh">trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesmediastreamCaptureDeviceInfoh">trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamCaptureDeviceManagercpp">trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamCaptureDeviceManagerh">trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamTrackSourcesCallbackh">trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamTrackSourcesCallbackidl">trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamSourceInfocpp">trunk/Source/WebCore/Modules/mediastream/SourceInfo.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamSourceInfoh">trunk/Source/WebCore/Modules/mediastream/SourceInfo.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamSourceInfoidl">trunk/Source/WebCore/Modules/mediastream/SourceInfo.idl</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamMediaStreamTrackSourcesRequestClienth">trunk/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -222,7 +222,6 @@
</span><span class="cx"> Modules/mediastream/MediaStreamEvent.idl
</span><span class="cx"> Modules/mediastream/MediaStreamTrack.idl
</span><span class="cx"> Modules/mediastream/MediaStreamTrackEvent.idl
</span><del>- Modules/mediastream/MediaStreamTrackSourcesCallback.idl
</del><span class="cx"> Modules/mediastream/MediaTrackConstraint.idl
</span><span class="cx"> Modules/mediastream/MediaTrackConstraintSet.idl
</span><span class="cx"> Modules/mediastream/MediaTrackConstraints.idl
</span><span class="lines">@@ -247,7 +246,6 @@
</span><span class="cx"> Modules/mediastream/RTCStatsReport.idl
</span><span class="cx"> Modules/mediastream/RTCStatsResponse.idl
</span><span class="cx"> Modules/mediastream/RTCTrackEvent.idl
</span><del>- Modules/mediastream/SourceInfo.idl
</del><span class="cx">
</span><span class="cx"> Modules/navigatorcontentutils/NavigatorContentUtils.idl
</span><span class="cx">
</span><span class="lines">@@ -900,7 +898,6 @@
</span><span class="cx"> Modules/mediastream/RTCStatsResponse.cpp
</span><span class="cx"> Modules/mediastream/RTCTrackEvent.cpp
</span><span class="cx"> Modules/mediastream/SDPProcessor.cpp
</span><del>- Modules/mediastream/SourceInfo.cpp
</del><span class="cx"> Modules/mediastream/UserMediaController.cpp
</span><span class="cx"> Modules/mediastream/UserMediaPermissionCheck.cpp
</span><span class="cx"> Modules/mediastream/UserMediaRequest.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/ChangeLog        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,3 +1,69 @@
</span><ins>+2016-09-14 Eric Carlson <eric.carlson@apple.com>
+
+ [MediaStream] Minor cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=161976
+
+ Reviewed by Youenn Fablet and Dean Jackson.
+
+ No new tests, no behavior change.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * Modules/mediastream/CaptureDeviceInfo.h: Removed.
+ * Modules/mediastream/CaptureDeviceManager.cpp: Removed.
+ * Modules/mediastream/CaptureDeviceManager.h: Removed.
+ * Modules/mediastream/MediaDevicesRequest.cpp:
+ (WebCore::MediaDevicesRequest::didCompletePermissionCheck):
+ (WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Deleted.
+ (WebCore::MediaDevicesRequest::requestOrigin): Deleted.
+ * Modules/mediastream/MediaDevicesRequest.h:
+ * Modules/mediastream/MediaStreamTrackSourcesCallback.h: Removed.
+ * Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Removed.
+ * Modules/mediastream/SourceInfo.cpp: Removed.
+ * Modules/mediastream/SourceInfo.h: Removed.
+ * Modules/mediastream/SourceInfo.idl: Removed.
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mediastream/CaptureDevice.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h.
+ (WebCore::CaptureDevice::CaptureDevice):
+ (WebCore::CaptureDevice::persistentId):
+ (WebCore::CaptureDevice::label):
+ (WebCore::CaptureDevice::groupId):
+ (WebCore::CaptureDevice::kind):
+ (WebCore::CaptureSessionInfo::~CaptureSessionInfo): Deleted.
+ (WebCore::CaptureSessionInfo::supportsVideoSize): Deleted.
+ (WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
+ * platform/mediastream/CaptureDeviceManager.cpp: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp.
+ (CaptureDeviceManager::getSourcesInfo):
+ * platform/mediastream/CaptureDeviceManager.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.h.
+ (WebCore::CaptureSessionInfo::~CaptureSessionInfo):
+ (WebCore::CaptureSessionInfo::supportsVideoSize):
+ (WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions):
+ * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Removed.
+ * platform/mediastream/RealtimeMediaSourceCenter.h:
+ * platform/mediastream/mac/AVCaptureDeviceManager.h:
+ * platform/mediastream/mac/AVCaptureDeviceManager.mm:
+ (WebCore::AVCaptureDeviceManager::getSourcesInfo):
+ * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
+ (WebCore::RealtimeMediaSourceCenterMac::getMediaStreamDevices):
+ (WebCore::RealtimeMediaSourceCenterMac::getMediaStreamTrackSources): Deleted.
+ (WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): Deleted.
+ * platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
+ * platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
+ (WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamDevices):
+ (WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources): Deleted.
+ (WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID): Deleted.
+ * platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
+ * platform/mock/MockRealtimeMediaSource.cpp:
+ (WebCore::MockRealtimeMediaSource::audioDeviceInfo):
+ (WebCore::MockRealtimeMediaSource::videoDeviceInfo):
+ (WebCore::MockRealtimeMediaSource::trackSourceWithUID): Deleted.
+ * platform/mock/MockRealtimeMediaSource.h:
+ * platform/mock/MockRealtimeMediaSourceCenter.cpp:
+ (WebCore::MockRealtimeMediaSourceCenter::getMediaStreamDevices):
+ (WebCore::MockRealtimeMediaSourceCenter::getMediaStreamTrackSources): Deleted.
+ (WebCore::MockRealtimeMediaSourceCenter::sourceWithUID): Deleted.
+ * platform/mock/MockRealtimeMediaSourceCenter.h:
+
</ins><span class="cx"> 2016-09-14 Antti Koivisto <antti@apple.com>
</span><span class="cx">
</span><span class="cx"> Move more code out from RenderObject
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/DerivedSources.make        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -139,7 +139,6 @@
</span><span class="cx"> $(WebCore)/Modules/mediastream/MediaStreamEvent.idl \
</span><span class="cx"> $(WebCore)/Modules/mediastream/MediaStreamTrack.idl \
</span><span class="cx"> $(WebCore)/Modules/mediastream/MediaStreamTrackEvent.idl \
</span><del>- $(WebCore)/Modules/mediastream/MediaStreamTrackSourcesCallback.idl \
</del><span class="cx"> $(WebCore)/Modules/mediastream/MediaTrackConstraint.idl \
</span><span class="cx"> $(WebCore)/Modules/mediastream/MediaTrackConstraintSet.idl \
</span><span class="cx"> $(WebCore)/Modules/mediastream/MediaTrackConstraints.idl \
</span><span class="lines">@@ -163,7 +162,6 @@
</span><span class="cx"> $(WebCore)/Modules/mediastream/RTCStatsReport.idl \
</span><span class="cx"> $(WebCore)/Modules/mediastream/RTCStatsResponse.idl \
</span><span class="cx"> $(WebCore)/Modules/mediastream/RTCTrackEvent.idl \
</span><del>- $(WebCore)/Modules/mediastream/SourceInfo.idl \
</del><span class="cx"> $(WebCore)/Modules/notifications/DOMWindowNotifications.idl \
</span><span class="cx"> $(WebCore)/Modules/notifications/Notification.idl \
</span><span class="cx"> $(WebCore)/Modules/notifications/NotificationCenter.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamCaptureDeviceInfoh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,59 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef CaptureDeviceInfo_h
-#define CaptureDeviceInfo_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include <RealtimeMediaSource.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-struct CaptureDeviceInfo {
- String m_persistentDeviceID;
- String m_localizedName;
- String m_groupID;
-
- String m_sourceId;
-
- bool m_enabled { false };
- RealtimeMediaSource::Type m_sourceType { RealtimeMediaSource::None };
- RealtimeMediaSourceSettings::VideoFacingMode m_position { RealtimeMediaSourceSettings::Unknown };
-};
-
-class CaptureSessionInfo {
-public:
- virtual ~CaptureSessionInfo() { }
- virtual bool supportsVideoSize(const String& /* videoSize */) const { return false; }
- virtual String bestSessionPresetForVideoDimensions(int /* width */, int /* height */) const { return emptyString(); }
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM)
-
-#endif /* CaptureDeviceInfo_h */
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamCaptureDeviceManagercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,210 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "CaptureDeviceManager.h"
-
-#if ENABLE(MEDIA_STREAM)
-
-#import "Logging.h"
-#import "MediaConstraints.h"
-#import "RealtimeMediaSource.h"
-#import "RealtimeMediaSourceCenter.h"
-#import "RealtimeMediaSourceSettings.h"
-#import "UUID.h"
-#import <wtf/MainThread.h>
-#import <wtf/NeverDestroyed.h>
-#import <wtf/text/StringHash.h>
-
-using namespace WebCore;
-
-CaptureDeviceManager::~CaptureDeviceManager()
-{
-}
-
-Vector<RefPtr<TrackSourceInfo>> CaptureDeviceManager::getSourcesInfo(const String& requestOrigin)
-{
- UNUSED_PARAM(requestOrigin);
- Vector<RefPtr<TrackSourceInfo>> sourcesInfo;
- for (auto captureDevice : captureDeviceList()) {
- if (!captureDevice.m_enabled || captureDevice.m_sourceType == RealtimeMediaSource::None)
- continue;
-
- TrackSourceInfo::SourceKind trackSourceType = captureDevice.m_sourceType == RealtimeMediaSource::Video ? TrackSourceInfo::Video : TrackSourceInfo::Audio;
- sourcesInfo.append(TrackSourceInfo::create(captureDevice.m_persistentDeviceID, captureDevice.m_sourceId, trackSourceType, captureDevice.m_localizedName, captureDevice.m_groupID));
- }
- LOG(Media, "CaptureDeviceManager::getSourcesInfo(%p), found %zu active devices", this, sourcesInfo.size());
- return sourcesInfo;
-}
-
-bool CaptureDeviceManager::captureDeviceFromDeviceID(const String& captureDeviceID, CaptureDeviceInfo& foundDevice)
-{
- for (auto& device : captureDeviceList()) {
- if (device.m_persistentDeviceID == captureDeviceID) {
- foundDevice = device;
- return true;
- }
- }
-
- return false;
-}
-
-bool CaptureDeviceManager::verifyConstraintsForMediaType(RealtimeMediaSource::Type type, const MediaConstraints& constraints, const CaptureSessionInfo* session, String& invalidConstraint)
-{
- auto& mandatoryConstraints = constraints.mandatoryConstraints();
- for (auto& nameConstraintPair : mandatoryConstraints) {
- if (sessionSupportsConstraint(session, type, *nameConstraintPair.value))
- continue;
-
- invalidConstraint = nameConstraintPair.key;
- return false;
- }
-
- return true;
-}
-
-Vector<RefPtr<RealtimeMediaSource>> CaptureDeviceManager::bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type type, MediaConstraints& constraints)
-{
- Vector<RefPtr<RealtimeMediaSource>> bestSourcesList;
-
- struct {
- bool operator()(RefPtr<RealtimeMediaSource> a, RefPtr<RealtimeMediaSource> b)
- {
- return a->fitnessScore() < b->fitnessScore();
- }
- } sortBasedOnFitnessScore;
-
- for (auto& captureDevice : captureDeviceList()) {
- if (!captureDevice.m_enabled || captureDevice.m_sourceId.isEmpty() || captureDevice.m_sourceType == RealtimeMediaSource::None)
- continue;
-
- if (RefPtr<RealtimeMediaSource> captureSource = sourceWithUID(captureDevice.m_persistentDeviceID, type, &constraints))
- bestSourcesList.append(captureSource.leakRef());
- }
- std::sort(bestSourcesList.begin(), bestSourcesList.end(), sortBasedOnFitnessScore);
- return bestSourcesList;
-}
-
-RefPtr<RealtimeMediaSource> CaptureDeviceManager::sourceWithUID(const String& deviceUID, RealtimeMediaSource::Type type, MediaConstraints* constraints)
-{
- for (auto& captureDevice : captureDeviceList()) {
- if (captureDevice.m_persistentDeviceID != deviceUID || captureDevice.m_sourceType != type)
- continue;
-
- if (!captureDevice.m_enabled || type == RealtimeMediaSource::None || captureDevice.m_sourceId.isEmpty())
- continue;
-
- if (RealtimeMediaSource* mediaSource = createMediaSourceForCaptureDeviceWithConstraints(captureDevice, constraints))
- return mediaSource;
- }
- return nullptr;
-}
-
-CaptureDeviceInfo* CaptureDeviceManager::bestDeviceForFacingMode(RealtimeMediaSourceSettings::VideoFacingMode facingMode)
-{
- if (facingMode == RealtimeMediaSourceSettings::Unknown)
- return nullptr;
-
- for (auto& device : captureDeviceList()) {
- if (device.m_sourceType == RealtimeMediaSource::Video && device.m_position == facingMode)
- return &device;
- }
- return nullptr;
-}
-
-static inline RealtimeMediaSourceSettings::VideoFacingMode facingModeFromString(const String& facingModeString)
-{
- static NeverDestroyed<AtomicString> userFacingModeString("user", AtomicString::ConstructFromLiteral);
- static NeverDestroyed<AtomicString> environmentFacingModeString("environment", AtomicString::ConstructFromLiteral);
- static NeverDestroyed<AtomicString> leftFacingModeString("left", AtomicString::ConstructFromLiteral);
- static NeverDestroyed<AtomicString> rightFacingModeString("right", AtomicString::ConstructFromLiteral);
- if (facingModeString == userFacingModeString)
- return RealtimeMediaSourceSettings::User;
- if (facingModeString == environmentFacingModeString)
- return RealtimeMediaSourceSettings::Environment;
- if (facingModeString == leftFacingModeString)
- return RealtimeMediaSourceSettings::Left;
- if (facingModeString == rightFacingModeString)
- return RealtimeMediaSourceSettings::Right;
- return RealtimeMediaSourceSettings::Unknown;
-}
-
-bool CaptureDeviceManager::sessionSupportsConstraint(const CaptureSessionInfo*, RealtimeMediaSource::Type type, const MediaConstraint& constraint)
-{
- const RealtimeMediaSourceSupportedConstraints& supportedConstraints = RealtimeMediaSourceCenter::singleton().supportedConstraints();
- MediaConstraintType constraintType = constraint.type();
- if (!supportedConstraints.supportsConstraint(constraintType))
- return false;
-
- switch (constraintType) {
- case MediaConstraintType::Width:
- return type == RealtimeMediaSource::Video;
-
- case MediaConstraintType::Height:
- return type == RealtimeMediaSource::Video;
-
- case MediaConstraintType::FrameRate: {
- if (type == RealtimeMediaSource::Audio)
- return false;
-
- return isSupportedFrameRate(constraint);
- }
- case MediaConstraintType::FacingMode: {
- if (type == RealtimeMediaSource::Audio)
- return false;
-
- // FIXME: https://bugs.webkit.org/show_bug.cgi?id=160793. Handle sequence of facingMode constraints.
- Vector<String> exactFacingMode;
- if (!constraint.getExact(exactFacingMode))
- return false;
-
- return bestDeviceForFacingMode(facingModeFromString(exactFacingMode[0]));
- }
- default:
- return false;
- }
-}
-
-bool CaptureDeviceManager::isSupportedFrameRate(const MediaConstraint& constraint) const
-{
- // FIXME: https://bugs.webkit.org/show_bug.cgi?id=160794. Dynamically check media devices if frame rate is supported.
- bool isSupported = true;
-
- int min = 0;
- if (constraint.getMin(min))
- isSupported &= min > 60;
-
- int max = 60;
- if (constraint.getMax(max))
- isSupported &= max < min;
-
- int exact;
- if (constraint.getExact(exact))
- isSupported &= (exact < min || exact > max);
-
- return isSupported;
-}
-
-#endif // ENABLE(MEDIA_STREAM)
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamCaptureDeviceManagerh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,64 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef CaptureDeviceManager_h
-#define CaptureDeviceManager_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include "CaptureDeviceInfo.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
-#include "RealtimeMediaSource.h"
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class CaptureDeviceManager {
-public:
- virtual Vector<CaptureDeviceInfo>& captureDeviceList() = 0;
- virtual void refreshCaptureDeviceList() { }
- virtual TrackSourceInfoVector getSourcesInfo(const String&);
- virtual Vector<RefPtr<RealtimeMediaSource>> bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type, MediaConstraints&);
- virtual RefPtr<RealtimeMediaSource> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*);
-
- virtual bool verifyConstraintsForMediaType(RealtimeMediaSource::Type, const MediaConstraints&, const CaptureSessionInfo*, String&);
-
-protected:
- virtual ~CaptureDeviceManager();
- virtual RealtimeMediaSource* createMediaSourceForCaptureDeviceWithConstraints(const CaptureDeviceInfo&, MediaConstraints*) = 0;
-
- virtual CaptureSessionInfo defaultCaptureSession() const { return CaptureSessionInfo(); }
- virtual bool sessionSupportsConstraint(const CaptureSessionInfo*, RealtimeMediaSource::Type, const MediaConstraint&);
- virtual bool isSupportedFrameRate(const MediaConstraint&) const;
-
- bool captureDeviceFromDeviceID(const String& captureDeviceID, CaptureDeviceInfo& source);
- CaptureDeviceInfo* bestDeviceForFacingMode(RealtimeMediaSourceSettings::VideoFacingMode);
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM)
-
-#endif /* CaptureDeviceManager_h */
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDevicesRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_STREAM)
</span><span class="cx">
</span><ins>+#include "CaptureDevice.h"
</ins><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "ExceptionCode.h"
</span><span class="cx"> #include "Frame.h"
</span><span class="lines">@@ -83,20 +84,6 @@
</span><span class="cx"> m_permissionCheck->start();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void MediaDevicesRequest::didCompletePermissionCheck(const String& salt, bool canAccess)
-{
- RefPtr<UserMediaPermissionCheck> permissionCheckProtector = m_permissionCheck;
- m_permissionCheck->setClient(nullptr);
- m_permissionCheck = nullptr;
-
- m_idHashSalt = salt;
- m_havePersistentPermission = canAccess;
-
- callOnMainThread([this, permissionCheckProtector = WTFMove(permissionCheckProtector)] {
- RealtimeMediaSourceCenter::singleton().getMediaStreamTrackSources(this);
- });
-}
-
</del><span class="cx"> static void hashString(SHA1& sha1, const String& string)
</span><span class="cx"> {
</span><span class="cx"> if (string.isEmpty())
</span><span class="lines">@@ -129,8 +116,14 @@
</span><span class="cx"> return SHA1::hexDigest(digest).data();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void MediaDevicesRequest::didCompleteTrackSourceInfoRequest(const TrackSourceInfoVector& captureDevices)
</del><ins>+void MediaDevicesRequest::didCompletePermissionCheck(const String& salt, bool canAccess)
</ins><span class="cx"> {
</span><ins>+ m_permissionCheck->setClient(nullptr);
+ m_permissionCheck = nullptr;
+
+ m_idHashSalt = salt;
+ m_havePersistentPermission = canAccess;
+
</ins><span class="cx"> if (!scriptExecutionContext()) {
</span><span class="cx"> m_protector = nullptr;
</span><span class="cx"> return;
</span><span class="lines">@@ -144,19 +137,18 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Vector<RefPtr<MediaDeviceInfo>> devices;
</span><ins>+ auto captureDevices = RealtimeMediaSourceCenter::singleton().getMediaStreamDevices();
</ins><span class="cx"> for (auto& deviceInfo : captureDevices) {
</span><del>- String label = emptyString();
</del><ins>+ auto label = emptyString();
</ins><span class="cx"> if (m_havePersistentPermission || document.hasHadActiveMediaStreamTrack())
</span><del>- label = deviceInfo->label();
</del><ins>+ label = deviceInfo.label();
</ins><span class="cx">
</span><del>- String id = hashID(deviceInfo->persistentId());
</del><ins>+ auto id = hashID(deviceInfo.persistentId());
</ins><span class="cx"> if (id.isEmpty())
</span><span class="cx"> continue;
</span><span class="cx">
</span><del>- String groupId = hashID(deviceInfo->groupId());
-
- auto deviceType = deviceInfo->kind() == TrackSourceInfo::SourceKind::Audio ? MediaDeviceInfo::Kind::Audioinput : MediaDeviceInfo::Kind::Videoinput;
-
</del><ins>+ auto groupId = hashID(deviceInfo.groupId());
+ auto deviceType = deviceInfo.kind() == CaptureDevice::SourceKind::Audio ? MediaDeviceInfo::Kind::Audioinput : MediaDeviceInfo::Kind::Videoinput;
</ins><span class="cx"> devices.append(MediaDeviceInfo::create(scriptExecutionContext(), label, id, groupId, deviceType));
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -166,17 +158,6 @@
</span><span class="cx"> m_protector = nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-const String& MediaDevicesRequest::requestOrigin() const
-{
- if (scriptExecutionContext()) {
- Document* document = downcast<Document>(scriptExecutionContext());
- if (document)
- return document->url();
- }
-
- return emptyString();
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(MEDIA_STREAM)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDevicesRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include "ActiveDOMObject.h"
</span><span class="cx"> #include "MediaDevices.h"
</span><span class="cx"> #include "MediaStreamCreationClient.h"
</span><del>-#include "MediaStreamTrackSourcesRequestClient.h"
</del><span class="cx"> #include "UserMediaPermissionCheck.h"
</span><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -45,7 +44,7 @@
</span><span class="cx">
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx">
</span><del>-class MediaDevicesRequest : public MediaStreamTrackSourcesRequestClient, public UserMediaPermissionCheckClient, public ContextDestructionObserver {
</del><ins>+class MediaDevicesRequest : public RefCounted<MediaDevicesRequest>, public UserMediaPermissionCheckClient, public ContextDestructionObserver {
</ins><span class="cx"> public:
</span><span class="cx"> static RefPtr<MediaDevicesRequest> create(Document*, MediaDevices::EnumerateDevicesPromise&&, ExceptionCode&);
</span><span class="cx">
</span><span class="lines">@@ -58,10 +57,6 @@
</span><span class="cx"> private:
</span><span class="cx"> MediaDevicesRequest(ScriptExecutionContext*, MediaDevices::EnumerateDevicesPromise&&);
</span><span class="cx">
</span><del>- // MediaStreamTrackSourcesRequestClient
- const String& requestOrigin() const final;
- void didCompleteTrackSourceInfoRequest(const TrackSourceInfoVector&) final;
-
</del><span class="cx"> // ContextDestructionObserver
</span><span class="cx"> void contextDestroyed() final;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamTrackSourcesCallbackh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 GOOGLE 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 GOOGLE 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.
- */
-
-#ifndef MediaStreamTrackSourcesCallback_h
-#define MediaStreamTrackSourcesCallback_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include "SourceInfo.h"
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class MediaStreamTrackSourcesCallback : public RefCounted<MediaStreamTrackSourcesCallback> {
-public:
- virtual ~MediaStreamTrackSourcesCallback() { }
- virtual bool handleEvent(Vector<RefPtr<SourceInfo>>) = 0;
-};
-
-} // namespace WebCore
-
-#endif
-
-#endif // MediaStreamTrackSourcesCallback_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamTrackSourcesCallbackidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.idl (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.idl        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.idl        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,32 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 GOOGLE 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 GOOGLE 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.
- */
-
-[
- Conditional=MEDIA_STREAM,
- Callback=FunctionOnly,
-] callback interface MediaStreamTrackSourcesCallback {
- boolean handleEvent(sequence<SourceInfo> sources);
-};
-
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamSourceInfocpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/SourceInfo.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/SourceInfo.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/SourceInfo.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,64 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013 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 GOOGLE 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 GOOGLE 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"
-#include "SourceInfo.h"
-
-#if ENABLE(MEDIA_STREAM)
-
-#include <wtf/NeverDestroyed.h>
-
-namespace WebCore {
-
-Ref<SourceInfo> SourceInfo::create(Ref<TrackSourceInfo>&& trackSourceInfo)
-{
- return adoptRef(*new SourceInfo(WTFMove(trackSourceInfo)));
-}
-
-SourceInfo::SourceInfo(Ref<TrackSourceInfo>&& trackSourceInfo)
- : m_trackSourceInfo(WTFMove(trackSourceInfo))
-{
-}
-
-const AtomicString& SourceInfo::kind() const
-{
- static NeverDestroyed<AtomicString> audioKind("audio", AtomicString::ConstructFromLiteral);
- static NeverDestroyed<AtomicString> videoKind("video", AtomicString::ConstructFromLiteral);
-
- switch (m_trackSourceInfo->kind()) {
- case TrackSourceInfo::Audio:
- return audioKind;
- case TrackSourceInfo::Video:
- return videoKind;
- }
-
- ASSERT_NOT_REACHED();
- return emptyAtom;
-}
-
-} // namespace WebCore
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamSourceInfoh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/SourceInfo.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/SourceInfo.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/SourceInfo.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,59 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013 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 GOOGLE 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 GOOGLE 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.
- */
-
-#ifndef SourceInfo_h
-#define SourceInfo_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include "MediaStreamTrackSourcesRequestClient.h"
-#include "ScriptWrappable.h"
-#include <wtf/Forward.h>
-#include <wtf/RefCounted.h>
-#include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class SourceInfo : public RefCounted<SourceInfo>, public ScriptWrappable {
-public:
- static Ref<SourceInfo> create(Ref<TrackSourceInfo>&&);
-
- const AtomicString& sourceId() const { return m_trackSourceInfo->id(); }
- const AtomicString& label() const { return m_trackSourceInfo->label(); }
- const AtomicString& kind() const;
-
-private:
- SourceInfo(Ref<TrackSourceInfo>&&);
-
- Ref<TrackSourceInfo> m_trackSourceInfo;
-};
-
-} // namespace WebCore
-
-#endif // SourceInfo_h
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamSourceInfoidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/SourceInfo.idl (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/SourceInfo.idl        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/Modules/mediastream/SourceInfo.idl        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 GOOGLE 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 GOOGLE 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.
- */
-
-[
- ImplementationLacksVTable,
- NoInterfaceObject,
- Conditional=MEDIA_STREAM,
-] interface SourceInfo {
- readonly attribute DOMString sourceId;
- readonly attribute DOMString kind;
- readonly attribute DOMString label;
-};
</del></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -174,14 +174,6 @@
</span><span class="cx">                 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */ = {isa = PBXBuildFile; fileRef = 074E82B918A69F0E007EF54C /* PlatformTimeRanges.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0753860214489E9800B78452 /* CachedTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0753860014489E9800B78452 /* CachedTextTrack.cpp */; };
</span><span class="cx">                 0753860314489E9800B78452 /* CachedTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 0753860114489E9800B78452 /* CachedTextTrack.h */; };
</span><del>-                076306D017E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 076306CC17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h */; };
-                076306D717E149CF005A7C4E /* SourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076306D417E149CF005A7C4E /* SourceInfo.cpp */; };
-                076306D817E149D0005A7C4E /* SourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 076306D517E149CF005A7C4E /* SourceInfo.h */; };
-                076306DC17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076306DA17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp */; };
-                076306DD17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 076306DB17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h */; };
-                076306E017E16089005A7C4E /* JSSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076306DE17E16089005A7C4E /* JSSourceInfo.cpp */; };
-                076306E117E16089005A7C4E /* JSSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 076306DF17E16089005A7C4E /* JSSourceInfo.h */; };
-                076306E317E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 076306E217E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 07638A991884487200E15A1B /* MediaSessionManagerIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 07638A971884487200E15A1B /* MediaSessionManagerIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 07638A9A1884487200E15A1B /* MediaSessionManagerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07638A981884487200E15A1B /* MediaSessionManagerIOS.mm */; };
</span><span class="cx">                 076970861463AD8700F502CF /* TextTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076970841463AD8700F502CF /* TextTrackList.cpp */; };
</span><span class="lines">@@ -307,6 +299,9 @@
</span><span class="cx">                 07B5A2DB1464320A00A81ECE /* JSTextTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A2D91464320A00A81ECE /* JSTextTrackList.cpp */; };
</span><span class="cx">                 07B5A2DC1464320A00A81ECE /* JSTextTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B5A2DA1464320A00A81ECE /* JSTextTrackList.h */; };
</span><span class="cx">                 07B5A30D14687D7100A81ECE /* JSTextTrackListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */; };
</span><ins>+                07B7116D1D899E63009F0FFB /* CaptureDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B7116A1D899E63009F0FFB /* CaptureDevice.h */; };
+                07B7116E1D899E63009F0FFB /* CaptureDeviceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B7116B1D899E63009F0FFB /* CaptureDeviceManager.cpp */; };
+                07B7116F1D899E63009F0FFB /* CaptureDeviceManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B7116C1D899E63009F0FFB /* CaptureDeviceManager.h */; };
</ins><span class="cx">                 07BDD6EC1469B4C2009C9F85 /* JSTrackEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A30A14687B8400A81ECE /* JSTrackEventCustom.cpp */; };
</span><span class="cx">                 07C1C0E21BFB600100BD2256 /* MediaTrackSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */; };
</span><span class="cx">                 07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -1246,9 +1241,6 @@
</span><span class="cx">                 2E3BBF081162DA1100B9409A /* UUID.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E3BBF061162DA1100B9409A /* UUID.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2E3BC0CA117D3E0800B9409A /* JSFileError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E3BC0C8117D3E0800B9409A /* JSFileError.cpp */; };
</span><span class="cx">                 2E3BC0CB117D3E0800B9409A /* JSFileError.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E3BC0C9117D3E0800B9409A /* JSFileError.h */; };
</span><del>-                2E3C8C621BFBA97500309566 /* CaptureDeviceManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E3C8C611BFBA8DC00309566 /* CaptureDeviceManager.h */; };
-                2E3C8C641BFBB75D00309566 /* CaptureDeviceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E3C8C631BFBB75D00309566 /* CaptureDeviceManager.cpp */; };
-                2E3C8C681BFBF8E100309566 /* CaptureDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E3C8C661BFBF8E100309566 /* CaptureDeviceInfo.h */; };
</del><span class="cx">                 2E4346450F546A8200B0F1BA /* Worker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E4346330F546A8200B0F1BA /* Worker.cpp */; };
</span><span class="cx">                 2E4346460F546A8200B0F1BA /* Worker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4346340F546A8200B0F1BA /* Worker.h */; };
</span><span class="cx">                 2E4346480F546A8200B0F1BA /* WorkerGlobalScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E4346360F546A8200B0F1BA /* WorkerGlobalScope.cpp */; };
</span><span class="lines">@@ -7016,16 +7008,6 @@
</span><span class="cx">                 074E82B918A69F0E007EF54C /* PlatformTimeRanges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformTimeRanges.h; sourceTree = "<group>"; };
</span><span class="cx">                 0753860014489E9800B78452 /* CachedTextTrack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachedTextTrack.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 0753860114489E9800B78452 /* CachedTextTrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedTextTrack.h; sourceTree = "<group>"; };
</span><del>-                076306CC17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamTrackSourcesCallback.h; sourceTree = "<group>"; };
-                076306CD17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaStreamTrackSourcesCallback.idl; sourceTree = "<group>"; };
-                076306D417E149CF005A7C4E /* SourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceInfo.cpp; sourceTree = "<group>"; };
-                076306D517E149CF005A7C4E /* SourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceInfo.h; sourceTree = "<group>"; };
-                076306D617E149CF005A7C4E /* SourceInfo.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SourceInfo.idl; sourceTree = "<group>"; };
-                076306DA17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamTrackSourcesCallback.cpp; sourceTree = "<group>"; };
-                076306DB17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStreamTrackSourcesCallback.h; sourceTree = "<group>"; };
-                076306DE17E16089005A7C4E /* JSSourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSourceInfo.cpp; sourceTree = "<group>"; };
-                076306DF17E16089005A7C4E /* JSSourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSourceInfo.h; sourceTree = "<group>"; };
-                076306E217E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamTrackSourcesRequestClient.h; sourceTree = "<group>"; };
</del><span class="cx">                 07638A971884487200E15A1B /* MediaSessionManagerIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSessionManagerIOS.h; sourceTree = "<group>"; };
</span><span class="cx">                 07638A981884487200E15A1B /* MediaSessionManagerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MediaSessionManagerIOS.mm; sourceTree = "<group>"; };
</span><span class="cx">                 076970841463AD8700F502CF /* TextTrackList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextTrackList.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -7107,6 +7089,9 @@
</span><span class="cx">                 07B5A3061468537100A81ECE /* TextTrackList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TextTrackList.idl; sourceTree = "<group>"; };
</span><span class="cx">                 07B5A30A14687B8400A81ECE /* JSTrackEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTrackEventCustom.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTextTrackListCustom.cpp; sourceTree = "<group>"; };
</span><ins>+                07B7116A1D899E63009F0FFB /* CaptureDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CaptureDevice.h; sourceTree = "<group>"; };
+                07B7116B1D899E63009F0FFB /* CaptureDeviceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CaptureDeviceManager.cpp; sourceTree = "<group>"; };
+                07B7116C1D899E63009F0FFB /* CaptureDeviceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CaptureDeviceManager.h; sourceTree = "<group>"; };
</ins><span class="cx">                 07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaTrackSupportedConstraints.h; sourceTree = "<group>"; };
</span><span class="cx">                 07C1C0E11BFB600100BD2256 /* MediaTrackSupportedConstraints.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaTrackSupportedConstraints.idl; sourceTree = "<group>"; };
</span><span class="cx">                 07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceSupportedConstraints.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -8178,9 +8163,6 @@
</span><span class="cx">                 2E3BBF061162DA1100B9409A /* UUID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UUID.h; sourceTree = "<group>"; };
</span><span class="cx">                 2E3BC0C8117D3E0800B9409A /* JSFileError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileError.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 2E3BC0C9117D3E0800B9409A /* JSFileError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileError.h; sourceTree = "<group>"; };
</span><del>-                2E3C8C611BFBA8DC00309566 /* CaptureDeviceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CaptureDeviceManager.h; sourceTree = "<group>"; };
-                2E3C8C631BFBB75D00309566 /* CaptureDeviceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CaptureDeviceManager.cpp; sourceTree = "<group>"; };
-                2E3C8C661BFBF8E100309566 /* CaptureDeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CaptureDeviceInfo.h; sourceTree = "<group>"; };
</del><span class="cx">                 2E4346330F546A8200B0F1BA /* Worker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Worker.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 2E4346340F546A8200B0F1BA /* Worker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Worker.h; sourceTree = "<group>"; };
</span><span class="cx">                 2E4346350F546A8200B0F1BA /* Worker.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Worker.idl; sourceTree = "<group>"; };
</span><span class="lines">@@ -14478,9 +14460,6 @@
</span><span class="cx">                 07221B4617CEC32700848E51 /* mediastream */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                2E3C8C661BFBF8E100309566 /* CaptureDeviceInfo.h */,
-                                2E3C8C631BFBB75D00309566 /* CaptureDeviceManager.cpp */,
-                                2E3C8C611BFBA8DC00309566 /* CaptureDeviceManager.h */,
</del><span class="cx">                                 073794ED19EE364200E5A045 /* DOMURLMediaStream.cpp */,
</span><span class="cx">                                 15FCC9FD1B4DF85600E72326 /* DOMURLMediaStream.h */,
</span><span class="cx">                                 073794EE19EE364200E5A045 /* DOMURLMediaStream.idl */,
</span><span class="lines">@@ -14518,8 +14497,6 @@
</span><span class="cx">                                 07221B5717CEC32700848E51 /* MediaStreamTrackEvent.cpp */,
</span><span class="cx">                                 07221B5817CEC32700848E51 /* MediaStreamTrackEvent.h */,
</span><span class="cx">                                 07221B5917CEC32700848E51 /* MediaStreamTrackEvent.idl */,
</span><del>-                                076306CC17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h */,
-                                076306CD17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.idl */,
</del><span class="cx">                                 0705853917FE0770005F2BCB /* MediaTrackConstraint.cpp */,
</span><span class="cx">                                 0705851D17FDC140005F2BCB /* MediaTrackConstraint.h */,
</span><span class="cx">                                 0705851E17FDC140005F2BCB /* MediaTrackConstraint.idl */,
</span><span class="lines">@@ -14596,9 +14573,6 @@
</span><span class="cx">                                 5E2C43661BCEE3720001E2BC /* RTCTrackEvent.idl */,
</span><span class="cx">                                 5EA3D6E11C859DAA00300BBB /* SDPProcessor.cpp */,
</span><span class="cx">                                 5EA3D6E21C859DAA00300BBB /* SDPProcessor.h */,
</span><del>-                                076306D417E149CF005A7C4E /* SourceInfo.cpp */,
-                                076306D517E149CF005A7C4E /* SourceInfo.h */,
-                                076306D617E149CF005A7C4E /* SourceInfo.idl */,
</del><span class="cx">                                 07221B8D17CEC32700848E51 /* UserMediaClient.h */,
</span><span class="cx">                                 07221B8E17CEC32700848E51 /* UserMediaController.cpp */,
</span><span class="cx">                                 07221B8F17CEC32700848E51 /* UserMediaController.h */,
</span><span class="lines">@@ -14615,6 +14589,9 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 0729B14D17CFCCA0004F1D60 /* mac */,
</span><span class="cx">                                 07D6A4F61BF2307D00174146 /* AudioTrackPrivateMediaStream.h */,
</span><ins>+                                07B7116A1D899E63009F0FFB /* CaptureDevice.h */,
+                                07B7116B1D899E63009F0FFB /* CaptureDeviceManager.cpp */,
+                                07B7116C1D899E63009F0FFB /* CaptureDeviceManager.h */,
</ins><span class="cx">                                 5EBB89301C7777E100C65D41 /* IceCandidate.h */,
</span><span class="cx">                                 1BE5BFC11D515715001666D9 /* MediaConstraints.cpp */,
</span><span class="cx">                                 07221B9917CF0AD400848E51 /* MediaConstraints.h */,
</span><span class="lines">@@ -14630,7 +14607,6 @@
</span><span class="cx">                                 07221B9D17CF0AD400848E51 /* MediaStreamPrivate.h */,
</span><span class="cx">                                 07FFDE66181AED420072D409 /* MediaStreamTrackPrivate.cpp */,
</span><span class="cx">                                 07FFDE67181AED420072D409 /* MediaStreamTrackPrivate.h */,
</span><del>-                                076306E217E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h */,
</del><span class="cx">                                 5EBB89381C77BDA400C65D41 /* PeerMediaDescription.h */,
</span><span class="cx">                                 4A4F656B1AA997F100E38CDD /* RealtimeMediaSource.cpp */,
</span><span class="cx">                                 4A4F656C1AA997F100E38CDD /* RealtimeMediaSource.h */,
</span><span class="lines">@@ -14748,8 +14724,6 @@
</span><span class="cx">                                 07277E4717D018CC0015534D /* JSMediaStreamTrack.h */,
</span><span class="cx">                                 07277E4817D018CC0015534D /* JSMediaStreamTrackEvent.cpp */,
</span><span class="cx">                                 07277E4917D018CC0015534D /* JSMediaStreamTrackEvent.h */,
</span><del>-                                076306DA17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp */,
-                                076306DB17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h */,
</del><span class="cx">                                 0705852B17FDE6D9005F2BCB /* JSMediaTrackConstraint.cpp */,
</span><span class="cx">                                 0705852C17FDE6D9005F2BCB /* JSMediaTrackConstraint.h */,
</span><span class="cx">                                 0705852D17FDE6D9005F2BCB /* JSMediaTrackConstraints.cpp */,
</span><span class="lines">@@ -14794,8 +14768,6 @@
</span><span class="cx">                                 07969DAA17D14151007FF842 /* JSRTCStatsResponse.h */,
</span><span class="cx">                                 5E2C43691BCF05C80001E2BC /* JSRTCTrackEvent.cpp */,
</span><span class="cx">                                 5E2C436A1BCF05C80001E2BC /* JSRTCTrackEvent.h */,
</span><del>-                                076306DE17E16089005A7C4E /* JSSourceInfo.cpp */,
-                                076306DF17E16089005A7C4E /* JSSourceInfo.h */,
</del><span class="cx">                         );
</span><span class="cx">                         name = MediaStream;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="lines">@@ -23993,8 +23965,6 @@
</span><span class="cx">                                 49484FCE102CF23C00187DD3 /* CanvasStyle.h in Headers */,
</span><span class="cx">                                 079D0868162F20E800DB8658 /* CaptionUserPreferences.h in Headers */,
</span><span class="cx">                                 079D086B162F21F900DB8658 /* CaptionUserPreferencesMediaAF.h in Headers */,
</span><del>-                                2E3C8C681BFBF8E100309566 /* CaptureDeviceInfo.h in Headers */,
-                                2E3C8C621BFBA97500309566 /* CaptureDeviceManager.h in Headers */,
</del><span class="cx">                                 99CC0B4F18BE9849006CEBCC /* CapturingInputCursor.h in Headers */,
</span><span class="cx">                                 CDC734151977896D0046BFC5 /* CARingBuffer.h in Headers */,
</span><span class="cx">                                 6550B69E099DF0270090D781 /* CDATASection.h in Headers */,
</span><span class="lines">@@ -24234,6 +24204,7 @@
</span><span class="cx">                                 A8EA80070A19516E00A8EF5F /* CSSStyleSheet.h in Headers */,
</span><span class="cx">                                 FC54D05716A7673100575E4D /* CSSSupportsRule.h in Headers */,
</span><span class="cx">                                 BC80C9880CD294EE00A0B7B3 /* CSSTimingFunctionValue.h in Headers */,
</span><ins>+                                07B7116D1D899E63009F0FFB /* CaptureDevice.h in Headers */,
</ins><span class="cx">                                 946D373A1D6CDFC00077084F /* CSSTokenizer.h in Headers */,
</span><span class="cx">                                 946D373C1D6CDFC00077084F /* CSSTokenizerInputStream.h in Headers */,
</span><span class="cx">                                 9AB1F38018E2489A00534743 /* CSSToLengthConversionData.h in Headers */,
</span><span class="lines">@@ -25197,7 +25168,6 @@
</span><span class="cx">                                 07277E5117D018CC0015534D /* JSMediaStreamEvent.h in Headers */,
</span><span class="cx">                                 07277E5317D018CC0015534D /* JSMediaStreamTrack.h in Headers */,
</span><span class="cx">                                 07277E5517D018CC0015534D /* JSMediaStreamTrackEvent.h in Headers */,
</span><del>-                                076306DD17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h in Headers */,
</del><span class="cx">                                 0705853217FDE6D9005F2BCB /* JSMediaTrackConstraint.h in Headers */,
</span><span class="cx">                                 0705853417FDE6D9005F2BCB /* JSMediaTrackConstraints.h in Headers */,
</span><span class="cx">                                 0705853617FDE6D9005F2BCB /* JSMediaTrackConstraintSet.h in Headers */,
</span><span class="lines">@@ -25285,7 +25255,6 @@
</span><span class="cx">                                 9BDA64D81B975CF2009C4387 /* JSShadowRoot.h in Headers */,
</span><span class="cx">                                 CD9DE17B17AAC75B00EA386D /* JSSourceBuffer.h in Headers */,
</span><span class="cx">                                 CD9DE17D17AAC75B00EA386D /* JSSourceBufferList.h in Headers */,
</span><del>-                                076306E117E16089005A7C4E /* JSSourceInfo.h in Headers */,
</del><span class="cx">                                 AA7FEEAD16A4E74B004C0C33 /* JSSpeechSynthesis.h in Headers */,
</span><span class="cx">                                 AA2A5AD216A4860A00976A25 /* JSSpeechSynthesisEvent.h in Headers */,
</span><span class="cx">                                 AA7FEEA716A4E6F3004C0C33 /* JSSpeechSynthesisUtterance.h in Headers */,
</span><span class="lines">@@ -25715,8 +25684,6 @@
</span><span class="cx">                                 078E091817D14D1C00420AA1 /* MediaStreamTrack.h in Headers */,
</span><span class="cx">                                 078E091917D14D1C00420AA1 /* MediaStreamTrackEvent.h in Headers */,
</span><span class="cx">                                 07FFDE69181AED420072D409 /* MediaStreamTrackPrivate.h in Headers */,
</span><del>-                                076306D017E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h in Headers */,
-                                076306E317E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h in Headers */,
</del><span class="cx">                                 CD641EC01819B36000EE4C41 /* MediaTimeAVFoundation.h in Headers */,
</span><span class="cx">                                 CD60C0C7193E87C7003C656B /* MediaTimeQTKit.h in Headers */,
</span><span class="cx">                                 0705852117FDC140005F2BCB /* MediaTrackConstraint.h in Headers */,
</span><span class="lines">@@ -26222,6 +26189,7 @@
</span><span class="cx">                                 514C76790CE923A1007EF3CD /* ResourceHandle.h in Headers */,
</span><span class="cx">                                 26FAE4CD1852E3A5004C8C46 /* ResourceHandleCFURLConnectionDelegate.h in Headers */,
</span><span class="cx">                                 26C15CF71857E15E00F15C03 /* ResourceHandleCFURLConnectionDelegateWithOperationQueue.h in Headers */,
</span><ins>+                                07B7116F1D899E63009F0FFB /* CaptureDeviceManager.h in Headers */,
</ins><span class="cx">                                 514C767A0CE923A1007EF3CD /* ResourceHandleClient.h in Headers */,
</span><span class="cx">                                 514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */,
</span><span class="cx">                                 51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */,
</span><span class="lines">@@ -26439,7 +26407,6 @@
</span><span class="cx">                                 CDC8B5AB18047FF10016E685 /* SourceBufferPrivateAVFObjC.h in Headers */,
</span><span class="cx">                                 CDC8B5AD1804AE5D0016E685 /* SourceBufferPrivateClient.h in Headers */,
</span><span class="cx">                                 84A81F420FC7E02700955300 /* SourceGraphic.h in Headers */,
</span><del>-                                076306D817E149D0005A7C4E /* SourceInfo.h in Headers */,
</del><span class="cx">                                 D01A27AE10C9BFD800026A42 /* SpaceSplitString.h in Headers */,
</span><span class="cx">                                 626CDE0F1140424C001E5A68 /* SpatialNavigation.h in Headers */,
</span><span class="cx">                                 AA2A5AD416A4861100975A25 /* SpeechSynthesis.h in Headers */,
</span><span class="lines">@@ -27733,7 +27700,6 @@
</span><span class="cx">                                 49484FCD102CF23C00187DD3 /* CanvasStyle.cpp in Sources */,
</span><span class="cx">                                 072CA86116CB4DC3008AE131 /* CaptionUserPreferences.cpp in Sources */,
</span><span class="cx">                                 079D086C162F21F900DB8658 /* CaptionUserPreferencesMediaAF.cpp in Sources */,
</span><del>-                                2E3C8C641BFBB75D00309566 /* CaptureDeviceManager.cpp in Sources */,
</del><span class="cx">                                 99CC0B4E18BE9849006CEBCC /* CapturingInputCursor.cpp in Sources */,
</span><span class="cx">                                 CDC734141977896C0046BFC5 /* CARingBuffer.cpp in Sources */,
</span><span class="cx">                                 6550B69D099DF0270090D781 /* CDATASection.cpp in Sources */,
</span><span class="lines">@@ -27885,6 +27851,7 @@
</span><span class="cx">                                 FBB0C5B717BBD626003D3677 /* CSSFilterImageValue.cpp in Sources */,
</span><span class="cx">                                 BC64B4D50CB4298A005F2B62 /* CSSFontFace.cpp in Sources */,
</span><span class="cx">                                 409EBDB216B7EE7400CBA3FC /* CSSFontFaceLoadEvent.cpp in Sources */,
</span><ins>+                                07B7116E1D899E63009F0FFB /* CaptureDeviceManager.cpp in Sources */,
</ins><span class="cx">                                 A80E6CE70A1989CA007FB8C5 /* CSSFontFaceRule.cpp in Sources */,
</span><span class="cx">                                 C26017A31C72DC9900F74A16 /* CSSFontFaceSet.cpp in Sources */,
</span><span class="cx">                                 BC64B4D70CB4298A005F2B62 /* CSSFontFaceSource.cpp in Sources */,
</span><span class="lines">@@ -28904,7 +28871,6 @@
</span><span class="cx">                                 07277E5217D018CC0015534D /* JSMediaStreamTrack.cpp in Sources */,
</span><span class="cx">                                 07C59B6E17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp in Sources */,
</span><span class="cx">                                 07277E5417D018CC0015534D /* JSMediaStreamTrackEvent.cpp in Sources */,
</span><del>-                                076306DC17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp in Sources */,
</del><span class="cx">                                 0705853117FDE6D9005F2BCB /* JSMediaTrackConstraint.cpp in Sources */,
</span><span class="cx">                                 0705853317FDE6D9005F2BCB /* JSMediaTrackConstraints.cpp in Sources */,
</span><span class="cx">                                 0705853517FDE6D9005F2BCB /* JSMediaTrackConstraintSet.cpp in Sources */,
</span><span class="lines">@@ -29003,7 +28969,6 @@
</span><span class="cx">                                 9BDA64D71B975CE5009C4387 /* JSShadowRoot.cpp in Sources */,
</span><span class="cx">                                 CD9DE17A17AAC75B00EA386D /* JSSourceBuffer.cpp in Sources */,
</span><span class="cx">                                 CD9DE17C17AAC75B00EA386D /* JSSourceBufferList.cpp in Sources */,
</span><del>-                                076306E017E16089005A7C4E /* JSSourceInfo.cpp in Sources */,
</del><span class="cx">                                 AA7FEEA416A4E6F3004C0C33 /* JSSpeechSynthesis.cpp in Sources */,
</span><span class="cx">                                 AA2A5AD316A4860D00976A25 /* JSSpeechSynthesisEvent.cpp in Sources */,
</span><span class="cx">                                 AA7FEEA616A4E6F3004C0C33 /* JSSpeechSynthesisUtterance.cpp in Sources */,
</span><span class="lines">@@ -30009,7 +29974,6 @@
</span><span class="cx">                                 CD3A496417A9D01B00274E42 /* SourceBufferList.cpp in Sources */,
</span><span class="cx">                                 CDC8B5AA18047FF10016E685 /* SourceBufferPrivateAVFObjC.mm in Sources */,
</span><span class="cx">                                 84A81F410FC7E02700955300 /* SourceGraphic.cpp in Sources */,
</span><del>-                                076306D717E149CF005A7C4E /* SourceInfo.cpp in Sources */,
</del><span class="cx">                                 D01A27AD10C9BFD800026A42 /* SpaceSplitString.cpp in Sources */,
</span><span class="cx">                                 626CDE0E1140424C001E5A68 /* SpatialNavigation.cpp in Sources */,
</span><span class="cx">                                 AA2A5AD516A4861400975A25 /* SpeechSynthesis.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamCaptureDevicehfromrev205914trunkSourceWebCoreModulesmediastreamCaptureDeviceInfoh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/mediastream/CaptureDevice.h (from rev 205914, trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h) (0 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/CaptureDevice.h         (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/CaptureDevice.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <RealtimeMediaSource.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class CaptureDevice {
+public:
+ enum class SourceKind { Audio, Video };
+
+ CaptureDevice(const String& persistentId, SourceKind kind, const String& label, const String& groupId)
+ : m_persistentId(persistentId)
+ , m_kind(kind)
+ , m_label(label)
+ , m_groupId(groupId)
+ {
+ }
+
+ const String& persistentId() const { return m_persistentId; }
+ const String& label() const { return m_label; }
+ const String& groupId() const { return m_groupId; }
+ SourceKind kind() const { return m_kind; }
+
+private:
+ String m_persistentId;
+ SourceKind m_kind;
+ String m_label;
+ String m_groupId;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamCaptureDeviceManagercppfromrev205914trunkSourceWebCoreModulesmediastreamCaptureDeviceManagercpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.cpp (from rev 205914, trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp) (0 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.cpp         (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -0,0 +1,209 @@
</span><ins>+/*
+ * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "CaptureDeviceManager.h"
+
+#if ENABLE(MEDIA_STREAM)
+
+#import "Logging.h"
+#import "MediaConstraints.h"
+#import "RealtimeMediaSource.h"
+#import "RealtimeMediaSourceCenter.h"
+#import "RealtimeMediaSourceSettings.h"
+#import "UUID.h"
+#import <wtf/MainThread.h>
+#import <wtf/NeverDestroyed.h>
+#import <wtf/text/StringHash.h>
+
+using namespace WebCore;
+
+CaptureDeviceManager::~CaptureDeviceManager()
+{
+}
+
+Vector<CaptureDevice> CaptureDeviceManager::getSourcesInfo()
+{
+ Vector<CaptureDevice> sourcesInfo;
+ for (auto captureDevice : captureDeviceList()) {
+ if (!captureDevice.m_enabled || captureDevice.m_sourceType == RealtimeMediaSource::None)
+ continue;
+
+ CaptureDevice::SourceKind kind = captureDevice.m_sourceType == RealtimeMediaSource::Video ? CaptureDevice::SourceKind::Video : CaptureDevice::SourceKind::Audio;
+ sourcesInfo.append(CaptureDevice(captureDevice.m_persistentDeviceID, kind, captureDevice.m_localizedName, captureDevice.m_groupID));
+ }
+ LOG(Media, "CaptureDeviceManager::getSourcesInfo(%p), found %zu active devices", this, sourcesInfo.size());
+ return sourcesInfo;
+}
+
+bool CaptureDeviceManager::captureDeviceFromDeviceID(const String& captureDeviceID, CaptureDeviceInfo& foundDevice)
+{
+ for (auto& device : captureDeviceList()) {
+ if (device.m_persistentDeviceID == captureDeviceID) {
+ foundDevice = device;
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool CaptureDeviceManager::verifyConstraintsForMediaType(RealtimeMediaSource::Type type, const MediaConstraints& constraints, const CaptureSessionInfo* session, String& invalidConstraint)
+{
+ auto& mandatoryConstraints = constraints.mandatoryConstraints();
+ for (auto& nameConstraintPair : mandatoryConstraints) {
+ if (sessionSupportsConstraint(session, type, *nameConstraintPair.value))
+ continue;
+
+ invalidConstraint = nameConstraintPair.key;
+ return false;
+ }
+
+ return true;
+}
+
+Vector<RefPtr<RealtimeMediaSource>> CaptureDeviceManager::bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type type, MediaConstraints& constraints)
+{
+ Vector<RefPtr<RealtimeMediaSource>> bestSourcesList;
+
+ struct {
+ bool operator()(RefPtr<RealtimeMediaSource> a, RefPtr<RealtimeMediaSource> b)
+ {
+ return a->fitnessScore() < b->fitnessScore();
+ }
+ } sortBasedOnFitnessScore;
+
+ for (auto& captureDevice : captureDeviceList()) {
+ if (!captureDevice.m_enabled || captureDevice.m_sourceId.isEmpty() || captureDevice.m_sourceType == RealtimeMediaSource::None)
+ continue;
+
+ if (RefPtr<RealtimeMediaSource> captureSource = sourceWithUID(captureDevice.m_persistentDeviceID, type, &constraints))
+ bestSourcesList.append(captureSource.leakRef());
+ }
+ std::sort(bestSourcesList.begin(), bestSourcesList.end(), sortBasedOnFitnessScore);
+ return bestSourcesList;
+}
+
+RefPtr<RealtimeMediaSource> CaptureDeviceManager::sourceWithUID(const String& deviceUID, RealtimeMediaSource::Type type, MediaConstraints* constraints)
+{
+ for (auto& captureDevice : captureDeviceList()) {
+ if (captureDevice.m_persistentDeviceID != deviceUID || captureDevice.m_sourceType != type)
+ continue;
+
+ if (!captureDevice.m_enabled || type == RealtimeMediaSource::None || captureDevice.m_sourceId.isEmpty())
+ continue;
+
+ if (RealtimeMediaSource* mediaSource = createMediaSourceForCaptureDeviceWithConstraints(captureDevice, constraints))
+ return mediaSource;
+ }
+ return nullptr;
+}
+
+CaptureDeviceInfo* CaptureDeviceManager::bestDeviceForFacingMode(RealtimeMediaSourceSettings::VideoFacingMode facingMode)
+{
+ if (facingMode == RealtimeMediaSourceSettings::Unknown)
+ return nullptr;
+
+ for (auto& device : captureDeviceList()) {
+ if (device.m_sourceType == RealtimeMediaSource::Video && device.m_position == facingMode)
+ return &device;
+ }
+ return nullptr;
+}
+
+static inline RealtimeMediaSourceSettings::VideoFacingMode facingModeFromString(const String& facingModeString)
+{
+ static NeverDestroyed<AtomicString> userFacingModeString("user", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> environmentFacingModeString("environment", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> leftFacingModeString("left", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> rightFacingModeString("right", AtomicString::ConstructFromLiteral);
+ if (facingModeString == userFacingModeString)
+ return RealtimeMediaSourceSettings::User;
+ if (facingModeString == environmentFacingModeString)
+ return RealtimeMediaSourceSettings::Environment;
+ if (facingModeString == leftFacingModeString)
+ return RealtimeMediaSourceSettings::Left;
+ if (facingModeString == rightFacingModeString)
+ return RealtimeMediaSourceSettings::Right;
+ return RealtimeMediaSourceSettings::Unknown;
+}
+
+bool CaptureDeviceManager::sessionSupportsConstraint(const CaptureSessionInfo*, RealtimeMediaSource::Type type, const MediaConstraint& constraint)
+{
+ const RealtimeMediaSourceSupportedConstraints& supportedConstraints = RealtimeMediaSourceCenter::singleton().supportedConstraints();
+ MediaConstraintType constraintType = constraint.type();
+ if (!supportedConstraints.supportsConstraint(constraintType))
+ return false;
+
+ switch (constraintType) {
+ case MediaConstraintType::Width:
+ return type == RealtimeMediaSource::Video;
+
+ case MediaConstraintType::Height:
+ return type == RealtimeMediaSource::Video;
+
+ case MediaConstraintType::FrameRate: {
+ if (type == RealtimeMediaSource::Audio)
+ return false;
+
+ return isSupportedFrameRate(constraint);
+ }
+ case MediaConstraintType::FacingMode: {
+ if (type == RealtimeMediaSource::Audio)
+ return false;
+
+ // FIXME: https://bugs.webkit.org/show_bug.cgi?id=160793. Handle sequence of facingMode constraints.
+ Vector<String> exactFacingMode;
+ if (!constraint.getExact(exactFacingMode))
+ return false;
+
+ return bestDeviceForFacingMode(facingModeFromString(exactFacingMode[0]));
+ }
+ default:
+ return false;
+ }
+}
+
+bool CaptureDeviceManager::isSupportedFrameRate(const MediaConstraint& constraint) const
+{
+ // FIXME: https://bugs.webkit.org/show_bug.cgi?id=160794. Dynamically check media devices if frame rate is supported.
+ bool isSupported = true;
+
+ int min = 0;
+ if (constraint.getMin(min))
+ isSupported &= min > 60;
+
+ int max = 60;
+ if (constraint.getMax(max))
+ isSupported &= max < min;
+
+ int exact;
+ if (constraint.getExact(exact))
+ isSupported &= (exact < min || exact > max);
+
+ return isSupported;
+}
+
+#endif // ENABLE(MEDIA_STREAM)
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamCaptureDeviceManagerhfromrev205914trunkSourceWebCoreModulesmediastreamCaptureDeviceManagerh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.h (from rev 205914, trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h) (0 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.h         (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -0,0 +1,78 @@
</span><ins>+/*
+ * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "CaptureDevice.h"
+
+namespace WebCore {
+
+struct CaptureDeviceInfo {
+public:
+ String m_persistentDeviceID;
+ String m_localizedName;
+ String m_groupID;
+
+ String m_sourceId;
+
+ bool m_enabled { false };
+ RealtimeMediaSource::Type m_sourceType { RealtimeMediaSource::None };
+ RealtimeMediaSourceSettings::VideoFacingMode m_position { RealtimeMediaSourceSettings::Unknown };
+};
+
+class CaptureSessionInfo {
+public:
+ virtual ~CaptureSessionInfo() { }
+ virtual bool supportsVideoSize(const String& /* videoSize */) const { return false; }
+ virtual String bestSessionPresetForVideoDimensions(int /* width */, int /* height */) const { return emptyString(); }
+};
+
+class CaptureDeviceManager {
+public:
+ virtual Vector<CaptureDeviceInfo>& captureDeviceList() = 0;
+ virtual void refreshCaptureDeviceList() { }
+ virtual Vector<CaptureDevice> getSourcesInfo();
+ virtual Vector<RefPtr<RealtimeMediaSource>> bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type, MediaConstraints&);
+ virtual RefPtr<RealtimeMediaSource> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*);
+
+ virtual bool verifyConstraintsForMediaType(RealtimeMediaSource::Type, const MediaConstraints&, const CaptureSessionInfo*, String&);
+
+protected:
+ virtual ~CaptureDeviceManager();
+ virtual RealtimeMediaSource* createMediaSourceForCaptureDeviceWithConstraints(const CaptureDeviceInfo&, MediaConstraints*) = 0;
+
+ virtual CaptureSessionInfo defaultCaptureSession() const { return CaptureSessionInfo(); }
+ virtual bool sessionSupportsConstraint(const CaptureSessionInfo*, RealtimeMediaSource::Type, const MediaConstraint&);
+ virtual bool isSupportedFrameRate(const MediaConstraint&) const;
+
+ bool captureDeviceFromDeviceID(const String& captureDeviceID, CaptureDeviceInfo& source);
+ CaptureDeviceInfo* bestDeviceForFacingMode(RealtimeMediaSourceSettings::VideoFacingMode);
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamMediaStreamTrackSourcesRequestClienth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,98 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef MediaStreamTrackSourcesRequestClient_h
-#define MediaStreamTrackSourcesRequestClient_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/Ref.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/AtomicString.h>
-
-namespace WebCore {
-
-class TrackSourceInfo : public RefCounted<TrackSourceInfo> {
-public:
- enum SourceKind { Audio, Video };
-
- static PassRefPtr<TrackSourceInfo> create(const AtomicString& persistentId, const AtomicString& id, SourceKind kind, const AtomicString& label)
- {
- return adoptRef(new TrackSourceInfo(persistentId, id, kind, label));
- }
-
- static Ref<TrackSourceInfo> create(const AtomicString& persistentId, const AtomicString& id, SourceKind kind, const AtomicString& label, const AtomicString& groupId)
- {
- return adoptRef(*new TrackSourceInfo(persistentId, id, kind, label, groupId));
- }
-
- const AtomicString& id() const { return m_id; }
- const AtomicString& persistentId() const { return m_persistentId; }
- const AtomicString& label() const { return m_label; }
- const AtomicString& groupId() const { return m_groupId; }
- SourceKind kind() const { return m_kind; }
-
-private:
- TrackSourceInfo(const AtomicString& persistentId, const AtomicString& id, SourceKind kind, const AtomicString& label)
- : m_persistentId(persistentId)
- , m_id(id)
- , m_kind(kind)
- , m_label(label)
- {
- }
-
- TrackSourceInfo(const AtomicString& persistentId, const AtomicString& id, SourceKind kind, const AtomicString& label, const AtomicString& groupId)
- : m_persistentId(persistentId)
- , m_id(id)
- , m_kind(kind)
- , m_label(label)
- , m_groupId(groupId)
- {
- }
-
- AtomicString m_persistentId;
- AtomicString m_id;
- SourceKind m_kind;
- AtomicString m_label;
- AtomicString m_groupId;
-};
-
-typedef Vector<RefPtr<TrackSourceInfo>> TrackSourceInfoVector;
-
-class MediaStreamTrackSourcesRequestClient : public RefCounted<MediaStreamTrackSourcesRequestClient> {
-public:
- virtual ~MediaStreamTrackSourcesRequestClient() { }
-
- virtual const String& requestOrigin() const = 0;
- virtual void didCompleteTrackSourceInfoRequest(const TrackSourceInfoVector&) = 0;
-};
-
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM)
-
-#endif // MediaStreamTrackSourcesRequestClient_h
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamRealtimeMediaSourceCenterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -41,9 +41,9 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><ins>+class CaptureDevice;
</ins><span class="cx"> class MediaConstraints;
</span><span class="cx"> class MediaStreamCreationClient;
</span><del>-class MediaStreamTrackSourcesRequestClient;
</del><span class="cx"> class RealtimeMediaSourceSettings;
</span><span class="cx"> class RealtimeMediaSourceSupportedConstraints;
</span><span class="cx"> class TrackSourceInfo;
</span><span class="lines">@@ -61,10 +61,8 @@
</span><span class="cx">
</span><span class="cx"> virtual void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) = 0;
</span><span class="cx">
</span><del>- virtual bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) = 0;
</del><ins>+ virtual Vector<CaptureDevice> getMediaStreamDevices() = 0;
</ins><span class="cx">
</span><del>- virtual RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) = 0;
-
</del><span class="cx"> virtual const RealtimeMediaSourceSupportedConstraints& supportedConstraints() { return m_supportedConstraints; }
</span><span class="cx">
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #if ENABLE(MEDIA_STREAM) && USE(AVFOUNDATION)
</span><span class="cx">
</span><span class="cx"> #include "CaptureDeviceManager.h"
</span><del>-#include "MediaStreamTrackSourcesRequestClient.h"
</del><span class="cx"> #include "RealtimeMediaSource.h"
</span><span class="cx"> #include "RealtimeMediaSourceSupportedConstraints.h"
</span><span class="cx"> #include <wtf/NeverDestroyed.h>
</span><span class="lines">@@ -63,7 +62,7 @@
</span><span class="cx"> RefPtr<RealtimeMediaSource> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) override;
</span><span class="cx"> Vector<RefPtr<RealtimeMediaSource>> bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type, MediaConstraints&) override;
</span><span class="cx">
</span><del>- TrackSourceInfoVector getSourcesInfo(const String&) override;
</del><ins>+ Vector<CaptureDevice> getSourcesInfo() override;
</ins><span class="cx"> bool verifyConstraintsForMediaType(RealtimeMediaSource::Type, const MediaConstraints&, const CaptureSessionInfo*, String&) override;
</span><span class="cx">
</span><span class="cx"> void deviceConnected();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -240,12 +240,12 @@
</span><span class="cx"> return CaptureDeviceManager::sourceWithUID(deviceUID, type, constraints);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-TrackSourceInfoVector AVCaptureDeviceManager::getSourcesInfo(const String& requestOrigin)
</del><ins>+Vector<CaptureDevice> AVCaptureDeviceManager::getSourcesInfo()
</ins><span class="cx"> {
</span><span class="cx"> if (!isAvailable())
</span><del>- return TrackSourceInfoVector();
</del><ins>+ return Vector<CaptureDevice>();
</ins><span class="cx">
</span><del>- return CaptureDeviceManager::getSourcesInfo(requestOrigin);
</del><ins>+ return CaptureDeviceManager::getSourcesInfo();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool AVCaptureDeviceManager::verifyConstraintsForMediaType(RealtimeMediaSource::Type type, const MediaConstraints& constraints, const CaptureSessionInfo* session, String& invalidConstraint)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacRealtimeMediaSourceCenterMaccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include "AVCaptureDeviceManager.h"
</span><span class="cx"> #include "MediaStreamCreationClient.h"
</span><span class="cx"> #include "MediaStreamPrivate.h"
</span><del>-#include "MediaStreamTrackSourcesRequestClient.h"
</del><span class="cx"> #include <wtf/MainThread.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -160,26 +159,11 @@
</span><span class="cx"> client->didCreateStream(MediaStreamPrivate::create(audioSources, videoSources));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool RealtimeMediaSourceCenterMac::getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient> prpClient)
</del><ins>+Vector<CaptureDevice> RealtimeMediaSourceCenterMac::getMediaStreamDevices()
</ins><span class="cx"> {
</span><del>- RefPtr<MediaStreamTrackSourcesRequestClient> requestClient = prpClient;
- TrackSourceInfoVector sources = AVCaptureDeviceManager::singleton().getSourcesInfo(requestClient->requestOrigin());
-
- callOnMainThread([this, requestClient = WTFMove(requestClient), sources = WTFMove(sources)] {
- requestClient->didCompleteTrackSourceInfoRequest(sources);
- });
-
- return true;
</del><ins>+ return AVCaptureDeviceManager::singleton().getSourcesInfo();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<TrackSourceInfo> RealtimeMediaSourceCenterMac::sourceWithUID(const String& UID, RealtimeMediaSource::Type type, MediaConstraints* constraints)
-{
- RefPtr<RealtimeMediaSource> mediaSource = AVCaptureDeviceManager::singleton().sourceWithUID(UID, type, constraints);
- if (!mediaSource)
- return nullptr;
- return TrackSourceInfo::create(mediaSource->persistentID(), mediaSource->id(), mediaSource->type() == RealtimeMediaSource::Type::Video ? TrackSourceInfo::SourceKind::Video : TrackSourceInfo::SourceKind::Audio, mediaSource->name());
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(MEDIA_STREAM)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacRealtimeMediaSourceCenterMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -50,8 +50,7 @@
</span><span class="cx"> void validateRequestConstraints(MediaStreamCreationClient*, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) final;
</span><span class="cx"> void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) final;
</span><span class="cx"> void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) final;
</span><del>- bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) final;
- RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) final;
</del><ins>+ Vector<CaptureDevice> getMediaStreamDevices() final;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceCenterOwrcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -36,12 +36,11 @@
</span><span class="cx"> #if ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
</span><span class="cx"> #include "RealtimeMediaSourceCenterOwr.h"
</span><span class="cx">
</span><ins>+#include "CaptureDevice.h"
</ins><span class="cx"> #include "MediaStreamCreationClient.h"
</span><span class="cx"> #include "MediaStreamPrivate.h"
</span><del>-#include "MediaStreamTrackSourcesRequestClient.h"
</del><span class="cx"> #include "NotImplemented.h"
</span><span class="cx"> #include "OpenWebRTCUtilities.h"
</span><del>-#include "RealtimeMediaSource.h"
</del><span class="cx"> #include "RealtimeMediaSourceCapabilities.h"
</span><span class="cx"> #include "UUID.h"
</span><span class="cx"> #include <owr/owr.h>
</span><span class="lines">@@ -154,10 +153,10 @@
</span><span class="cx"> client->didCreateStream(MediaStreamPrivate::create(audioSources, videoSources));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>)
</del><ins>+Vector<CaptureDevice> RealtimeMediaSourceCenterOwr::getMediaStreamDevices()
</ins><span class="cx"> {
</span><span class="cx"> notImplemented();
</span><del>- return false;
</del><ins>+ return Vector<CaptureDevice>();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RealtimeMediaSourceCenterOwr::mediaSourcesAvailable(GList* sources)
</span><span class="lines">@@ -211,15 +210,6 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<TrackSourceInfo> RealtimeMediaSourceCenterOwr::sourceWithUID(const String& UID, RealtimeMediaSource::Type, MediaConstraints*)
-{
- for (auto& source : m_sourceMap.values()) {
- if (source->id() == UID)
- return TrackSourceInfo::create(source->persistentID(), source->id(), source->type() == RealtimeMediaSource::Type::Video ? TrackSourceInfo::SourceKind::Video : TrackSourceInfo::SourceKind::Audio , source->name());
- }
-
- return nullptr;
-}
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceCenterOwrh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><ins>+class CaptureDevice;
</ins><span class="cx"> class MediaStreamPrivate;
</span><span class="cx"> class RealtimeMediaSource;
</span><span class="cx"> class MediaStreamSourcesQueryClient;
</span><span class="lines">@@ -58,10 +59,9 @@
</span><span class="cx"> void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) final;
</span><span class="cx"> void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) final;
</span><span class="cx">
</span><del>- bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) final;
</del><ins>+ Vector<CaptureDevice> getMediaStreamDevices() final;
</ins><span class="cx">
</span><span class="cx"> void mediaSourcesAvailable(GList* sources);
</span><del>- RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) final;
</del><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> PassRefPtr<RealtimeMediaSource> firstSource(RealtimeMediaSource::Type);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMockRealtimeMediaSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> #include "MockRealtimeMediaSource.h"
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_STREAM)
</span><ins>+#include "CaptureDevice.h"
</ins><span class="cx"> #include "Logging.h"
</span><span class="cx"> #include "MediaConstraints.h"
</span><del>-#include "MediaStreamTrackSourcesRequestClient.h"
</del><span class="cx"> #include "NotImplemented.h"
</span><span class="cx"> #include "RealtimeMediaSourceSettings.h"
</span><span class="cx"> #include <math.h>
</span><span class="lines">@@ -68,19 +68,19 @@
</span><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<TrackSourceInfo> MockRealtimeMediaSource::trackSourceWithUID(const String& id, MediaConstraints*)
</del><ins>+CaptureDevice MockRealtimeMediaSource::audioDeviceInfo()
</ins><span class="cx"> {
</span><del>- // FIXME: validate constraints.
</del><ins>+ static NeverDestroyed<CaptureDevice> deviceInfo(mockAudioSourcePersistentID(), CaptureDevice::SourceKind::Audio, mockAudioSourceName(), "");
+ return deviceInfo;
+}
</ins><span class="cx">
</span><del>- if (mockAudioSourcePersistentID() == id)
- return TrackSourceInfo::create(mockAudioSourcePersistentID(), id, TrackSourceInfo::Audio, "Mock audio device");
-
- if (mockVideoSourcePersistentID() == id)
- return TrackSourceInfo::create(mockVideoSourcePersistentID(), id, TrackSourceInfo::Video, "Mock video device");
-
- return nullptr;
</del><ins>+CaptureDevice MockRealtimeMediaSource::videoDeviceInfo()
+{
+ static NeverDestroyed<CaptureDevice> deviceInfo(mockVideoSourcePersistentID(), CaptureDevice::SourceKind::Video, mockVideoSourceName(), "");
+ return deviceInfo;
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+
</ins><span class="cx"> MockRealtimeMediaSource::MockRealtimeMediaSource(const String& id, RealtimeMediaSource::Type type, const String& name)
</span><span class="cx"> : RealtimeMediaSource(id, type, name)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMockRealtimeMediaSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-class TrackSourceInfo;
</del><ins>+class CaptureDevice;
</ins><span class="cx">
</span><span class="cx"> class MockRealtimeMediaSource : public RealtimeMediaSource {
</span><span class="cx"> public:
</span><span class="lines">@@ -49,7 +49,8 @@
</span><span class="cx"> static const AtomicString& mockVideoSourcePersistentID();
</span><span class="cx"> static const AtomicString& mockVideoSourceName();
</span><span class="cx">
</span><del>- static RefPtr<TrackSourceInfo> trackSourceWithUID(const String&, MediaConstraints*);
</del><ins>+ static CaptureDevice audioDeviceInfo();
+ static CaptureDevice videoDeviceInfo();
</ins><span class="cx">
</span><span class="cx"> protected:
</span><span class="cx"> MockRealtimeMediaSource(const String& id, Type, const String& name);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMockRealtimeMediaSourceCentercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -30,12 +30,12 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_STREAM)
</span><span class="cx">
</span><ins>+#include "CaptureDevice.h"
</ins><span class="cx"> #include "MediaConstraintsMock.h"
</span><span class="cx"> #include "MediaStream.h"
</span><span class="cx"> #include "MediaStreamCreationClient.h"
</span><span class="cx"> #include "MediaStreamPrivate.h"
</span><span class="cx"> #include "MediaStreamTrack.h"
</span><del>-#include "MediaStreamTrackSourcesRequestClient.h"
</del><span class="cx"> #include "MockRealtimeAudioSource.h"
</span><span class="cx"> #include "MockRealtimeMediaSource.h"
</span><span class="cx"> #include "MockRealtimeVideoSource.h"
</span><span class="lines">@@ -151,26 +151,16 @@
</span><span class="cx"> client->didCreateStream(MediaStreamPrivate::create(audioSources, videoSources));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool MockRealtimeMediaSourceCenter::getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient> prpClient)
</del><ins>+Vector<CaptureDevice> MockRealtimeMediaSourceCenter::getMediaStreamDevices()
</ins><span class="cx"> {
</span><del>- RefPtr<MediaStreamTrackSourcesRequestClient> requestClient = prpClient;
- TrackSourceInfoVector sources;
</del><ins>+ Vector<CaptureDevice> sources;
</ins><span class="cx">
</span><del>- sources.append(MockRealtimeMediaSource::trackSourceWithUID(MockRealtimeMediaSource::mockAudioSourcePersistentID(), nullptr));
- sources.append(MockRealtimeMediaSource::trackSourceWithUID(MockRealtimeMediaSource::mockVideoSourcePersistentID(), nullptr));
</del><ins>+ sources.append(MockRealtimeMediaSource::audioDeviceInfo());
+ sources.append(MockRealtimeMediaSource::videoDeviceInfo());
</ins><span class="cx">
</span><del>- callOnMainThread([this, requestClient = WTFMove(requestClient), sources = WTFMove(sources)] {
- requestClient->didCompleteTrackSourceInfoRequest(sources);
- });
-
- return true;
</del><ins>+ return sources;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<TrackSourceInfo> MockRealtimeMediaSourceCenter::sourceWithUID(const String& UID, RealtimeMediaSource::Type, MediaConstraints* constraints)
-{
- return MockRealtimeMediaSource::trackSourceWithUID(UID, constraints);
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(MEDIA_STREAM)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMockRealtimeMediaSourceCenterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -43,9 +43,8 @@
</span><span class="cx">
</span><span class="cx"> void validateRequestConstraints(MediaStreamCreationClient*, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) override;
</span><span class="cx"> void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) override;
</span><del>- bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) override;
</del><ins>+ Vector<CaptureDevice> getMediaStreamDevices() override;
</ins><span class="cx"> void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) override;
</span><del>- RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) override;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebKit2/ChangeLog        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-09-14 Eric Carlson <eric.carlson@apple.com>
+
+ [MediaStream] Minor cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=161976
+
+ Reviewed by Youenn Fablet and Dean Jackson.
+
+ * UIProcess/UserMediaPermissionRequestProxy.cpp:
+
</ins><span class="cx"> 2016-09-14 Beth Dakin <bdakin@apple.com>
</span><span class="cx">
</span><span class="cx"> Add needsHiddenContentEditableQuirk and send it to the UIProcess
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessUserMediaPermissionRequestProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp (205928 => 205929)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp        2016-09-14 20:56:20 UTC (rev 205928)
+++ trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp        2016-09-14 20:57:41 UTC (rev 205929)
</span><span class="lines">@@ -20,7 +20,6 @@
</span><span class="cx"> #include "UserMediaPermissionRequestProxy.h"
</span><span class="cx">
</span><span class="cx"> #include "UserMediaPermissionRequestManagerProxy.h"
</span><del>-#include <WebCore/MediaStreamTrackSourcesRequestClient.h>
</del><span class="cx"> #include <WebCore/RealtimeMediaSourceCenter.h>
</span><span class="cx"> #include <wtf/text/StringHash.h>
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>