fake_surface_observer.cc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright 2017 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 "components/viz/test/fake_surface_observer.h"
  5. namespace viz {
  6. FakeSurfaceObserver::FakeSurfaceObserver(bool damage_display)
  7. : damage_display_(damage_display) {}
  8. FakeSurfaceObserver::~FakeSurfaceObserver() = default;
  9. void FakeSurfaceObserver::Reset() {
  10. last_ack_ = BeginFrameAck();
  11. damaged_surfaces_.clear();
  12. surface_subtree_damaged_.clear();
  13. last_surface_info_ = SurfaceInfo();
  14. last_created_surface_id_ = SurfaceId();
  15. }
  16. bool FakeSurfaceObserver::IsSurfaceDamaged(const SurfaceId& surface_id) const {
  17. return damaged_surfaces_.count(surface_id) > 0;
  18. }
  19. bool FakeSurfaceObserver::OnSurfaceDamaged(const SurfaceId& surface_id,
  20. const BeginFrameAck& ack) {
  21. if (ack.has_damage)
  22. damaged_surfaces_.insert(surface_id);
  23. last_ack_ = ack;
  24. return ack.has_damage && damage_display_;
  25. }
  26. void FakeSurfaceObserver::OnFirstSurfaceActivation(
  27. const SurfaceInfo& surface_info) {
  28. last_created_surface_id_ = surface_info.id();
  29. last_surface_info_ = surface_info;
  30. }
  31. void FakeSurfaceObserver::OnSurfaceActivated(const SurfaceId& surface_id) {}
  32. } // namespace viz