frame_test_util.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2019 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 FUCHSIA_WEB_COMMON_TEST_FRAME_TEST_UTIL_H_
  5. #define FUCHSIA_WEB_COMMON_TEST_FRAME_TEST_UTIL_H_
  6. #include <fuchsia/mem/cpp/fidl.h>
  7. #include <fuchsia/web/cpp/fidl.h>
  8. #include "base/strings/string_piece.h"
  9. #include "base/values.h"
  10. #include "third_party/abseil-cpp/absl/types/optional.h"
  11. // Uses |navigation_controller| to load |url| with |load_url_params|. Returns
  12. // after the load is completed. Returns true if the load was successful, false
  13. // otherwise.
  14. bool LoadUrlAndExpectResponse(
  15. fuchsia::web::NavigationController* navigation_controller,
  16. fuchsia::web::LoadUrlParams load_url_params,
  17. base::StringPiece url);
  18. bool LoadUrlAndExpectResponse(
  19. const fuchsia::web::NavigationControllerPtr& navigation_controller,
  20. fuchsia::web::LoadUrlParams load_url_params,
  21. base::StringPiece url);
  22. // Executes |script| in the context of |frame|'s top-level document.
  23. // Returns an un-set |absl::optional<>| on failure.
  24. absl::optional<base::Value> ExecuteJavaScript(fuchsia::web::Frame* frame,
  25. base::StringPiece script);
  26. // Creates and returns a LoadUrlParams with was_user_activated set to true.
  27. // This allows user actions to propagate to the frame, allowing features such as
  28. // autoplay to be used, which is used by many media tests.
  29. fuchsia::web::LoadUrlParams CreateLoadUrlParamsWithUserActivation();
  30. // Creates a WebMessage with one outgoing transferable set to
  31. // |message_port_request| and data set to |buffer|.
  32. fuchsia::web::WebMessage CreateWebMessageWithMessagePortRequest(
  33. fidl::InterfaceRequest<fuchsia::web::MessagePort> message_port_request,
  34. fuchsia::mem::Buffer buffer);
  35. #endif // FUCHSIA_WEB_COMMON_TEST_FRAME_TEST_UTIL_H_