Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b296bf89104e6eaa85c0be3adfc31f11f0b5d906
https://github.com/WebKit/WebKit/commit/b296bf89104e6eaa85c0be3adfc31f11f0b5d906
Author: Matt Woodrow <[email protected]>
Date: 2024-11-05 (Tue, 05 Nov 2024)
Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/RenderView.cpp
M Source/WebCore/rendering/RenderView.h
A Source/WebCore/rendering/RenderViewTransitionRoot.cpp
A Source/WebCore/rendering/RenderViewTransitionRoot.h
M Source/WebCore/rendering/updating/RenderTreeUpdaterViewTransition.cpp
M Source/WebCore/style/Styleable.cpp
Log Message:
-----------
Styleable::renderer does a linear search over ::view-transition-groups.
https://bugs.webkit.org/show_bug.cgi?id=282410
<rdar://139031118>
Reviewed by Tim Nguyen.
This can be arbitrarily long, we should use a hash-based lookup instead.
Introduces a new RenderBlockFlow subclass, RenderViewTransitionRoot for the
::view-transition psuedo element.
Stores a hashtable of the ::view-transition-group children renderers attached to
the root, and makes Styleable::renderer() use this for faster lookup.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isRenderViewTransitionRoot const):
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::viewTransitionRoot const):
(WebCore::RenderView::setViewTransitionRoot):
* Source/WebCore/rendering/RenderView.h:
* Source/WebCore/rendering/RenderViewTransitionRoot.cpp: Added.
(WebCore::RenderViewTransitionRoot::RenderViewTransitionRoot):
(WebCore::RenderViewTransitionRoot::addChildGroup):
(WebCore::RenderViewTransitionRoot::removeChildGroup):
(WebCore::RenderViewTransitionRoot::childGroupForName):
* Source/WebCore/rendering/RenderViewTransitionRoot.h: Added.
* Source/WebCore/rendering/updating/RenderTreeUpdaterViewTransition.cpp:
(WebCore::RenderTreeUpdater::ViewTransition::updatePseudoElementTree):
(WebCore::RenderTreeUpdater::ViewTransition::buildPseudoElementGroup):
* Source/WebCore/style/Styleable.cpp:
(WebCore::Styleable::renderer const):
Canonical link: https://commits.webkit.org/286166@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes