mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 11:24:58 +00:00
LibWeb: Save begin/end timestamps for load and DOMContentLoaded events
This commit is contained in:
parent
d4fc1367f6
commit
797d28adca
3 changed files with 20 additions and 10 deletions
|
@ -234,14 +234,16 @@ void HTMLParser::the_end()
|
|||
|
||||
// 6. Queue a global task on the DOM manipulation task source given the Document's relevant global object to run the following substeps:
|
||||
old_queue_global_task_with_document(HTML::Task::Source::DOMManipulation, *m_document, [document = m_document]() mutable {
|
||||
// FIXME: 1. Set the Document's load timing info's DOM content loaded event start time to the current high resolution time given the Document's relevant global object.
|
||||
// 1. Set the Document's load timing info's DOM content loaded event start time to the current high resolution time given the Document's relevant global object.
|
||||
document->load_timing_info().dom_content_loaded_event_start_time = main_thread_event_loop().unsafe_shared_current_time();
|
||||
|
||||
// 2. Fire an event named DOMContentLoaded at the Document object, with its bubbles attribute initialized to true.
|
||||
auto content_loaded_event = DOM::Event::create(document->window(), HTML::EventNames::DOMContentLoaded);
|
||||
content_loaded_event->set_bubbles(true);
|
||||
document->dispatch_event(*content_loaded_event);
|
||||
|
||||
// FIXME: 3. Set the Document's load timing info's DOM content loaded event end time to the current high resolution time given the Document's relevant global object.
|
||||
// 3. Set the Document's load timing info's DOM content loaded event end time to the current high resolution time given the Document's relevant global object.
|
||||
document->load_timing_info().dom_content_loaded_event_end_time = main_thread_event_loop().unsafe_shared_current_time();
|
||||
|
||||
// FIXME: 4. Enable the client message queue of the ServiceWorkerContainer object whose associated service worker client is the Document object's relevant settings object.
|
||||
|
||||
|
@ -271,7 +273,8 @@ void HTMLParser::the_end()
|
|||
// 3. Let window be the Document's relevant global object.
|
||||
JS::NonnullGCPtr<Window> window = document->window();
|
||||
|
||||
// FIXME: 4. Set the Document's load timing info's load event start time to the current high resolution time given window.
|
||||
// 4. Set the Document's load timing info's load event start time to the current high resolution time given window.
|
||||
document->load_timing_info().load_event_start_time = main_thread_event_loop().unsafe_shared_current_time();
|
||||
|
||||
// 5. Fire an event named load at window, with legacy target override flag set.
|
||||
// FIXME: The legacy target override flag is currently set by a virtual override of dispatch_event()
|
||||
|
@ -282,7 +285,8 @@ void HTMLParser::the_end()
|
|||
|
||||
// FIXME: 7. Set the Document object's navigation id to null.
|
||||
|
||||
// FIXME: 8. Set the Document's load timing info's load event end time to the current high resolution time given window.
|
||||
// 8. Set the Document's load timing info's load event end time to the current high resolution time given window.
|
||||
document->load_timing_info().load_event_end_time = main_thread_event_loop().unsafe_shared_current_time();
|
||||
|
||||
// 9. Assert: Document's page showing is false.
|
||||
VERIFY(!document->page_showing());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue