mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-04-19 02:10:26 +00:00
Replace the blocking spin_processing_tasks_with_source_until calls in apply_the_history_step_after_unload_check() with an event-driven ApplyHistoryStepState GC cell that tracks 5 phases, following the same pattern used by CheckUnloadingCanceledState. Key changes: - Introduce ApplyHistoryStepState with phases: WaitingForDocumentPopulation, ProcessingContinuations, WaitingForChangeJobCompletion, WaitingForNonChangingJobs and Completed - Add on_complete callbacks to apply_the_push_or_replace_history_step, finalize_a_same_document_navigation, finalize_a_cross_document_navigation, and update_for_navigable_creation_or_destruction - Remove spin_until from Document::open() - Use null-document tasks for non-changing navigable updates and document unload/destroy to avoid stuck tasks when documents become non-fully-active - Defer completely_finish_loading when document has no navigable yet, and re-trigger post-load steps in activate_history_entry for documents that completed loading before activation Co-Authored-By: Shannon Booth <shannon@serenityos.org> |
||
|---|---|---|
| .. | ||
| Actions.cpp | ||
| Actions.h | ||
| Capabilities.cpp | ||
| Capabilities.h | ||
| Client.cpp | ||
| Client.h | ||
| Contexts.cpp | ||
| Contexts.h | ||
| ElementLocationStrategies.cpp | ||
| ElementLocationStrategies.h | ||
| ElementReference.cpp | ||
| ElementReference.h | ||
| Error.cpp | ||
| Error.h | ||
| ExecuteScript.cpp | ||
| ExecuteScript.h | ||
| HeapTimer.cpp | ||
| HeapTimer.h | ||
| InputSource.cpp | ||
| InputSource.h | ||
| InputState.cpp | ||
| InputState.h | ||
| JSON.cpp | ||
| JSON.h | ||
| Properties.h | ||
| Proxy.cpp | ||
| Proxy.h | ||
| Response.cpp | ||
| Response.h | ||
| Screenshot.cpp | ||
| Screenshot.h | ||
| TimeoutsConfiguration.cpp | ||
| TimeoutsConfiguration.h | ||
| UserPrompt.cpp | ||
| UserPrompt.h | ||