From 49ac6882ec296d7c4fd433f6fc847a1928c09e11 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Fri, 21 Mar 2025 13:17:33 -0400 Subject: [PATCH] chrome: Implement CefBrowserHost::SetAudioMuted/IsAudioMuted (fixes #3893) --- .../browser/alloy/alloy_browser_host_impl.cc | 23 ------------------- .../browser/alloy/alloy_browser_host_impl.h | 2 -- libcef/browser/browser_host_base.cc | 22 ++++++++++++++++++ libcef/browser/browser_host_base.h | 2 ++ .../chrome/chrome_browser_host_impl.cc | 9 -------- .../browser/chrome/chrome_browser_host_impl.h | 2 -- 6 files changed, 24 insertions(+), 36 deletions(-) diff --git a/libcef/browser/alloy/alloy_browser_host_impl.cc b/libcef/browser/alloy/alloy_browser_host_impl.cc index 0a67fa937..26262835c 100644 --- a/libcef/browser/alloy/alloy_browser_host_impl.cc +++ b/libcef/browser/alloy/alloy_browser_host_impl.cc @@ -901,29 +901,6 @@ void AlloyBrowserHostImpl::DragSourceEndedAt( } } -void AlloyBrowserHostImpl::SetAudioMuted(bool mute) { - if (!CEF_CURRENTLY_ON_UIT()) { - CEF_POST_TASK(CEF_UIT, base::BindOnce(&AlloyBrowserHostImpl::SetAudioMuted, - this, mute)); - return; - } - if (!web_contents()) { - return; - } - web_contents()->SetAudioMuted(mute); -} - -bool AlloyBrowserHostImpl::IsAudioMuted() { - if (!CEF_CURRENTLY_ON_UIT()) { - DCHECK(false) << "called on invalid thread"; - return false; - } - if (!web_contents()) { - return false; - } - return web_contents()->IsAudioMuted(); -} - // content::WebContentsDelegate methods. // ----------------------------------------------------------------------------- diff --git a/libcef/browser/alloy/alloy_browser_host_impl.h b/libcef/browser/alloy/alloy_browser_host_impl.h index a26361dc4..d75cdbc95 100644 --- a/libcef/browser/alloy/alloy_browser_host_impl.h +++ b/libcef/browser/alloy/alloy_browser_host_impl.h @@ -115,8 +115,6 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase, void DragTargetDrop(const CefMouseEvent& event) override; void DragSourceSystemDragEnded() override; void DragSourceEndedAt(int x, int y, DragOperationsMask op) override; - void SetAudioMuted(bool mute) override; - bool IsAudioMuted() override; void SetAutoResizeEnabled(bool enabled, const CefSize& min_size, const CefSize& max_size) override; diff --git a/libcef/browser/browser_host_base.cc b/libcef/browser/browser_host_base.cc index 3f58c9ac8..6263fbab0 100644 --- a/libcef/browser/browser_host_base.cc +++ b/libcef/browser/browser_host_base.cc @@ -783,6 +783,28 @@ CefRefPtr CefBrowserHostBase::GetVisibleNavigationEntry() { return new CefNavigationEntryImpl(entry); } +void CefBrowserHostBase::SetAudioMuted(bool mute) { + if (!CEF_CURRENTLY_ON_UIT()) { + CEF_POST_TASK(CEF_UIT, base::BindOnce(&CefBrowserHostBase::SetAudioMuted, + this, mute)); + return; + } + if (auto web_contents = GetWebContents()) { + web_contents->SetAudioMuted(mute); + } +} + +bool CefBrowserHostBase::IsAudioMuted() { + if (!CEF_CURRENTLY_ON_UIT()) { + DCHECK(false) << "called on invalid thread"; + return false; + } + if (auto web_contents = GetWebContents()) { + return web_contents->IsAudioMuted(); + } + return false; +} + void CefBrowserHostBase::NotifyMoveOrResizeStarted() { #if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)) if (!CEF_CURRENTLY_ON_UIT()) { diff --git a/libcef/browser/browser_host_base.h b/libcef/browser/browser_host_base.h index c46e1972f..e2be22f79 100644 --- a/libcef/browser/browser_host_base.h +++ b/libcef/browser/browser_host_base.h @@ -262,6 +262,8 @@ class CefBrowserHostBase : public CefBrowserHost, void GetNavigationEntries(CefRefPtr visitor, bool current_only) override; CefRefPtr GetVisibleNavigationEntry() override; + void SetAudioMuted(bool mute) override; + bool IsAudioMuted() override; void NotifyMoveOrResizeStarted() override; bool IsFullscreen() override; void ExitFullscreen(bool will_cause_resize) override; diff --git a/libcef/browser/chrome/chrome_browser_host_impl.cc b/libcef/browser/chrome/chrome_browser_host_impl.cc index 38f6ed1cc..1516a8773 100644 --- a/libcef/browser/chrome/chrome_browser_host_impl.cc +++ b/libcef/browser/chrome/chrome_browser_host_impl.cc @@ -327,15 +327,6 @@ void ChromeBrowserHostImpl::DragSourceEndedAt(int x, NOTIMPLEMENTED(); } -void ChromeBrowserHostImpl::SetAudioMuted(bool mute) { - NOTIMPLEMENTED(); -} - -bool ChromeBrowserHostImpl::IsAudioMuted() { - NOTIMPLEMENTED(); - return false; -} - void ChromeBrowserHostImpl::SetAutoResizeEnabled(bool enabled, const CefSize& min_size, const CefSize& max_size) { diff --git a/libcef/browser/chrome/chrome_browser_host_impl.h b/libcef/browser/chrome/chrome_browser_host_impl.h index 8d039ef13..211eea8bc 100644 --- a/libcef/browser/chrome/chrome_browser_host_impl.h +++ b/libcef/browser/chrome/chrome_browser_host_impl.h @@ -109,8 +109,6 @@ class ChromeBrowserHostImpl : public CefBrowserHostBase { void DragTargetDrop(const CefMouseEvent& event) override; void DragSourceSystemDragEnded() override; void DragSourceEndedAt(int x, int y, DragOperationsMask op) override; - void SetAudioMuted(bool mute) override; - bool IsAudioMuted() override; void SetAutoResizeEnabled(bool enabled, const CefSize& min_size, const CefSize& max_size) override;