assistant_screen_context_controller_impl.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 ASH_ASSISTANT_ASSISTANT_SCREEN_CONTEXT_CONTROLLER_IMPL_H_
  5. #define ASH_ASSISTANT_ASSISTANT_SCREEN_CONTEXT_CONTROLLER_IMPL_H_
  6. #include <memory>
  7. #include "ash/ash_export.h"
  8. #include "ash/public/cpp/assistant/controller/assistant_screen_context_controller.h"
  9. #include "base/callback_forward.h"
  10. #include "ui/gfx/geometry/rect.h"
  11. namespace ui {
  12. class LayerTreeOwner;
  13. } // namespace ui
  14. namespace ash {
  15. class ASH_EXPORT AssistantScreenContextControllerImpl
  16. : public AssistantScreenContextController {
  17. public:
  18. AssistantScreenContextControllerImpl();
  19. AssistantScreenContextControllerImpl(
  20. const AssistantScreenContextControllerImpl&) = delete;
  21. AssistantScreenContextControllerImpl& operator=(
  22. const AssistantScreenContextControllerImpl&) = delete;
  23. ~AssistantScreenContextControllerImpl() override;
  24. // AssistantScreenContextController:
  25. void RequestScreenshot(const gfx::Rect& rect,
  26. RequestScreenshotCallback callback) override;
  27. std::unique_ptr<ui::LayerTreeOwner> CreateLayerForAssistantSnapshotForTest();
  28. private:
  29. friend class AssistantScreenContextControllerTest;
  30. };
  31. } // namespace ash
  32. #endif // ASH_ASSISTANT_ASSISTANT_SCREEN_CONTEXT_CONTROLLER_IMPL_H_