PerformanceTiming.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibWeb/HTML/Window.h>
  8. namespace Web::NavigationTiming {
  9. class PerformanceTiming final : public Bindings::PlatformObject {
  10. WEB_PLATFORM_OBJECT(PerformanceTiming, Bindings::PlatformObject);
  11. public:
  12. using AllowOwnPtr = TrueType;
  13. ~PerformanceTiming();
  14. u64 navigation_start() { return 0; }
  15. u64 unload_event_start() { return 0; }
  16. u64 unload_event_end() { return 0; }
  17. u64 redirect_start() { return 0; }
  18. u64 redirect_end() { return 0; }
  19. u64 fetch_start() { return 0; }
  20. u64 domain_lookup_start() { return 0; }
  21. u64 domain_lookup_end() { return 0; }
  22. u64 connect_start() { return 0; }
  23. u64 connect_end() { return 0; }
  24. u64 secure_connection_start() { return 0; }
  25. u64 request_start() { return 0; }
  26. u64 response_start() { return 0; }
  27. u64 response_end() { return 0; }
  28. u64 dom_loading() { return 0; }
  29. u64 dom_interactive() { return 0; }
  30. u64 dom_content_loaded_event_start() { return 0; }
  31. u64 dom_content_loaded_event_end() { return 0; }
  32. u64 dom_complete() { return 0; }
  33. u64 load_event_start() { return 0; }
  34. u64 load_event_end() { return 0; }
  35. private:
  36. explicit PerformanceTiming(HTML::Window&);
  37. virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
  38. virtual void visit_edges(Cell::Visitor&) override;
  39. JS::GCPtr<HTML::Window> m_window;
  40. };
  41. }