1 // Copyright 2019 The Chromium Authors. 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.
4 
5 #include "chrome/browser/media/webrtc/desktop_media_picker_manager.h"
6 
7 #include "base/no_destructor.h"
8 
9 // static
Get()10 DesktopMediaPickerManager* DesktopMediaPickerManager::Get() {
11   static base::NoDestructor<DesktopMediaPickerManager> instance;
12   return instance.get();
13 }
14 
15 DesktopMediaPickerManager::DesktopMediaPickerManager() = default;
16 DesktopMediaPickerManager::~DesktopMediaPickerManager() = default;
17 
AddObserver(DialogObserver * observer)18 void DesktopMediaPickerManager::AddObserver(DialogObserver* observer) {
19   observers_.AddObserver(observer);
20 }
21 
RemoveObserver(DialogObserver * observer)22 void DesktopMediaPickerManager::RemoveObserver(DialogObserver* observer) {
23   observers_.RemoveObserver(observer);
24 }
25 
OnShowDialog()26 void DesktopMediaPickerManager::OnShowDialog() {
27   for (auto& observer : observers_)
28     observer.OnDialogOpened();
29 }
30 
OnHideDialog()31 void DesktopMediaPickerManager::OnHideDialog() {
32   for (auto& observer : observers_)
33     observer.OnDialogClosed();
34 }
35