gpu_switching_manager.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Copyright (c) 2012 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. #include "ui/gl/gpu_switching_manager.h"
  5. #include "base/observer_list.h"
  6. namespace ui {
  7. // static
  8. GpuSwitchingManager* GpuSwitchingManager::GetInstance() {
  9. return base::Singleton<GpuSwitchingManager>::get();
  10. }
  11. GpuSwitchingManager::GpuSwitchingManager() = default;
  12. GpuSwitchingManager::~GpuSwitchingManager() = default;
  13. void GpuSwitchingManager::AddObserver(GpuSwitchingObserver* observer) {
  14. observer_list_.AddObserver(observer);
  15. }
  16. void GpuSwitchingManager::RemoveObserver(GpuSwitchingObserver* observer) {
  17. observer_list_.RemoveObserver(observer);
  18. }
  19. void GpuSwitchingManager::NotifyGpuSwitched(
  20. gl::GpuPreference active_gpu_heuristic) {
  21. for (GpuSwitchingObserver& observer : observer_list_)
  22. observer.OnGpuSwitched(active_gpu_heuristic);
  23. }
  24. void GpuSwitchingManager::NotifyDisplayAdded() {
  25. for (GpuSwitchingObserver& observer : observer_list_)
  26. observer.OnDisplayAdded();
  27. }
  28. void GpuSwitchingManager::NotifyDisplayRemoved() {
  29. for (GpuSwitchingObserver& observer : observer_list_)
  30. observer.OnDisplayRemoved();
  31. }
  32. void GpuSwitchingManager::NotifyDisplayMetricsChanged() {
  33. for (GpuSwitchingObserver& observer : observer_list_)
  34. observer.OnDisplayMetricsChanged();
  35. }
  36. } // namespace ui