Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6b9d0d0c4172149e7d2fc204a083ca16c27e3b16
      
https://github.com/WebKit/WebKit/commit/6b9d0d0c4172149e7d2fc204a083ca16c27e3b16
  Author: Youenn Fablet <you...@apple.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    A LayoutTests/http/wpt/mediasession/resources/toggleCapture-iframe.html
    A LayoutTests/http/wpt/mediasession/toggleCapture-expected.txt
    A LayoutTests/http/wpt/mediasession/toggleCapture.html
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M Source/WebCore/Modules/mediasession/MediaSession.cpp
    M Source/WebCore/Modules/mediasession/MediaSessionAction.h
    M Source/WebCore/Modules/mediasession/MediaSessionAction.idl
    M Source/WebCore/Modules/mediasession/MediaSessionActionDetails.h
    M Source/WebCore/Modules/mediasession/MediaSessionActionDetails.idl
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/page/Page.cpp

  Log Message:
  -----------
  Trigger toggle capture actions in case page muted state changes
https://bugs.webkit.org/show_bug.cgi?id=277261
rdar://132725520

Reviewed by Jean-Yves Avenard.

When user is toggling capture mute/unmute buttons, this triggers a call to 
Page::setMuted.
We pipe this information to MediaSession.
We make sure to call the MediaSession action handlers:
- for documents that have live capture tracks
- before live capture tracks fire the corresponding mute/unmute event.

* LayoutTests/http/wpt/mediasession/resources/toggleCapture-iframe.html: Added.
* LayoutTests/http/wpt/mediasession/toggleCapture-expected.txt: Added.
* LayoutTests/http/wpt/mediasession/toggleCapture.html: Added.
* LayoutTests/platform/mac-wk1/TestExpectations:
* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/Modules/mediasession/MediaSession.cpp:
(WebCore::platformCommandForMediaSessionAction):
(WebCore::MediaSession::callActionHandler):
* Source/WebCore/Modules/mediasession/MediaSessionAction.h:
* Source/WebCore/Modules/mediasession/MediaSessionAction.idl:
* Source/WebCore/Modules/mediasession/MediaSessionActionDetails.h:
* Source/WebCore/Modules/mediasession/MediaSessionActionDetails.idl:
* Source/WebCore/dom/Document.cpp:
(WebCore::hasRealtimeMediaSource):
(WebCore::Document::processCaptureStateDidChange):
(WebCore::Document::cameraCaptureStateDidChange):
(WebCore::Document::microphoneCaptureStateDidChange):
(WebCore::Document::screenshareCaptureStateDidChange):
* Source/WebCore/dom/Document.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::setMuted):

Canonical link: https://commits.webkit.org/281596@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to