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

Reply via email to