Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (205928 => 205929)
--- 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)
@@ -222,7 +222,6 @@
Modules/mediastream/MediaStreamEvent.idl
Modules/mediastream/MediaStreamTrack.idl
Modules/mediastream/MediaStreamTrackEvent.idl
- Modules/mediastream/MediaStreamTrackSourcesCallback.idl
Modules/mediastream/MediaTrackConstraint.idl
Modules/mediastream/MediaTrackConstraintSet.idl
Modules/mediastream/MediaTrackConstraints.idl
@@ -247,7 +246,6 @@
Modules/mediastream/RTCStatsReport.idl
Modules/mediastream/RTCStatsResponse.idl
Modules/mediastream/RTCTrackEvent.idl
- Modules/mediastream/SourceInfo.idl
Modules/navigatorcontentutils/NavigatorContentUtils.idl
@@ -900,7 +898,6 @@
Modules/mediastream/RTCStatsResponse.cpp
Modules/mediastream/RTCTrackEvent.cpp
Modules/mediastream/SDPProcessor.cpp
- Modules/mediastream/SourceInfo.cpp
Modules/mediastream/UserMediaController.cpp
Modules/mediastream/UserMediaPermissionCheck.cpp
Modules/mediastream/UserMediaRequest.cpp
Modified: trunk/Source/WebCore/ChangeLog (205928 => 205929)
--- 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)
@@ -1,3 +1,69 @@
+2016-09-14 Eric Carlson <[email protected]>
+
+ [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:
+
2016-09-14 Antti Koivisto <[email protected]>
Move more code out from RenderObject
Modified: trunk/Source/WebCore/DerivedSources.make (205928 => 205929)
--- 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)
@@ -139,7 +139,6 @@
$(WebCore)/Modules/mediastream/MediaStreamEvent.idl \
$(WebCore)/Modules/mediastream/MediaStreamTrack.idl \
$(WebCore)/Modules/mediastream/MediaStreamTrackEvent.idl \
- $(WebCore)/Modules/mediastream/MediaStreamTrackSourcesCallback.idl \
$(WebCore)/Modules/mediastream/MediaTrackConstraint.idl \
$(WebCore)/Modules/mediastream/MediaTrackConstraintSet.idl \
$(WebCore)/Modules/mediastream/MediaTrackConstraints.idl \
@@ -163,7 +162,6 @@
$(WebCore)/Modules/mediastream/RTCStatsReport.idl \
$(WebCore)/Modules/mediastream/RTCStatsResponse.idl \
$(WebCore)/Modules/mediastream/RTCTrackEvent.idl \
- $(WebCore)/Modules/mediastream/SourceInfo.idl \
$(WebCore)/Modules/notifications/DOMWindowNotifications.idl \
$(WebCore)/Modules/notifications/Notification.idl \
$(WebCore)/Modules/notifications/NotificationCenter.idl \
Deleted: trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h (205928 => 205929)
--- 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)
@@ -1,59 +0,0 @@
-/*
- * 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 */
Deleted: trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp (205928 => 205929)
--- 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)
@@ -1,210 +0,0 @@
-/*
- * 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)
Deleted: trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h (205928 => 205929)
--- 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)
@@ -1,64 +0,0 @@
-/*
- * 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 */
Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp (205928 => 205929)
--- 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)
@@ -29,6 +29,7 @@
#if ENABLE(MEDIA_STREAM)
+#include "CaptureDevice.h"
#include "Document.h"
#include "ExceptionCode.h"
#include "Frame.h"
@@ -83,20 +84,6 @@
m_permissionCheck->start();
}
-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);
- });
-}
-
static void hashString(SHA1& sha1, const String& string)
{
if (string.isEmpty())
@@ -129,8 +116,14 @@
return SHA1::hexDigest(digest).data();
}
-void MediaDevicesRequest::didCompleteTrackSourceInfoRequest(const TrackSourceInfoVector& captureDevices)
+void MediaDevicesRequest::didCompletePermissionCheck(const String& salt, bool canAccess)
{
+ m_permissionCheck->setClient(nullptr);
+ m_permissionCheck = nullptr;
+
+ m_idHashSalt = salt;
+ m_havePersistentPermission = canAccess;
+
if (!scriptExecutionContext()) {
m_protector = nullptr;
return;
@@ -144,19 +137,18 @@
}
Vector<RefPtr<MediaDeviceInfo>> devices;
+ auto captureDevices = RealtimeMediaSourceCenter::singleton().getMediaStreamDevices();
for (auto& deviceInfo : captureDevices) {
- String label = emptyString();
+ auto label = emptyString();
if (m_havePersistentPermission || document.hasHadActiveMediaStreamTrack())
- label = deviceInfo->label();
+ label = deviceInfo.label();
- String id = hashID(deviceInfo->persistentId());
+ auto id = hashID(deviceInfo.persistentId());
if (id.isEmpty())
continue;
- String groupId = hashID(deviceInfo->groupId());
-
- auto deviceType = deviceInfo->kind() == TrackSourceInfo::SourceKind::Audio ? MediaDeviceInfo::Kind::Audioinput : MediaDeviceInfo::Kind::Videoinput;
-
+ auto groupId = hashID(deviceInfo.groupId());
+ auto deviceType = deviceInfo.kind() == CaptureDevice::SourceKind::Audio ? MediaDeviceInfo::Kind::Audioinput : MediaDeviceInfo::Kind::Videoinput;
devices.append(MediaDeviceInfo::create(scriptExecutionContext(), label, id, groupId, deviceType));
}
@@ -166,17 +158,6 @@
m_protector = nullptr;
}
-const String& MediaDevicesRequest::requestOrigin() const
-{
- if (scriptExecutionContext()) {
- Document* document = downcast<Document>(scriptExecutionContext());
- if (document)
- return document->url();
- }
-
- return emptyString();
-}
-
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.h (205928 => 205929)
--- 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)
@@ -32,7 +32,6 @@
#include "ActiveDOMObject.h"
#include "MediaDevices.h"
#include "MediaStreamCreationClient.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
#include "UserMediaPermissionCheck.h"
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
@@ -45,7 +44,7 @@
typedef int ExceptionCode;
-class MediaDevicesRequest : public MediaStreamTrackSourcesRequestClient, public UserMediaPermissionCheckClient, public ContextDestructionObserver {
+class MediaDevicesRequest : public RefCounted<MediaDevicesRequest>, public UserMediaPermissionCheckClient, public ContextDestructionObserver {
public:
static RefPtr<MediaDevicesRequest> create(Document*, MediaDevices::EnumerateDevicesPromise&&, ExceptionCode&);
@@ -58,10 +57,6 @@
private:
MediaDevicesRequest(ScriptExecutionContext*, MediaDevices::EnumerateDevicesPromise&&);
- // MediaStreamTrackSourcesRequestClient
- const String& requestOrigin() const final;
- void didCompleteTrackSourceInfoRequest(const TrackSourceInfoVector&) final;
-
// ContextDestructionObserver
void contextDestroyed() final;
Deleted: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.h (205928 => 205929)
--- 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)
@@ -1,46 +0,0 @@
-/*
- * 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
Deleted: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesCallback.idl (205928 => 205929)
--- 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)
@@ -1,32 +0,0 @@
-/*
- * 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);
-};
-
Deleted: trunk/Source/WebCore/Modules/mediastream/SourceInfo.cpp (205928 => 205929)
--- 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)
@@ -1,64 +0,0 @@
-/*
- * 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
Deleted: trunk/Source/WebCore/Modules/mediastream/SourceInfo.h (205928 => 205929)
--- 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)
@@ -1,59 +0,0 @@
-/*
- * 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
Deleted: trunk/Source/WebCore/Modules/mediastream/SourceInfo.idl (205928 => 205929)
--- 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)
@@ -1,34 +0,0 @@
-/*
- * 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;
-};
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (205928 => 205929)
--- 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)
@@ -174,14 +174,6 @@
074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */ = {isa = PBXBuildFile; fileRef = 074E82B918A69F0E007EF54C /* PlatformTimeRanges.h */; settings = {ATTRIBUTES = (Private, ); }; };
0753860214489E9800B78452 /* CachedTextTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0753860014489E9800B78452 /* CachedTextTrack.cpp */; };
0753860314489E9800B78452 /* CachedTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 0753860114489E9800B78452 /* CachedTextTrack.h */; };
- 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, ); }; };
07638A991884487200E15A1B /* MediaSessionManagerIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 07638A971884487200E15A1B /* MediaSessionManagerIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
07638A9A1884487200E15A1B /* MediaSessionManagerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07638A981884487200E15A1B /* MediaSessionManagerIOS.mm */; };
076970861463AD8700F502CF /* TextTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076970841463AD8700F502CF /* TextTrackList.cpp */; };
@@ -307,6 +299,9 @@
07B5A2DB1464320A00A81ECE /* JSTextTrackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A2D91464320A00A81ECE /* JSTextTrackList.cpp */; };
07B5A2DC1464320A00A81ECE /* JSTextTrackList.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B5A2DA1464320A00A81ECE /* JSTextTrackList.h */; };
07B5A30D14687D7100A81ECE /* JSTextTrackListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */; };
+ 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 */; };
07BDD6EC1469B4C2009C9F85 /* JSTrackEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A30A14687B8400A81ECE /* JSTrackEventCustom.cpp */; };
07C1C0E21BFB600100BD2256 /* MediaTrackSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */; };
07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1246,9 +1241,6 @@
2E3BBF081162DA1100B9409A /* UUID.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E3BBF061162DA1100B9409A /* UUID.h */; settings = {ATTRIBUTES = (Private, ); }; };
2E3BC0CA117D3E0800B9409A /* JSFileError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E3BC0C8117D3E0800B9409A /* JSFileError.cpp */; };
2E3BC0CB117D3E0800B9409A /* JSFileError.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E3BC0C9117D3E0800B9409A /* JSFileError.h */; };
- 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 */; };
2E4346450F546A8200B0F1BA /* Worker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E4346330F546A8200B0F1BA /* Worker.cpp */; };
2E4346460F546A8200B0F1BA /* Worker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4346340F546A8200B0F1BA /* Worker.h */; };
2E4346480F546A8200B0F1BA /* WorkerGlobalScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E4346360F546A8200B0F1BA /* WorkerGlobalScope.cpp */; };
@@ -7016,16 +7008,6 @@
074E82B918A69F0E007EF54C /* PlatformTimeRanges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformTimeRanges.h; sourceTree = "<group>"; };
0753860014489E9800B78452 /* CachedTextTrack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachedTextTrack.cpp; sourceTree = "<group>"; };
0753860114489E9800B78452 /* CachedTextTrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedTextTrack.h; sourceTree = "<group>"; };
- 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>"; };
07638A971884487200E15A1B /* MediaSessionManagerIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSessionManagerIOS.h; sourceTree = "<group>"; };
07638A981884487200E15A1B /* MediaSessionManagerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MediaSessionManagerIOS.mm; sourceTree = "<group>"; };
076970841463AD8700F502CF /* TextTrackList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextTrackList.cpp; sourceTree = "<group>"; };
@@ -7107,6 +7089,9 @@
07B5A3061468537100A81ECE /* TextTrackList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TextTrackList.idl; sourceTree = "<group>"; };
07B5A30A14687B8400A81ECE /* JSTrackEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTrackEventCustom.cpp; sourceTree = "<group>"; };
07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTextTrackListCustom.cpp; sourceTree = "<group>"; };
+ 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>"; };
07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaTrackSupportedConstraints.h; sourceTree = "<group>"; };
07C1C0E11BFB600100BD2256 /* MediaTrackSupportedConstraints.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaTrackSupportedConstraints.idl; sourceTree = "<group>"; };
07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceSupportedConstraints.h; sourceTree = "<group>"; };
@@ -8178,9 +8163,6 @@
2E3BBF061162DA1100B9409A /* UUID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UUID.h; sourceTree = "<group>"; };
2E3BC0C8117D3E0800B9409A /* JSFileError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileError.cpp; sourceTree = "<group>"; };
2E3BC0C9117D3E0800B9409A /* JSFileError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileError.h; sourceTree = "<group>"; };
- 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>"; };
2E4346330F546A8200B0F1BA /* Worker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Worker.cpp; sourceTree = "<group>"; };
2E4346340F546A8200B0F1BA /* Worker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Worker.h; sourceTree = "<group>"; };
2E4346350F546A8200B0F1BA /* Worker.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Worker.idl; sourceTree = "<group>"; };
@@ -14478,9 +14460,6 @@
07221B4617CEC32700848E51 /* mediastream */ = {
isa = PBXGroup;
children = (
- 2E3C8C661BFBF8E100309566 /* CaptureDeviceInfo.h */,
- 2E3C8C631BFBB75D00309566 /* CaptureDeviceManager.cpp */,
- 2E3C8C611BFBA8DC00309566 /* CaptureDeviceManager.h */,
073794ED19EE364200E5A045 /* DOMURLMediaStream.cpp */,
15FCC9FD1B4DF85600E72326 /* DOMURLMediaStream.h */,
073794EE19EE364200E5A045 /* DOMURLMediaStream.idl */,
@@ -14518,8 +14497,6 @@
07221B5717CEC32700848E51 /* MediaStreamTrackEvent.cpp */,
07221B5817CEC32700848E51 /* MediaStreamTrackEvent.h */,
07221B5917CEC32700848E51 /* MediaStreamTrackEvent.idl */,
- 076306CC17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h */,
- 076306CD17E1478D005A7C4E /* MediaStreamTrackSourcesCallback.idl */,
0705853917FE0770005F2BCB /* MediaTrackConstraint.cpp */,
0705851D17FDC140005F2BCB /* MediaTrackConstraint.h */,
0705851E17FDC140005F2BCB /* MediaTrackConstraint.idl */,
@@ -14596,9 +14573,6 @@
5E2C43661BCEE3720001E2BC /* RTCTrackEvent.idl */,
5EA3D6E11C859DAA00300BBB /* SDPProcessor.cpp */,
5EA3D6E21C859DAA00300BBB /* SDPProcessor.h */,
- 076306D417E149CF005A7C4E /* SourceInfo.cpp */,
- 076306D517E149CF005A7C4E /* SourceInfo.h */,
- 076306D617E149CF005A7C4E /* SourceInfo.idl */,
07221B8D17CEC32700848E51 /* UserMediaClient.h */,
07221B8E17CEC32700848E51 /* UserMediaController.cpp */,
07221B8F17CEC32700848E51 /* UserMediaController.h */,
@@ -14615,6 +14589,9 @@
children = (
0729B14D17CFCCA0004F1D60 /* mac */,
07D6A4F61BF2307D00174146 /* AudioTrackPrivateMediaStream.h */,
+ 07B7116A1D899E63009F0FFB /* CaptureDevice.h */,
+ 07B7116B1D899E63009F0FFB /* CaptureDeviceManager.cpp */,
+ 07B7116C1D899E63009F0FFB /* CaptureDeviceManager.h */,
5EBB89301C7777E100C65D41 /* IceCandidate.h */,
1BE5BFC11D515715001666D9 /* MediaConstraints.cpp */,
07221B9917CF0AD400848E51 /* MediaConstraints.h */,
@@ -14630,7 +14607,6 @@
07221B9D17CF0AD400848E51 /* MediaStreamPrivate.h */,
07FFDE66181AED420072D409 /* MediaStreamTrackPrivate.cpp */,
07FFDE67181AED420072D409 /* MediaStreamTrackPrivate.h */,
- 076306E217E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h */,
5EBB89381C77BDA400C65D41 /* PeerMediaDescription.h */,
4A4F656B1AA997F100E38CDD /* RealtimeMediaSource.cpp */,
4A4F656C1AA997F100E38CDD /* RealtimeMediaSource.h */,
@@ -14748,8 +14724,6 @@
07277E4717D018CC0015534D /* JSMediaStreamTrack.h */,
07277E4817D018CC0015534D /* JSMediaStreamTrackEvent.cpp */,
07277E4917D018CC0015534D /* JSMediaStreamTrackEvent.h */,
- 076306DA17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp */,
- 076306DB17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h */,
0705852B17FDE6D9005F2BCB /* JSMediaTrackConstraint.cpp */,
0705852C17FDE6D9005F2BCB /* JSMediaTrackConstraint.h */,
0705852D17FDE6D9005F2BCB /* JSMediaTrackConstraints.cpp */,
@@ -14794,8 +14768,6 @@
07969DAA17D14151007FF842 /* JSRTCStatsResponse.h */,
5E2C43691BCF05C80001E2BC /* JSRTCTrackEvent.cpp */,
5E2C436A1BCF05C80001E2BC /* JSRTCTrackEvent.h */,
- 076306DE17E16089005A7C4E /* JSSourceInfo.cpp */,
- 076306DF17E16089005A7C4E /* JSSourceInfo.h */,
);
name = MediaStream;
sourceTree = "<group>";
@@ -23993,8 +23965,6 @@
49484FCE102CF23C00187DD3 /* CanvasStyle.h in Headers */,
079D0868162F20E800DB8658 /* CaptionUserPreferences.h in Headers */,
079D086B162F21F900DB8658 /* CaptionUserPreferencesMediaAF.h in Headers */,
- 2E3C8C681BFBF8E100309566 /* CaptureDeviceInfo.h in Headers */,
- 2E3C8C621BFBA97500309566 /* CaptureDeviceManager.h in Headers */,
99CC0B4F18BE9849006CEBCC /* CapturingInputCursor.h in Headers */,
CDC734151977896D0046BFC5 /* CARingBuffer.h in Headers */,
6550B69E099DF0270090D781 /* CDATASection.h in Headers */,
@@ -24234,6 +24204,7 @@
A8EA80070A19516E00A8EF5F /* CSSStyleSheet.h in Headers */,
FC54D05716A7673100575E4D /* CSSSupportsRule.h in Headers */,
BC80C9880CD294EE00A0B7B3 /* CSSTimingFunctionValue.h in Headers */,
+ 07B7116D1D899E63009F0FFB /* CaptureDevice.h in Headers */,
946D373A1D6CDFC00077084F /* CSSTokenizer.h in Headers */,
946D373C1D6CDFC00077084F /* CSSTokenizerInputStream.h in Headers */,
9AB1F38018E2489A00534743 /* CSSToLengthConversionData.h in Headers */,
@@ -25197,7 +25168,6 @@
07277E5117D018CC0015534D /* JSMediaStreamEvent.h in Headers */,
07277E5317D018CC0015534D /* JSMediaStreamTrack.h in Headers */,
07277E5517D018CC0015534D /* JSMediaStreamTrackEvent.h in Headers */,
- 076306DD17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.h in Headers */,
0705853217FDE6D9005F2BCB /* JSMediaTrackConstraint.h in Headers */,
0705853417FDE6D9005F2BCB /* JSMediaTrackConstraints.h in Headers */,
0705853617FDE6D9005F2BCB /* JSMediaTrackConstraintSet.h in Headers */,
@@ -25285,7 +25255,6 @@
9BDA64D81B975CF2009C4387 /* JSShadowRoot.h in Headers */,
CD9DE17B17AAC75B00EA386D /* JSSourceBuffer.h in Headers */,
CD9DE17D17AAC75B00EA386D /* JSSourceBufferList.h in Headers */,
- 076306E117E16089005A7C4E /* JSSourceInfo.h in Headers */,
AA7FEEAD16A4E74B004C0C33 /* JSSpeechSynthesis.h in Headers */,
AA2A5AD216A4860A00976A25 /* JSSpeechSynthesisEvent.h in Headers */,
AA7FEEA716A4E6F3004C0C33 /* JSSpeechSynthesisUtterance.h in Headers */,
@@ -25715,8 +25684,6 @@
078E091817D14D1C00420AA1 /* MediaStreamTrack.h in Headers */,
078E091917D14D1C00420AA1 /* MediaStreamTrackEvent.h in Headers */,
07FFDE69181AED420072D409 /* MediaStreamTrackPrivate.h in Headers */,
- 076306D017E1478D005A7C4E /* MediaStreamTrackSourcesCallback.h in Headers */,
- 076306E317E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h in Headers */,
CD641EC01819B36000EE4C41 /* MediaTimeAVFoundation.h in Headers */,
CD60C0C7193E87C7003C656B /* MediaTimeQTKit.h in Headers */,
0705852117FDC140005F2BCB /* MediaTrackConstraint.h in Headers */,
@@ -26222,6 +26189,7 @@
514C76790CE923A1007EF3CD /* ResourceHandle.h in Headers */,
26FAE4CD1852E3A5004C8C46 /* ResourceHandleCFURLConnectionDelegate.h in Headers */,
26C15CF71857E15E00F15C03 /* ResourceHandleCFURLConnectionDelegateWithOperationQueue.h in Headers */,
+ 07B7116F1D899E63009F0FFB /* CaptureDeviceManager.h in Headers */,
514C767A0CE923A1007EF3CD /* ResourceHandleClient.h in Headers */,
514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */,
51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */,
@@ -26439,7 +26407,6 @@
CDC8B5AB18047FF10016E685 /* SourceBufferPrivateAVFObjC.h in Headers */,
CDC8B5AD1804AE5D0016E685 /* SourceBufferPrivateClient.h in Headers */,
84A81F420FC7E02700955300 /* SourceGraphic.h in Headers */,
- 076306D817E149D0005A7C4E /* SourceInfo.h in Headers */,
D01A27AE10C9BFD800026A42 /* SpaceSplitString.h in Headers */,
626CDE0F1140424C001E5A68 /* SpatialNavigation.h in Headers */,
AA2A5AD416A4861100975A25 /* SpeechSynthesis.h in Headers */,
@@ -27733,7 +27700,6 @@
49484FCD102CF23C00187DD3 /* CanvasStyle.cpp in Sources */,
072CA86116CB4DC3008AE131 /* CaptionUserPreferences.cpp in Sources */,
079D086C162F21F900DB8658 /* CaptionUserPreferencesMediaAF.cpp in Sources */,
- 2E3C8C641BFBB75D00309566 /* CaptureDeviceManager.cpp in Sources */,
99CC0B4E18BE9849006CEBCC /* CapturingInputCursor.cpp in Sources */,
CDC734141977896C0046BFC5 /* CARingBuffer.cpp in Sources */,
6550B69D099DF0270090D781 /* CDATASection.cpp in Sources */,
@@ -27885,6 +27851,7 @@
FBB0C5B717BBD626003D3677 /* CSSFilterImageValue.cpp in Sources */,
BC64B4D50CB4298A005F2B62 /* CSSFontFace.cpp in Sources */,
409EBDB216B7EE7400CBA3FC /* CSSFontFaceLoadEvent.cpp in Sources */,
+ 07B7116E1D899E63009F0FFB /* CaptureDeviceManager.cpp in Sources */,
A80E6CE70A1989CA007FB8C5 /* CSSFontFaceRule.cpp in Sources */,
C26017A31C72DC9900F74A16 /* CSSFontFaceSet.cpp in Sources */,
BC64B4D70CB4298A005F2B62 /* CSSFontFaceSource.cpp in Sources */,
@@ -28904,7 +28871,6 @@
07277E5217D018CC0015534D /* JSMediaStreamTrack.cpp in Sources */,
07C59B6E17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp in Sources */,
07277E5417D018CC0015534D /* JSMediaStreamTrackEvent.cpp in Sources */,
- 076306DC17E15FB0005A7C4E /* JSMediaStreamTrackSourcesCallback.cpp in Sources */,
0705853117FDE6D9005F2BCB /* JSMediaTrackConstraint.cpp in Sources */,
0705853317FDE6D9005F2BCB /* JSMediaTrackConstraints.cpp in Sources */,
0705853517FDE6D9005F2BCB /* JSMediaTrackConstraintSet.cpp in Sources */,
@@ -29003,7 +28969,6 @@
9BDA64D71B975CE5009C4387 /* JSShadowRoot.cpp in Sources */,
CD9DE17A17AAC75B00EA386D /* JSSourceBuffer.cpp in Sources */,
CD9DE17C17AAC75B00EA386D /* JSSourceBufferList.cpp in Sources */,
- 076306E017E16089005A7C4E /* JSSourceInfo.cpp in Sources */,
AA7FEEA416A4E6F3004C0C33 /* JSSpeechSynthesis.cpp in Sources */,
AA2A5AD316A4860D00976A25 /* JSSpeechSynthesisEvent.cpp in Sources */,
AA7FEEA616A4E6F3004C0C33 /* JSSpeechSynthesisUtterance.cpp in Sources */,
@@ -30009,7 +29974,6 @@
CD3A496417A9D01B00274E42 /* SourceBufferList.cpp in Sources */,
CDC8B5AA18047FF10016E685 /* SourceBufferPrivateAVFObjC.mm in Sources */,
84A81F410FC7E02700955300 /* SourceGraphic.cpp in Sources */,
- 076306D717E149CF005A7C4E /* SourceInfo.cpp in Sources */,
D01A27AD10C9BFD800026A42 /* SpaceSplitString.cpp in Sources */,
626CDE0E1140424C001E5A68 /* SpatialNavigation.cpp in Sources */,
AA2A5AD516A4861400975A25 /* SpeechSynthesis.cpp in Sources */,
Copied: trunk/Source/WebCore/platform/mediastream/CaptureDevice.h (from rev 205914, trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h) (0 => 205929)
--- 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)
@@ -0,0 +1,61 @@
+/*
+ * 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)
Copied: trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.cpp (from rev 205914, trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp) (0 => 205929)
--- 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)
@@ -0,0 +1,209 @@
+/*
+ * 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)
Copied: trunk/Source/WebCore/platform/mediastream/CaptureDeviceManager.h (from rev 205914, trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h) (0 => 205929)
--- 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)
@@ -0,0 +1,78 @@
+/*
+ * 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)
Deleted: trunk/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h (205928 => 205929)
--- 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)
@@ -1,98 +0,0 @@
-/*
- * 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
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h (205928 => 205929)
--- 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)
@@ -41,9 +41,9 @@
namespace WebCore {
+class CaptureDevice;
class MediaConstraints;
class MediaStreamCreationClient;
-class MediaStreamTrackSourcesRequestClient;
class RealtimeMediaSourceSettings;
class RealtimeMediaSourceSupportedConstraints;
class TrackSourceInfo;
@@ -61,10 +61,8 @@
virtual void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) = 0;
- virtual bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) = 0;
+ virtual Vector<CaptureDevice> getMediaStreamDevices() = 0;
- virtual RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) = 0;
-
virtual const RealtimeMediaSourceSupportedConstraints& supportedConstraints() { return m_supportedConstraints; }
protected:
Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h (205928 => 205929)
--- 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)
@@ -29,7 +29,6 @@
#if ENABLE(MEDIA_STREAM) && USE(AVFOUNDATION)
#include "CaptureDeviceManager.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
#include "RealtimeMediaSource.h"
#include "RealtimeMediaSourceSupportedConstraints.h"
#include <wtf/NeverDestroyed.h>
@@ -63,7 +62,7 @@
RefPtr<RealtimeMediaSource> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) override;
Vector<RefPtr<RealtimeMediaSource>> bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type, MediaConstraints&) override;
- TrackSourceInfoVector getSourcesInfo(const String&) override;
+ Vector<CaptureDevice> getSourcesInfo() override;
bool verifyConstraintsForMediaType(RealtimeMediaSource::Type, const MediaConstraints&, const CaptureSessionInfo*, String&) override;
void deviceConnected();
Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm (205928 => 205929)
--- 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)
@@ -240,12 +240,12 @@
return CaptureDeviceManager::sourceWithUID(deviceUID, type, constraints);
}
-TrackSourceInfoVector AVCaptureDeviceManager::getSourcesInfo(const String& requestOrigin)
+Vector<CaptureDevice> AVCaptureDeviceManager::getSourcesInfo()
{
if (!isAvailable())
- return TrackSourceInfoVector();
+ return Vector<CaptureDevice>();
- return CaptureDeviceManager::getSourcesInfo(requestOrigin);
+ return CaptureDeviceManager::getSourcesInfo();
}
bool AVCaptureDeviceManager::verifyConstraintsForMediaType(RealtimeMediaSource::Type type, const MediaConstraints& constraints, const CaptureSessionInfo* session, String& invalidConstraint)
Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp (205928 => 205929)
--- 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)
@@ -36,7 +36,6 @@
#include "AVCaptureDeviceManager.h"
#include "MediaStreamCreationClient.h"
#include "MediaStreamPrivate.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
#include <wtf/MainThread.h>
namespace WebCore {
@@ -160,26 +159,11 @@
client->didCreateStream(MediaStreamPrivate::create(audioSources, videoSources));
}
-bool RealtimeMediaSourceCenterMac::getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient> prpClient)
+Vector<CaptureDevice> RealtimeMediaSourceCenterMac::getMediaStreamDevices()
{
- RefPtr<MediaStreamTrackSourcesRequestClient> requestClient = prpClient;
- TrackSourceInfoVector sources = AVCaptureDeviceManager::singleton().getSourcesInfo(requestClient->requestOrigin());
-
- callOnMainThread([this, requestClient = WTFMove(requestClient), sources = WTFMove(sources)] {
- requestClient->didCompleteTrackSourceInfoRequest(sources);
- });
-
- return true;
+ return AVCaptureDeviceManager::singleton().getSourcesInfo();
}
-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());
-}
-
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h (205928 => 205929)
--- 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)
@@ -50,8 +50,7 @@
void validateRequestConstraints(MediaStreamCreationClient*, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) final;
void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) final;
void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) final;
- bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) final;
- RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) final;
+ Vector<CaptureDevice> getMediaStreamDevices() final;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp (205928 => 205929)
--- 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)
@@ -36,12 +36,11 @@
#if ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
#include "RealtimeMediaSourceCenterOwr.h"
+#include "CaptureDevice.h"
#include "MediaStreamCreationClient.h"
#include "MediaStreamPrivate.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
#include "NotImplemented.h"
#include "OpenWebRTCUtilities.h"
-#include "RealtimeMediaSource.h"
#include "RealtimeMediaSourceCapabilities.h"
#include "UUID.h"
#include <owr/owr.h>
@@ -154,10 +153,10 @@
client->didCreateStream(MediaStreamPrivate::create(audioSources, videoSources));
}
-bool RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>)
+Vector<CaptureDevice> RealtimeMediaSourceCenterOwr::getMediaStreamDevices()
{
notImplemented();
- return false;
+ return Vector<CaptureDevice>();
}
void RealtimeMediaSourceCenterOwr::mediaSourcesAvailable(GList* sources)
@@ -211,15 +210,6 @@
return nullptr;
}
-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;
-}
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h (205928 => 205929)
--- 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)
@@ -43,6 +43,7 @@
namespace WebCore {
+class CaptureDevice;
class MediaStreamPrivate;
class RealtimeMediaSource;
class MediaStreamSourcesQueryClient;
@@ -58,10 +59,9 @@
void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) final;
void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) final;
- bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) final;
+ Vector<CaptureDevice> getMediaStreamDevices() final;
void mediaSourcesAvailable(GList* sources);
- RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) final;
private:
PassRefPtr<RealtimeMediaSource> firstSource(RealtimeMediaSource::Type);
Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp (205928 => 205929)
--- 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)
@@ -32,9 +32,9 @@
#include "MockRealtimeMediaSource.h"
#if ENABLE(MEDIA_STREAM)
+#include "CaptureDevice.h"
#include "Logging.h"
#include "MediaConstraints.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
#include "NotImplemented.h"
#include "RealtimeMediaSourceSettings.h"
#include <math.h>
@@ -68,19 +68,19 @@
return name;
}
-RefPtr<TrackSourceInfo> MockRealtimeMediaSource::trackSourceWithUID(const String& id, MediaConstraints*)
+CaptureDevice MockRealtimeMediaSource::audioDeviceInfo()
{
- // FIXME: validate constraints.
+ static NeverDestroyed<CaptureDevice> deviceInfo(mockAudioSourcePersistentID(), CaptureDevice::SourceKind::Audio, mockAudioSourceName(), "");
+ return deviceInfo;
+}
- 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;
+CaptureDevice MockRealtimeMediaSource::videoDeviceInfo()
+{
+ static NeverDestroyed<CaptureDevice> deviceInfo(mockVideoSourcePersistentID(), CaptureDevice::SourceKind::Video, mockVideoSourceName(), "");
+ return deviceInfo;
}
+
MockRealtimeMediaSource::MockRealtimeMediaSource(const String& id, RealtimeMediaSource::Type type, const String& name)
: RealtimeMediaSource(id, type, name)
{
Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.h (205928 => 205929)
--- 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)
@@ -37,7 +37,7 @@
namespace WebCore {
-class TrackSourceInfo;
+class CaptureDevice;
class MockRealtimeMediaSource : public RealtimeMediaSource {
public:
@@ -49,7 +49,8 @@
static const AtomicString& mockVideoSourcePersistentID();
static const AtomicString& mockVideoSourceName();
- static RefPtr<TrackSourceInfo> trackSourceWithUID(const String&, MediaConstraints*);
+ static CaptureDevice audioDeviceInfo();
+ static CaptureDevice videoDeviceInfo();
protected:
MockRealtimeMediaSource(const String& id, Type, const String& name);
Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp (205928 => 205929)
--- 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)
@@ -30,12 +30,12 @@
#if ENABLE(MEDIA_STREAM)
+#include "CaptureDevice.h"
#include "MediaConstraintsMock.h"
#include "MediaStream.h"
#include "MediaStreamCreationClient.h"
#include "MediaStreamPrivate.h"
#include "MediaStreamTrack.h"
-#include "MediaStreamTrackSourcesRequestClient.h"
#include "MockRealtimeAudioSource.h"
#include "MockRealtimeMediaSource.h"
#include "MockRealtimeVideoSource.h"
@@ -151,26 +151,16 @@
client->didCreateStream(MediaStreamPrivate::create(audioSources, videoSources));
}
-bool MockRealtimeMediaSourceCenter::getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient> prpClient)
+Vector<CaptureDevice> MockRealtimeMediaSourceCenter::getMediaStreamDevices()
{
- RefPtr<MediaStreamTrackSourcesRequestClient> requestClient = prpClient;
- TrackSourceInfoVector sources;
+ Vector<CaptureDevice> sources;
- sources.append(MockRealtimeMediaSource::trackSourceWithUID(MockRealtimeMediaSource::mockAudioSourcePersistentID(), nullptr));
- sources.append(MockRealtimeMediaSource::trackSourceWithUID(MockRealtimeMediaSource::mockVideoSourcePersistentID(), nullptr));
+ sources.append(MockRealtimeMediaSource::audioDeviceInfo());
+ sources.append(MockRealtimeMediaSource::videoDeviceInfo());
- callOnMainThread([this, requestClient = WTFMove(requestClient), sources = WTFMove(sources)] {
- requestClient->didCompleteTrackSourceInfoRequest(sources);
- });
-
- return true;
+ return sources;
}
-RefPtr<TrackSourceInfo> MockRealtimeMediaSourceCenter::sourceWithUID(const String& UID, RealtimeMediaSource::Type, MediaConstraints* constraints)
-{
- return MockRealtimeMediaSource::trackSourceWithUID(UID, constraints);
-}
-
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h (205928 => 205929)
--- 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)
@@ -43,9 +43,8 @@
void validateRequestConstraints(MediaStreamCreationClient*, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) override;
void createMediaStream(PassRefPtr<MediaStreamCreationClient>, MediaConstraints& audioConstraints, MediaConstraints& videoConstraints) override;
- bool getMediaStreamTrackSources(PassRefPtr<MediaStreamTrackSourcesRequestClient>) override;
+ Vector<CaptureDevice> getMediaStreamDevices() override;
void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) override;
- RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) override;
};
}
Modified: trunk/Source/WebKit2/ChangeLog (205928 => 205929)
--- 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)
@@ -1,3 +1,12 @@
+2016-09-14 Eric Carlson <[email protected]>
+
+ [MediaStream] Minor cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=161976
+
+ Reviewed by Youenn Fablet and Dean Jackson.
+
+ * UIProcess/UserMediaPermissionRequestProxy.cpp:
+
2016-09-14 Beth Dakin <[email protected]>
Add needsHiddenContentEditableQuirk and send it to the UIProcess
Modified: trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp (205928 => 205929)
--- 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)
@@ -20,7 +20,6 @@
#include "UserMediaPermissionRequestProxy.h"
#include "UserMediaPermissionRequestManagerProxy.h"
-#include <WebCore/MediaStreamTrackSourcesRequestClient.h>
#include <WebCore/RealtimeMediaSourceCenter.h>
#include <wtf/text/StringHash.h>