Title: [218632] trunk/Source/WebKit2
Revision
218632
Author
[email protected]
Date
2017-06-21 08:56:06 -0700 (Wed, 21 Jun 2017)

Log Message

Don't clear audio mute when muting capture.
https://bugs.webkit.org/show_bug.cgi?id=173639
rdar://problem/32749737

Patch by Jeremy Jones <[email protected]> on 2017-06-21
Reviewed by Eric Carlson.

Setting capture mute was clearing audio mute.
Added setMediaStreamCaptureMuted to set just the capture mute bit.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _muteMediaCapture]):
* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::muteCaptureMediaStreamsExceptIn):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMediaStreamCaptureMuted):
* UIProcess/WebPageProxy.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (218631 => 218632)


--- trunk/Source/WebKit2/ChangeLog	2017-06-21 15:50:48 UTC (rev 218631)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-21 15:56:06 UTC (rev 218632)
@@ -1,3 +1,22 @@
+2017-06-21  Jeremy Jones  <[email protected]>
+
+        Don't clear audio mute when muting capture.
+        https://bugs.webkit.org/show_bug.cgi?id=173639
+        rdar://problem/32749737
+
+        Reviewed by Eric Carlson.
+
+        Setting capture mute was clearing audio mute.
+        Added setMediaStreamCaptureMuted to set just the capture mute bit.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _muteMediaCapture]):
+        * UIProcess/UserMediaProcessManager.cpp:
+        (WebKit::UserMediaProcessManager::muteCaptureMediaStreamsExceptIn):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::setMediaStreamCaptureMuted):
+        * UIProcess/WebPageProxy.h:
+
 2017-06-21  Miguel Gomez  <[email protected]>
 
         [GTK][WAYLAND] Create WaylandCompositorDisplay unconditionally when initializing the WebProcess

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (218631 => 218632)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-06-21 15:50:48 UTC (rev 218631)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-06-21 15:56:06 UTC (rev 218632)
@@ -4511,7 +4511,7 @@
 
 - (void)_muteMediaCapture
 {
-    _page->setMuted(WebCore::MediaProducer::CaptureDevicesAreMuted);
+    _page->setMediaStreamCaptureMuted(true);
 }
 
 - (void)_setMediaCaptureEnabled:(BOOL)enabled

Modified: trunk/Source/WebKit2/UIProcess/UserMediaProcessManager.cpp (218631 => 218632)


--- trunk/Source/WebKit2/UIProcess/UserMediaProcessManager.cpp	2017-06-21 15:50:48 UTC (rev 218631)
+++ trunk/Source/WebKit2/UIProcess/UserMediaProcessManager.cpp	2017-06-21 15:56:06 UTC (rev 218632)
@@ -116,7 +116,7 @@
         for (auto& manager : state.value->managers()) {
             if (&manager->page() == &pageStartingCapture)
                 continue;
-            manager->page().setMuted(WebCore::MediaProducer::CaptureDevicesAreMuted);
+            manager->page().setMediaStreamCaptureMuted(true);
         }
     }
 #else

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (218631 => 218632)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2017-06-21 15:50:48 UTC (rev 218631)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2017-06-21 15:56:06 UTC (rev 218632)
@@ -1660,7 +1660,15 @@
     m_isEditable = editable;
     m_process->send(Messages::WebPage::SetEditable(editable), m_pageID);
 }
-
+    
+void WebPageProxy::setMediaStreamCaptureMuted(bool muted)
+{
+    if (muted)
+        setMuted(m_mutedState | WebCore::MediaProducer::CaptureDevicesAreMuted);
+    else
+        setMuted(m_mutedState & ~WebCore::MediaProducer::CaptureDevicesAreMuted);
+}
+    
 #if !PLATFORM(IOS)
 void WebPageProxy::didCommitLayerTree(const RemoteLayerTreeTransaction&)
 {

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (218631 => 218632)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2017-06-21 15:50:48 UTC (rev 218631)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2017-06-21 15:56:06 UTC (rev 218632)
@@ -472,7 +472,8 @@
 
     void activateMediaStreamCaptureInPage() { setMuted(m_mutedState & ~WebCore::MediaProducer::CaptureDevicesAreMuted); }
     bool isMediaStreamCaptureMuted() const { return m_mutedState & WebCore::MediaProducer::CaptureDevicesAreMuted; }
-
+    void setMediaStreamCaptureMuted(bool);
+        
 #if PLATFORM(IOS)
     void executeEditCommand(const String& commandName, WTF::Function<void (CallbackBase::Error)>&&);
     double displayedContentScale() const { return m_lastVisibleContentRectUpdate.scale(); }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to