Title: [241145] trunk/Source
Revision
241145
Author
[email protected]
Date
2019-02-07 14:52:15 -0800 (Thu, 07 Feb 2019)

Log Message

Simplify applyConstraints callbacks
https://bugs.webkit.org/show_bug.cgi?id=194297

Reviewed by Eric Carlson.

Source/WebCore:

Make use of one callback for both success and failure cases.
No changed of behavior.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::applyConstraints):
* platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::applyConstraints):
* platform/mediastream/MediaStreamTrackPrivate.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::applyConstraints):
* platform/mediastream/RealtimeMediaSource.h:
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::create):
* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::create):
* platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp:
(WebCore::MockGStreamerAudioCaptureSource::applyConstraints):
* platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h:
* platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp:
(WebCore::MockGStreamerVideoCaptureSource::applyConstraints):
* platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h:

Source/WebKit:

* UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::applyConstraints):
* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::applyConstraintsSucceeded):
(WebKit::UserMediaCaptureManager::Source::applyConstraintsFailed):
(WebKit::UserMediaCaptureManager::applyConstraintsFailed):
* WebProcess/cocoa/UserMediaCaptureManager.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (241144 => 241145)


--- trunk/Source/WebCore/ChangeLog	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/ChangeLog	2019-02-07 22:52:15 UTC (rev 241145)
@@ -1,5 +1,34 @@
 2019-02-07  Youenn Fablet  <[email protected]>
 
+        Simplify applyConstraints callbacks
+        https://bugs.webkit.org/show_bug.cgi?id=194297
+
+        Reviewed by Eric Carlson.
+
+        Make use of one callback for both success and failure cases.
+        No changed of behavior.
+
+        * Modules/mediastream/MediaStreamTrack.cpp:
+        (WebCore::MediaStreamTrack::applyConstraints):
+        * platform/mediastream/MediaStreamTrackPrivate.cpp:
+        (WebCore::MediaStreamTrackPrivate::applyConstraints):
+        * platform/mediastream/MediaStreamTrackPrivate.h:
+        * platform/mediastream/RealtimeMediaSource.cpp:
+        (WebCore::RealtimeMediaSource::applyConstraints):
+        * platform/mediastream/RealtimeMediaSource.h:
+        * platform/mediastream/mac/AVVideoCaptureSource.mm:
+        (WebCore::AVVideoCaptureSource::create):
+        * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
+        (WebCore::CoreAudioCaptureSource::create):
+        * platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp:
+        (WebCore::MockGStreamerAudioCaptureSource::applyConstraints):
+        * platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h:
+        * platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp:
+        (WebCore::MockGStreamerVideoCaptureSource::applyConstraints):
+        * platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h:
+
+2019-02-07  Youenn Fablet  <[email protected]>
+
         Unable to sign in leetcode.
         https://bugs.webkit.org/show_bug.cgi?id=194366
         rdar://problem/47259025.

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (241144 => 241145)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -330,19 +330,17 @@
 {
     m_promise = WTFMove(promise);
 
-    auto weakThis = makeWeakPtr(*this);
-    auto failureHandler = [weakThis] (const String& failedConstraint, const String& message) {
-        if (!weakThis || !weakThis->m_promise)
+    auto completionHandler = [this, weakThis = makeWeakPtr(*this), constraints](auto&& error) mutable {
+        if (!weakThis || !m_promise)
             return;
-        weakThis->m_promise->rejectType<IDLInterface<OverconstrainedError>>(OverconstrainedError::create(failedConstraint, message).get());
-    };
-    auto successHandler = [weakThis, constraints] () {
-        if (!weakThis || !weakThis->m_promise)
+        if (error) {
+            m_promise->rejectType<IDLInterface<OverconstrainedError>>(OverconstrainedError::create(WTFMove(error->badConstraint), WTFMove(error->message)));
             return;
-        weakThis->m_promise->resolve();
-        weakThis->m_constraints = constraints.valueOr(MediaTrackConstraints { });
+        }
+        m_promise->resolve();
+        m_constraints = constraints.valueOr(MediaTrackConstraints { });
     };
-    m_private->applyConstraints(createMediaConstraints(constraints), WTFMove(successHandler), WTFMove(failureHandler));
+    m_private->applyConstraints(createMediaConstraints(constraints), WTFMove(completionHandler));
 }
 
 void MediaStreamTrack::addObserver(Observer& observer)

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -170,9 +170,9 @@
     return m_source->capabilities();
 }
 
-void MediaStreamTrackPrivate::applyConstraints(const MediaConstraints& constraints, RealtimeMediaSource::SuccessHandler&& successHandler, RealtimeMediaSource::FailureHandler&& failureHandler)
+void MediaStreamTrackPrivate::applyConstraints(const MediaConstraints& constraints, RealtimeMediaSource::ApplyConstraintsHandler&& completionHandler)
 {
-    m_source->applyConstraints(constraints, WTFMove(successHandler), WTFMove(failureHandler));
+    m_source->applyConstraints(constraints, WTFMove(completionHandler));
 }
 
 AudioSourceProvider* MediaStreamTrackPrivate::audioSourceProvider()

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h	2019-02-07 22:52:15 UTC (rev 241145)
@@ -97,7 +97,7 @@
     const RealtimeMediaSourceSettings& settings() const;
     const RealtimeMediaSourceCapabilities& capabilities() const;
 
-    void applyConstraints(const MediaConstraints&, RealtimeMediaSource::SuccessHandler&&, RealtimeMediaSource::FailureHandler&&);
+    void applyConstraints(const MediaConstraints&, RealtimeMediaSource::ApplyConstraintsHandler&&);
 
     AudioSourceProvider* audioSourceProvider();
 

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -41,6 +41,7 @@
 #include "NotImplemented.h"
 #include "RealtimeMediaSourceCapabilities.h"
 #include "RealtimeMediaSourceCenter.h"
+#include <wtf/CompletionHandler.h>
 #include <wtf/MainThread.h>
 #include <wtf/UUID.h>
 #include <wtf/text/StringHash.h>
@@ -842,7 +843,7 @@
     commitConfiguration();
 }
 
-Optional<std::pair<String, String>> RealtimeMediaSource::applyConstraints(const MediaConstraints& constraints)
+Optional<RealtimeMediaSource::ApplyConstraintsError> RealtimeMediaSource::applyConstraints(const MediaConstraints& constraints)
 {
     ASSERT(constraints.isValid);
 
@@ -849,19 +850,15 @@
     FlattenedConstraint candidates;
     String failedConstraint;
     if (!selectSettings(constraints, candidates, failedConstraint, SelectType::ForApplyConstraints))
-        return { { failedConstraint, "Constraint not supported"_s } };
+        return ApplyConstraintsError { failedConstraint, "Constraint not supported"_s };
 
     applyConstraints(candidates);
-    return WTF::nullopt;
+    return { };
 }
 
-void RealtimeMediaSource::applyConstraints(const MediaConstraints& constraints, SuccessHandler&& successHandler, FailureHandler&& failureHandler)
+void RealtimeMediaSource::applyConstraints(const MediaConstraints& constraints, ApplyConstraintsHandler&& completionHandler)
 {
-    auto result = applyConstraints(constraints);
-    if (!result && successHandler)
-        successHandler();
-    else if (result && failureHandler)
-        failureHandler(result.value().first, result.value().second);
+    completionHandler(applyConstraints(constraints));
 }
 
 void RealtimeMediaSource::setSize(const IntSize& size)

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h	2019-02-07 22:52:15 UTC (rev 241145)
@@ -150,10 +150,13 @@
     virtual const RealtimeMediaSourceCapabilities& capabilities() = 0;
     virtual const RealtimeMediaSourceSettings& settings() = 0;
 
-    using SuccessHandler = WTF::Function<void()>;
-    using FailureHandler = WTF::Function<void(const String& badConstraint, const String& errorString)>;
-    virtual void applyConstraints(const MediaConstraints&, SuccessHandler&&, FailureHandler&&);
-    Optional<std::pair<String, String>> applyConstraints(const MediaConstraints&);
+    struct ApplyConstraintsError {
+        String badConstraint;
+        String message;
+    };
+    using ApplyConstraintsHandler = CompletionHandler<void(Optional<ApplyConstraintsError>&&)>;
+    virtual void applyConstraints(const MediaConstraints&, ApplyConstraintsHandler&&);
+    Optional<ApplyConstraintsError> applyConstraints(const MediaConstraints&);
 
     bool supportsConstraints(const MediaConstraints&, String&);
     bool supportsConstraint(const MediaConstraint&);

Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -78,9 +78,8 @@
     auto source = adoptRef(*new GStreamerAudioCaptureSource(device.value(), WTFMove(hashSalt)));
 
     if (constraints) {
-        auto result = source->applyConstraints(*constraints);
-        if (result)
-            return WTFMove(result.value().first);
+        if (auto result = source->applyConstraints(*constraints))
+            return WTFMove(result->badConstraint);
     }
     return CaptureSourceOrError(WTFMove(source));
 }

Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -109,9 +109,8 @@
     auto source = adoptRef(*new GStreamerVideoCaptureSource(device.value(), WTFMove(hashSalt)));
 
     if (constraints) {
-        auto result = source->applyConstraints(*constraints);
-        if (result)
-            return WTFMove(result.value().first);
+        if (auto result = source->applyConstraints(*constraints))
+            return WTFMove(result->badConstraint);
     }
     return CaptureSourceOrError(WTFMove(source));
 }

Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -141,15 +141,15 @@
     return CaptureSourceOrError(WTFMove(source));
 }
 
-Optional<std::pair<String, String>> MockGStreamerAudioCaptureSource::applyConstraints(const MediaConstraints& constraints)
+Optional<RealtimeMediaSource::ApplyConstraintsError> MockGStreamerAudioCaptureSource::applyConstraints(const MediaConstraints& constraints)
 {
     m_wrappedSource->applyConstraints(constraints);
     return GStreamerAudioCaptureSource::applyConstraints(constraints);
 }
 
-void MockGStreamerAudioCaptureSource::applyConstraints(const MediaConstraints& constraints, SuccessHandler&& successHandler, FailureHandler&& failureHandler)
+void MockGStreamerAudioCaptureSource::applyConstraints(const MediaConstraints& constraints, ApplyConstraintsHandler&& completionHandler)
 {
-    m_wrappedSource->applyConstraints(constraints, WTFMove(successHandler), WTFMove(failureHandler));
+    m_wrappedSource->applyConstraints(constraints, WTFMove(completionHandler));
 }
 
 MockGStreamerAudioCaptureSource::MockGStreamerAudioCaptureSource(String&& deviceID, String&& name, String&& hashSalt)

Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h	2019-02-07 22:52:15 UTC (rev 241145)
@@ -31,8 +31,8 @@
 public:
     MockGStreamerAudioCaptureSource(String&& deviceID, String&& name, String&& hashSalt);
     ~MockGStreamerAudioCaptureSource();
-    Optional<std::pair<String, String>> applyConstraints(const MediaConstraints&);
-    void applyConstraints(const MediaConstraints&, SuccessHandler&&, FailureHandler&&) final;
+    Optional<ApplyConstraintsError> applyConstraints(const MediaConstraints&);
+    void applyConstraints(const MediaConstraints&, ApplyConstraintsHandler&&) final;
 
 private:
     void stopProducingData() final;

Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -107,15 +107,15 @@
     m_wrappedSource->removeObserver(*this);
 }
 
-Optional<std::pair<String, String>> MockGStreamerVideoCaptureSource::applyConstraints(const MediaConstraints& constraints)
+Optional<RealtimeMediaSource::ApplyConstraintsError> MockGStreamerVideoCaptureSource::applyConstraints(const MediaConstraints& constraints)
 {
     m_wrappedSource->applyConstraints(constraints);
     return GStreamerVideoCaptureSource::applyConstraints(constraints);
 }
 
-void MockGStreamerVideoCaptureSource::applyConstraints(const MediaConstraints& constraints, SuccessHandler&& successHandler, FailureHandler&& failureHandler)
+void MockGStreamerVideoCaptureSource::applyConstraints(const MediaConstraints& constraints, ApplyConstraintsHandler&& completionHandler)
 {
-    m_wrappedSource->applyConstraints(constraints, WTFMove(successHandler), WTFMove(failureHandler));
+    m_wrappedSource->applyConstraints(constraints, WTFMove(completionHandler));
 }
 
 const RealtimeMediaSourceSettings& MockGStreamerVideoCaptureSource::settings()

Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h	2019-02-07 22:52:15 UTC (rev 241145)
@@ -36,8 +36,8 @@
 public:
     MockGStreamerVideoCaptureSource(String&& deviceID, String&& name, String&& hashSalt);
     ~MockGStreamerVideoCaptureSource();
-    Optional<std::pair<String, String>> applyConstraints(const MediaConstraints&);
-    void applyConstraints(const MediaConstraints&, SuccessHandler&&, FailureHandler&&) final;
+    Optional<ApplyConstraintsError> applyConstraints(const MediaConstraints&);
+    void applyConstraints(const MediaConstraints&, ApplyConstraintsHandler&&) final;
 
 private:
     void stopProducingData() final;

Modified: trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm	2019-02-07 22:52:15 UTC (rev 241145)
@@ -164,7 +164,7 @@
     if (constraints) {
         auto result = source->applyConstraints(*constraints);
         if (result)
-            return WTFMove(result.value().first);
+            return WTFMove(result.value().badConstraint);
     }
 
     return CaptureSourceOrError(WTFMove(source));

Modified: trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp (241144 => 241145)


--- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -749,9 +749,8 @@
 #endif
 
     if (constraints) {
-        auto result = source->applyConstraints(*constraints);
-        if (result)
-            return WTFMove(result.value().first);
+        if (auto result = source->applyConstraints(*constraints))
+            return WTFMove(result->badConstraint);
     }
     return CaptureSourceOrError(WTFMove(source));
 }

Modified: trunk/Source/WebKit/ChangeLog (241144 => 241145)


--- trunk/Source/WebKit/ChangeLog	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebKit/ChangeLog	2019-02-07 22:52:15 UTC (rev 241145)
@@ -1,3 +1,18 @@
+2019-02-07  Youenn Fablet  <[email protected]>
+
+        Simplify applyConstraints callbacks
+        https://bugs.webkit.org/show_bug.cgi?id=194297
+
+        Reviewed by Eric Carlson.
+
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+        (WebKit::UserMediaCaptureManagerProxy::applyConstraints):
+        * WebProcess/cocoa/UserMediaCaptureManager.cpp:
+        (WebKit::UserMediaCaptureManager::Source::applyConstraintsSucceeded):
+        (WebKit::UserMediaCaptureManager::Source::applyConstraintsFailed):
+        (WebKit::UserMediaCaptureManager::applyConstraintsFailed):
+        * WebProcess/cocoa/UserMediaCaptureManager.h:
+
 2019-02-07  Brent Fulgham  <[email protected]>
 
         Permit additional IOKit Properties needed by Media PlugIns on older Mac Hardware

Modified: trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp (241144 => 241145)


--- trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -211,7 +211,7 @@
     if (!result)
         m_process.send(Messages::UserMediaCaptureManager::ApplyConstraintsSucceeded(id, source.settings()), 0);
     else
-        m_process.send(Messages::UserMediaCaptureManager::ApplyConstraintsFailed(id, result.value().first, result.value().second), 0);
+        m_process.send(Messages::UserMediaCaptureManager::ApplyConstraintsFailed(id, result->badConstraint, result->message), 0);
 }
 
 void UserMediaCaptureManagerProxy::clear()

Modified: trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp (241144 => 241145)


--- trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp	2019-02-07 22:52:15 UTC (rev 241145)
@@ -165,15 +165,16 @@
 
     void applyConstraintsSucceeded(const WebCore::RealtimeMediaSourceSettings& settings)
     {
-        auto callbacks = m_pendingApplyConstraintsCallbacks.takeFirst();
         setSettings(WebCore::RealtimeMediaSourceSettings(settings));
-        callbacks.successHandler();
+
+        auto callback = m_pendingApplyConstraintsCallbacks.takeFirst();
+        callback({ });
     }
 
-    void applyConstraintsFailed(const String& failedConstraint, const String& errorMessage)
+    void applyConstraintsFailed(String&& failedConstraint, String&& errorMessage)
     {
-        auto callbacks = m_pendingApplyConstraintsCallbacks.takeFirst();
-        callbacks.failureHandler(failedConstraint, errorMessage);
+        auto callback = m_pendingApplyConstraintsCallbacks.takeFirst();
+        callback(ApplyConstraintsError { WTFMove(failedConstraint), WTFMove(errorMessage) });
     }
 
 private:
@@ -187,9 +188,10 @@
     void commitConfiguration() final { }
     void hasEnded() final { m_manager.sourceEnded(m_id); }
 
-    void applyConstraints(const WebCore::MediaConstraints& constraints, SuccessHandler&& successHandler, FailureHandler&& failureHandler) final {
+    void applyConstraints(const WebCore::MediaConstraints& constraints, ApplyConstraintsHandler&& completionHandler) final
+    {
         m_manager.applyConstraints(m_id, constraints);
-        m_pendingApplyConstraintsCallbacks.append({ WTFMove(successHandler), WTFMove(failureHandler)});
+        m_pendingApplyConstraintsCallbacks.append(WTFMove(completionHandler));
     }
 
     uint64_t m_id;
@@ -203,11 +205,7 @@
     std::unique_ptr<ImageTransferSessionVT> m_imageTransferSession;
     CaptureDevice::DeviceType m_deviceType { CaptureDevice::DeviceType::Unknown };
 
-    struct ApplyConstraintsCallback {
-        SuccessHandler successHandler;
-        FailureHandler failureHandler;
-    };
-    Deque<ApplyConstraintsCallback> m_pendingApplyConstraintsCallbacks;
+    Deque<ApplyConstraintsHandler> m_pendingApplyConstraintsCallbacks;
 };
 
 UserMediaCaptureManager::UserMediaCaptureManager(WebProcess& process)
@@ -358,11 +356,11 @@
     source.applyConstraintsSucceeded(settings);
 }
 
-void UserMediaCaptureManager::applyConstraintsFailed(uint64_t id, const String& failedConstraint, const String& message)
+void UserMediaCaptureManager::applyConstraintsFailed(uint64_t id, String&& failedConstraint, String&& message)
 {
     ASSERT(m_sources.contains(id));
     auto& source = *m_sources.get(id);
-    source.applyConstraintsFailed(failedConstraint, message);
+    source.applyConstraintsFailed(WTFMove(failedConstraint), WTFMove(message));
 }
 
 }

Modified: trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h (241144 => 241145)


--- trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h	2019-02-07 22:15:09 UTC (rev 241144)
+++ trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h	2019-02-07 22:52:15 UTC (rev 241145)
@@ -99,7 +99,7 @@
     void setMuted(uint64_t, bool);
     void applyConstraints(uint64_t, const WebCore::MediaConstraints&);
     void applyConstraintsSucceeded(uint64_t, const WebCore::RealtimeMediaSourceSettings&);
-    void applyConstraintsFailed(uint64_t, const String&, const String&);
+    void applyConstraintsFailed(uint64_t, String&&, String&&);
 
     class Source;
     friend class Source;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to