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()10DesktopMediaPickerManager* 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)18void DesktopMediaPickerManager::AddObserver(DialogObserver* observer) { 19 observers_.AddObserver(observer); 20 } 21 RemoveObserver(DialogObserver * observer)22void DesktopMediaPickerManager::RemoveObserver(DialogObserver* observer) { 23 observers_.RemoveObserver(observer); 24 } 25 OnShowDialog()26void DesktopMediaPickerManager::OnShowDialog() { 27 for (auto& observer : observers_) 28 observer.OnDialogOpened(); 29 } 30 OnHideDialog()31void DesktopMediaPickerManager::OnHideDialog() { 32 for (auto& observer : observers_) 33 observer.OnDialogClosed(); 34 } 35