fake_navigation_policy_provider.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2020 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_WEBENGINE_BROWSER_FAKE_NAVIGATION_POLICY_PROVIDER_H_
  5. #define FUCHSIA_WEB_WEBENGINE_BROWSER_FAKE_NAVIGATION_POLICY_PROVIDER_H_
  6. #include <fuchsia/web/cpp/fidl.h>
  7. #include <fuchsia/web/cpp/fidl_test_base.h>
  8. class FakeNavigationPolicyProvider
  9. : public fuchsia::web::testing::NavigationPolicyProvider_TestBase {
  10. public:
  11. FakeNavigationPolicyProvider();
  12. ~FakeNavigationPolicyProvider() override;
  13. FakeNavigationPolicyProvider(const FakeNavigationPolicyProvider&) = delete;
  14. FakeNavigationPolicyProvider& operator=(const FakeNavigationPolicyProvider&) =
  15. delete;
  16. void set_should_abort_navigation(bool should_abort_navigation) {
  17. should_abort_navigation_ = should_abort_navigation;
  18. }
  19. fuchsia::web::RequestedNavigation* requested_navigation() {
  20. return &requested_navigation_;
  21. }
  22. int num_evaluated_navigations() { return num_evaluated_navigations_; }
  23. // fuchsia::web::NavigationPolicyProvider implementation.
  24. void EvaluateRequestedNavigation(
  25. fuchsia::web::RequestedNavigation requested_navigation,
  26. EvaluateRequestedNavigationCallback callback) final;
  27. void NotImplemented_(const std::string& name) final;
  28. private:
  29. fuchsia::web::RequestedNavigation requested_navigation_;
  30. bool should_abort_navigation_ = false;
  31. int num_evaluated_navigations_ = 0;
  32. };
  33. #endif // FUCHSIA_WEB_WEBENGINE_BROWSER_FAKE_NAVIGATION_POLICY_PROVIDER_H_