Aliaksandr Kalenik
76d42aa2d5
LibWeb: Add missing visit Document::m_intersection_observers
2023-09-16 19:44:55 -06:00
Aliaksandr Kalenik
078489d9ee
LibWeb: Add missing visit Document::m_target_element
2023-09-16 19:44:55 -06:00
Aliaksandr Kalenik
4446858401
LibWeb: Do not crash if parsing failed in load_document()
...
If `load_document()` is called with a response that has a mime type we
can't use to build a document, we should return nullptr as the spec
says, instead of crashing. Also we should not crash if error happened
during parsing.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
ead311eac7
LibWeb: Delete navigation id check in navigate_to_a_javascript_url
...
Adding this check was a mistake because although the navigation id
changes to null in step 2, it still has to proceed and apply the
history step.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
f01cbaf5fb
LibWeb: Remove unused javascript:
url navigation methods in Document
...
Those are superseded by methods to navigate `javascript:` url in
navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
38461a7b86
LibWeb: Update EventHandler::handle_mouseup
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
69513de1ad
LibWeb: Update IntersectionObserver::intersection_root() for navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
10b2ce49dc
LibWeb: Invalidate style before running insertion steps
...
This fixes issue reproducing with following steps:
1. Node::insert_before() adopts a node into another document.
2. Node::insert_before() runs insertion steps for adopted node (adopted
node style is not invalidated yet).
3. Insertion steps execute spin_until() on event loop.
4. The next task on event loop does Document::update_style() which
requires layout tree rebuild.
5. Layout tree rebuild fails because there is a node with invalidated
style.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
6736a76915
LibWeb: Update Window::name()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
5d12dea4c9
LibWeb: Update Window::set_name()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
c95215f829
LibWeb: Update Window::focus()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
e54071ce89
LibWeb: Update Window::parent()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
8d82dc3a9f
LibWeb: Update Window::top()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
05cbc448b6
LibWeb: Update Document::update_layout() to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
6411fea552
LibWeb: Update focus_chain()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
38034237c5
LibWeb: Update run_iframe_load_event_steps to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
76a97d8863
LibWeb: Update Document::completely_finish_loading() to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
9b16e5373d
LibWeb: Process session history queue after initial iframe navigation
...
This is not in the spec, but we need to make sure that "apply the
history step" for initial navigation to about:blank in iframe is
applied before subsequent navigations. Otherwise, "set ongoing
navigation" call during "about:blank" traversal might abort subsequent
ongoing navigation which is not expected to happen.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
0e0936e1ce
LibWeb: Update Window::frame_element()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
67f5c027fe
LibWeb: Use saved navigable pointer in destroy_the_child_navigable
...
During the destruction of a navigable, we need to use the pointer to
the navigable that was saved at the beginning of the function. This
is because `Node::navigable()` will return a nullptr in subsequent
steps after the navigable's document becomes inactive.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
cf985afdcb
LibWeb: Look for targetStepSHE in parent while creating child navigable
...
Reported issue in the spec https://github.com/whatwg/html/issues/9686
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
cd75b1de3d
LibWeb: Delete discard() in Document and BrowsingContext
...
Those are not used anymore after moving to navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
180c3e2fef
LibWeb: Remove unused BrowsingContext::close()
...
Was replaced by close_top_level_traversable()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
d17b1d6b1f
LibWeb: Update WebDriverConnection::close_window() to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
df5db1631b
LibWeb: Update WebDriverConnection::close_session() to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
bf785fee34
LibWeb: Remove unused BrowsingContext::container_document()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
57e53fa844
LibWeb: Update "has style sheet that blocking scripts" for navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
1f2ed7effc
LibWeb: Remove outdated version of determine_the_origin()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
7b91f79817
LibWeb: Delete unused BrowsingContext::is_child_of()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
6942bdcfce
LibWeb: Update top_level_browsing_context() to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
fda420875d
LibWeb: Delete BrowsingContext::set_active_document()
...
Superseded by Document::make_active()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
2fbb6ae520
LibWeb: Add did_stop_being_active_document_in_navigable()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
4532584b3a
LibWeb: Remove unused BrowsingContext::create_a_new_browsing_context()
...
Became unused after introducing
create_a_new_browsing_context_and_document() used in navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
24f97491bf
LibWeb: Delete unused create_a_new_browsing_context_group()
...
Became unused after introducing
create_a_new_browsing_context_group_and_document() used in navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
6665f0db43
LibWeb: Delete unused document_tree_child_browsing_context_count()
...
The function is no longer needed with navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
605d24ef7d
LibWeb: Update WindowProxy::internal_own_property_keys() for navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
089a23a1f2
LibWeb: Update Window::length()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
7daa462ef8
LibWeb: Remove BrowsingContext::create_a_new_top_level_browsing_context
...
This call has been replaced by
`create_a_new_top_level_browsing_context_and_document`
after specification was refactored to use navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
b90dd9d1f8
LibWeb: Destroy child navigables in Document::destroy()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
c3e2a40b76
LibWeb: Early return from update_layout() if document is not active
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
80a06fa672
LibWeb: Use relevant_global_object in lookup_custom_element_definition
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
3171abe92a
LibWeb: Call Document::set_window() from Document::make_active()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
24b3e315a0
LibWeb: Remove unused navigation methods in BrowsingContext
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
c0c542d495
LibWeb: Update `shared_declarative_refresh_steps()" to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
912cf89727
LibWeb: Update HTMLIFrameElement to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
623d1a78da
LibWeb: Update HTMLObjectElement to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
3634749d98
LibWeb: Update Window::open_impl()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
1e54026269
LibWeb: Update History::go()
to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
7dd01b245b
LibWeb: Remove unused Page::load(LoadRequest&)
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
d559fb8b7e
WebContent: Update wait_for_navigation_to_complete
to use navigables
2023-09-16 16:53:32 +02:00