Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f59f78a8be0bda72e2019411f3111088dd6c9fba https://github.com/WebKit/WebKit/commit/f59f78a8be0bda72e2019411f3111088dd6c9fba Author: Antti Koivisto <an...@apple.com> Date: 2023-04-05 (Wed, 05 Apr 2023)
Changed paths: M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/html/HTMLFrameSetElement.cpp M Source/WebCore/rendering/RenderBlock.cpp M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/style/StyleMiscNonInheritedData.cpp M Source/WebCore/rendering/style/StyleMiscNonInheritedData.h M Source/WebCore/rendering/svg/RenderSVGRoot.cpp M Source/WebCore/style/StyleScope.cpp M Source/WebCore/style/StyleTreeResolver.cpp Log Message: ----------- Remove the mechanism for blocking paint on non-final style https://bugs.webkit.org/show_bug.cgi?id=255045 rdar://106805458 Reviewed by Alan Baradlay. Normally we don't compute element style until all relevant stylesheets have been loaded. However a script may force us to compute the style earlier. In this case we were marking the style as "non-final" and avoided painting such elements (because their style may change later, resulting in a flash of miss-styled content). In practice hitting this case is rather difficult since we block script execution on stylesheet loads. You need to insert a stylesheet from a script and then force a style recalc. Our current main anti-FOUC mechanism is to delay layer tree unfreezing. The non-final style mechanism is likely not useful anymore. * Source/WebCore/dom/Document.cpp: (WebCore::Document::resolveStyle): * Source/WebCore/dom/Document.h: (WebCore::Document::hasNodesWithNonFinalStyle const): Deleted. (WebCore::Document::setHasNodesWithNonFinalStyle): Deleted. * Source/WebCore/html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::rendererIsNeeded): * Source/WebCore/rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintContents): * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::shouldSuppressPaintingLayer): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::miscDataChangeRequiresRepaint): * Source/WebCore/rendering/style/RenderStyle.h: (WebCore::RenderStyle::isNotFinal const): Deleted. (WebCore::RenderStyle::setIsNotFinal): Deleted. * Source/WebCore/rendering/style/StyleMiscNonInheritedData.cpp: (WebCore::StyleMiscNonInheritedData::StyleMiscNonInheritedData): (WebCore::StyleMiscNonInheritedData::operator== const): * Source/WebCore/rendering/style/StyleMiscNonInheritedData.h: * Source/WebCore/rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::paintContents): * Source/WebCore/style/StyleScope.cpp: (WebCore::Style::Scope::invalidateStyleAfterStyleSheetChange): * Source/WebCore/style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::resolveElement): (WebCore::Style::TreeResolver::resolveComposedTree): (WebCore::Style::TreeResolver::resolve): Canonical link: https://commits.webkit.org/262641@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes