[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-changes
Subject:    [webkit-changes] [259258] branches/safari-609-branch
From:       repstein () apple ! com
Date:       2020-03-31 0:42:35
Message-ID: 20200331004235.5E7D010051CE () svn ! webkit ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[259258] branches/safari-609-branch</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.webkit.org/projects/webkit/changeset/259258">259258</a></dd> \
<dt>Author</dt> <dd>repstein@apple.com</dd> <dt>Date</dt> <dd>2020-03-30 17:42:35 \
-0700 (Mon, 30 Mar 2020)</dd> </dl>

<h3>Log Message</h3>
<pre>Cherry-pick <a href="http://trac.webkit.org/projects/webkit/changeset/258837">r258837</a>. \
rdar://problem/61064858

    MediaDevices::refreshDevices should take device type into account
    https://bugs.webkit.org/show_bug.cgi?id=209417
    &lt;rdar://problem/60521332&gt;

    Reviewed by Eric Carlson.

    Source/WebCore:

    Now that we set deviceId to the empty string when media capture is not granted,
    we can have two devices with the same ID. We also need to handle the device type.

    * Modules/mediastream/MediaDevices.cpp:
    (WebCore::MediaDevices::refreshDevices):

    LayoutTests:

    * fast/mediastream/media-device-info-expected.txt:
    * fast/mediastream/media-device-info.html:

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258837 \
268f45cc-cd09-0410-ab3c-d52691b4dbfc</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari609branchLayoutTestsChangeLog">branches/safari-609-branch/LayoutTests/ChangeLog</a></li>
 <li><a href="#branchessafari609branchLayoutTestsfastmediastreammediadeviceinfoexpecte \
dtxt">branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info-expected.txt</a></li>
 <li><a href="#branchessafari609branchLayoutTestsfastmediastreammediadeviceinfohtml">b \
ranches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info.html</a></li>
 <li><a href="#branchessafari609branchSourceWebCoreChangeLog">branches/safari-609-branch/Source/WebCore/ChangeLog</a></li>
 <li><a href="#branchessafari609branchSourceWebCoreModulesmediastreamMediaDevicescpp"> \
branches/safari-609-branch/Source/WebCore/Modules/mediastream/MediaDevices.cpp</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari609branchLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-609-branch/LayoutTests/ChangeLog \
(259257 => 259258)</h4> <pre class="diff"><span>
<span class="info">--- branches/safari-609-branch/LayoutTests/ChangeLog	2020-03-31 \
                00:42:31 UTC (rev 259257)
+++ branches/safari-609-branch/LayoutTests/ChangeLog	2020-03-31 00:42:35 UTC (rev \
259258) </span><span class="lines">@@ -1,3 +1,40 @@
</span><ins>+2020-03-30  Alan Coon  &lt;alancoon@apple.com&gt;
+
+        Cherry-pick r258837. rdar://problem/61064858
+
+    MediaDevices::refreshDevices should take device type into account
+    https://bugs.webkit.org/show_bug.cgi?id=209417
+    &lt;rdar://problem/60521332&gt;
+    
+    Reviewed by Eric Carlson.
+    
+    Source/WebCore:
+    
+    Now that we set deviceId to the empty string when media capture is not granted,
+    we can have two devices with the same ID. We also need to handle the device \
type. +    
+    * Modules/mediastream/MediaDevices.cpp:
+    (WebCore::MediaDevices::refreshDevices):
+    
+    LayoutTests:
+    
+    * fast/mediastream/media-device-info-expected.txt:
+    * fast/mediastream/media-device-info.html:
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258837 \
268f45cc-cd09-0410-ab3c-d52691b4dbfc +
+    2020-03-23  youenn fablet  &lt;youenn@apple.com&gt;
+
+            MediaDevices::refreshDevices should take device type into account
+            https://bugs.webkit.org/show_bug.cgi?id=209417
+            &lt;rdar://problem/60521332&gt;
+
+            Reviewed by Eric Carlson.
+
+            * fast/mediastream/media-device-info-expected.txt:
+            * fast/mediastream/media-device-info.html:
+
</ins><span class="cx"> 2020-03-26  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed test gardening.
</span></span></pre></div>
<a id="branchessafari609branchLayoutTestsfastmediastreammediadeviceinfoexpectedtxt"></a>
 <div class="modfile"><h4>Modified: \
branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info-expected.txt \
(259257 => 259258)</h4> <pre class="diff"><span>
<span class="info">--- \
branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info-expected.txt	2020-03-31 \
                00:42:31 UTC (rev 259257)
+++ branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info-expected.txt	2020-03-31 \
00:42:35 UTC (rev 259258) </span><span class="lines">@@ -1,3 +1,4 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Test properties of MediaDeviceInfo 
</span><ins>+PASS Ensure enumerateDevices exposes both microphone and camera 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari609branchLayoutTestsfastmediastreammediadeviceinfohtml"></a>
<div class="modfile"><h4>Modified: \
branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info.html \
(259257 => 259258)</h4> <pre class="diff"><span>
<span class="info">--- \
branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info.html	2020-03-31 \
                00:42:31 UTC (rev 259257)
+++ branches/safari-609-branch/LayoutTests/fast/mediastream/media-device-info.html	2020-03-31 \
00:42:35 UTC (rev 259258) </span><span class="lines">@@ -6,11 +6,6 @@
</span><span class="cx">     &lt;script \
src=&quot;../../resources/testharness.js&quot;&gt;&lt;/script&gt; </span><span \
class="cx">     &lt;script \
src=&quot;../../resources/testharnessreport.js&quot;&gt;&lt;/script&gt; </span><span \
class="cx">     &lt;script&gt; </span><del>-    var devices = [];
-
-    if (window.testRunner)
-        testRunner.setUserMediaPermission(true);
-
</del><span class="cx">     promise_test((test) =&gt; {
</span><span class="cx">         return navigator.mediaDevices.enumerateDevices()
</span><span class="cx">             .then((devices) =&gt; {
</span><span class="lines">@@ -33,6 +28,13 @@
</span><span class="cx">             });
</span><span class="cx">     }, &quot;Test properties of MediaDeviceInfo&quot;);
</span><span class="cx"> 
</span><ins>+    promise_test(async (test) =&gt; {
+        await navigator.mediaDevices.enumerateDevices();
+        const devices = await navigator.mediaDevices.enumerateDevices();
+        assert_equals(devices.length, 2);
+        assert_equals(devices[0].kind, &quot;audioinput&quot;);
+        assert_equals(devices[1].kind, &quot;videoinput&quot;);
+    }, &quot;Ensure enumerateDevices exposes both microphone and camera&quot;);
</ins><span class="cx">     &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span></span></pre></div>
<a id="branchessafari609branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: \
branches/safari-609-branch/Source/WebCore/ChangeLog (259257 => 259258)</h4> <pre \
class="diff"><span> <span class="info">--- \
branches/safari-609-branch/Source/WebCore/ChangeLog	2020-03-31 00:42:31 UTC (rev \
                259257)
+++ branches/safari-609-branch/Source/WebCore/ChangeLog	2020-03-31 00:42:35 UTC (rev \
259258) </span><span class="lines">@@ -1,5 +1,45 @@
</span><span class="cx"> 2020-03-30  Alan Coon  &lt;alancoon@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Cherry-pick r258837. rdar://problem/61064858
+
+    MediaDevices::refreshDevices should take device type into account
+    https://bugs.webkit.org/show_bug.cgi?id=209417
+    &lt;rdar://problem/60521332&gt;
+    
+    Reviewed by Eric Carlson.
+    
+    Source/WebCore:
+    
+    Now that we set deviceId to the empty string when media capture is not granted,
+    we can have two devices with the same ID. We also need to handle the device \
type. +    
+    * Modules/mediastream/MediaDevices.cpp:
+    (WebCore::MediaDevices::refreshDevices):
+    
+    LayoutTests:
+    
+    * fast/mediastream/media-device-info-expected.txt:
+    * fast/mediastream/media-device-info.html:
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258837 \
268f45cc-cd09-0410-ab3c-d52691b4dbfc +
+    2020-03-23  youenn fablet  &lt;youenn@apple.com&gt;
+
+            MediaDevices::refreshDevices should take device type into account
+            https://bugs.webkit.org/show_bug.cgi?id=209417
+            &lt;rdar://problem/60521332&gt;
+
+            Reviewed by Eric Carlson.
+
+            Now that we set deviceId to the empty string when media capture is not \
granted, +            we can have two devices with the same ID. We also need to \
handle the device type. +
+            * Modules/mediastream/MediaDevices.cpp:
+            (WebCore::MediaDevices::refreshDevices):
+
+2020-03-30  Alan Coon  &lt;alancoon@apple.com&gt;
+
</ins><span class="cx">         Cherry-pick r258493. rdar://problem/61064864
</span><span class="cx"> 
</span><span class="cx">     Remove the use of empty WebRTC sources for receiver \
tracks </span></span></pre></div>
<a id="branchessafari609branchSourceWebCoreModulesmediastreamMediaDevicescpp"></a>
<div class="modfile"><h4>Modified: \
branches/safari-609-branch/Source/WebCore/Modules/mediastream/MediaDevices.cpp \
(259257 => 259258)</h4> <pre class="diff"><span>
<span class="info">--- \
branches/safari-609-branch/Source/WebCore/Modules/mediastream/MediaDevices.cpp	2020-03-31 \
                00:42:31 UTC (rev 259257)
+++ branches/safari-609-branch/Source/WebCore/Modules/mediastream/MediaDevices.cpp	2020-03-31 \
00:42:35 UTC (rev 259258) </span><span class="lines">@@ -181,8 +181,9 @@
</span><span class="cx">         if (!canAccessCamera &amp;&amp; newDevice.type() == \
CaptureDevice::DeviceType::Camera) </span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        auto index = m_devices.findMatching([&amp;newDevice](auto&amp; \
                oldDevice) {
-            return oldDevice-&gt;deviceId() == newDevice.persistentId();
</del><ins>+        auto deviceKind = newDevice.type() == \
CaptureDevice::DeviceType::Microphone ? MediaDeviceInfo::Kind::Audioinput : \
MediaDeviceInfo::Kind::Videoinput; +        auto index = \
m_devices.findMatching([deviceKind, &amp;newDevice](auto&amp; oldDevice) { +          \
return oldDevice-&gt;deviceId() == newDevice.persistentId() &amp;&amp; \
oldDevice-&gt;kind() == deviceKind; </ins><span class="cx">         });
</span><span class="cx">         if (index != notFound) {
</span><span class="cx">             devices.append(m_devices[index].copyRef());
</span><span class="lines">@@ -189,8 +190,7 @@
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        auto deviceType = newDevice.type() == \
CaptureDevice::DeviceType::Microphone ? MediaDeviceInfo::Kind::Audioinput : \
                MediaDeviceInfo::Kind::Videoinput;
-        devices.append(MediaDeviceInfo::create(newDevice.label(), \
newDevice.persistentId(), newDevice.groupId(), deviceType)); </del><ins>+        \
devices.append(MediaDeviceInfo::create(newDevice.label(), newDevice.persistentId(), \
newDevice.groupId(), deviceKind)); </ins><span class="cx">     }
</span><span class="cx">     m_devices = WTFMove(devices);
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic