gpu_host_impl_test_api.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2018 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. #ifndef COMPONENTS_VIZ_TEST_GPU_HOST_IMPL_TEST_API_H_
  5. #define COMPONENTS_VIZ_TEST_GPU_HOST_IMPL_TEST_API_H_
  6. #include "base/memory/raw_ptr.h"
  7. #include "mojo/public/cpp/bindings/remote.h"
  8. #include "services/viz/privileged/mojom/gl/gpu_service.mojom.h"
  9. namespace viz {
  10. class GpuHostImpl;
  11. class GpuHostImplTestApi {
  12. public:
  13. explicit GpuHostImplTestApi(GpuHostImpl* gpu_host);
  14. GpuHostImplTestApi(const GpuHostImplTestApi&) = delete;
  15. GpuHostImplTestApi& operator=(const GpuHostImplTestApi&) = delete;
  16. ~GpuHostImplTestApi();
  17. // Waits until all messages to the mojo::Remote<mojom::GpuService> have been
  18. // processed.
  19. void FlushRemoteForTesting();
  20. void SetGpuService(mojo::Remote<mojom::GpuService> gpu_service);
  21. private:
  22. raw_ptr<GpuHostImpl, DanglingUntriaged> gpu_host_;
  23. };
  24. } // namespace viz
  25. #endif // COMPONENTS_VIZ_TEST_GPU_HOST_IMPL_TEST_API_H_