WebDriverEndpoints.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Copyright (c) 2022, Tobias Christiansen <tobyase@serenityos.org>
  3. * Copyright (c) 2022, Tim Flynn <trflynn89@serenityos.org>
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #pragma once
  8. #include <AK/Forward.h>
  9. #include <AK/Function.h>
  10. #include <LibGfx/Rect.h>
  11. #include <LibWeb/Forward.h>
  12. namespace Messages::WebContentServer {
  13. class WebdriverExecuteScriptResponse;
  14. }
  15. namespace Browser {
  16. class WebDriverEndpoints {
  17. public:
  18. WebDriverEndpoints() = default;
  19. ~WebDriverEndpoints() = default;
  20. Function<void(i32 element_id)> on_scroll_element_into_view;
  21. Function<bool(i32 element_id)> on_is_element_selected;
  22. Function<Optional<String>(i32 element_id, String const&)> on_get_element_attribute;
  23. Function<Optional<String>(i32 element_id, String const&)> on_get_element_property;
  24. Function<String()> on_get_active_documents_type;
  25. Function<String(i32 element_id, String const&)> on_get_computed_value_for_element;
  26. Function<String(i32 element_id)> on_get_element_text;
  27. Function<String(i32 element_id)> on_get_element_tag_name;
  28. Function<Gfx::IntRect(i32 element_id)> on_get_element_rect;
  29. Function<bool(i32 element_id)> on_is_element_enabled;
  30. Function<Gfx::ShareableBitmap(i32 element_id)> on_take_element_screenshot;
  31. Function<String()> on_serialize_source;
  32. Function<Messages::WebContentServer::WebdriverExecuteScriptResponse(String const& body, Vector<String> const& json_arguments, Optional<u64> const& timeout, bool async)> on_execute_script;
  33. };
  34. }