1 // Copyright 2022 Samsung Electronics Inc. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "tizen_src/chromium_impl/content/browser/media/media_player_renderer_web_contents_observer.h"
7 #include "tizen_src/chromium_impl/content/browser/media/tizen_renderer_impl.h"
11 MediaPlayerRendererWebContentsObserver::MediaPlayerRendererWebContentsObserver(
12 WebContents* web_contents)
13 : WebContentsObserver(web_contents),
14 WebContentsUserData<MediaPlayerRendererWebContentsObserver>(
17 MediaPlayerRendererWebContentsObserver::
18 ~MediaPlayerRendererWebContentsObserver() = default;
20 void MediaPlayerRendererWebContentsObserver::AddMediaPlayerRenderer(
21 content::TizenRendererImpl* player) {
23 DCHECK(players_.find(player) == players_.end());
24 players_.insert(player);
27 void MediaPlayerRendererWebContentsObserver::RemoveMediaPlayerRenderer(
28 content::TizenRendererImpl* player) {
30 auto erase_result = players_.erase(player);
31 DCHECK_EQ(1u, erase_result);
34 void MediaPlayerRendererWebContentsObserver::DidUpdateAudioMutingState(
36 for (content::TizenRendererImpl* player : players_)
37 player->OnUpdateAudioMutingState(muted);
40 void MediaPlayerRendererWebContentsObserver::WebContentsDestroyed() {
41 for (content::TizenRendererImpl* player : players_)
42 player->OnWebContentsDestroyed();
46 WEB_CONTENTS_USER_DATA_KEY_IMPL(MediaPlayerRendererWebContentsObserver);
48 } // namespace content