diff --git a/Libraries/LibWeb/HTML/Window.cpp b/Libraries/LibWeb/HTML/Window.cpp index eb022305d95..fa3f6cd7726 100644 --- a/Libraries/LibWeb/HTML/Window.cpp +++ b/Libraries/LibWeb/HTML/Window.cpp @@ -1308,6 +1308,13 @@ GC::Ref Window::get_computed_style(DOM::Element& elemen // TODO: Keep the function arguments of the pseudo-element if there are any. object = { element, type.value().type() }; } + + // https://drafts.csswg.org/css-view-transitions-1/#update-pseudo-element-styles + // This algorithm must be executed to update styles in user-agent origin if its effects can be observed by a web API. + // NB: View transition pseudo-elements only ever originate from the document element and only ::view-transition-group() and its descendants can be affected by update_pseudo_element_styles(). + if (element.is_document_element() && first_is_one_of(type.value().type(), CSS::PseudoElement::ViewTransitionGroup, CSS::PseudoElement::ViewTransitionImagePair, CSS::PseudoElement::ViewTransitionOld, CSS::PseudoElement::ViewTransitionNew)) { + (void)element.document().active_view_transition()->update_pseudo_element_styles(); + } } // FIXME: Implement steps 4 and 5 when we can. diff --git a/Libraries/LibWeb/ViewTransition/ViewTransition.cpp b/Libraries/LibWeb/ViewTransition/ViewTransition.cpp index 75cd3443c6a..d2d84d6aede 100644 --- a/Libraries/LibWeb/ViewTransition/ViewTransition.cpp +++ b/Libraries/LibWeb/ViewTransition/ViewTransition.cpp @@ -991,10 +991,6 @@ ErrorOr ViewTransition::update_pseudo_element_styles() new_->m_content = captured_element->new_element->capture_the_image(); } } - - // This algorithm must be executed to update styles in user-agent origin if its effects can be observed by a web API. - // FIXME: Find all the places where this is relevant. - return {}; }