[webkit-changes] [WebKit/WebKit] 03fffa: Further remove HashMap access in RenderObject dest...
Yusuke Suzuki
noreply at github.com
Thu May 16 09:08:23 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 03fffab5cdf7bda4716c80bbda085185e7a938da
https://github.com/WebKit/WebKit/commit/03fffab5cdf7bda4716c80bbda085185e7a938da
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M Source/WebCore/rendering/RenderBoxModelObject.cpp
M Source/WebCore/rendering/RenderElement.h
M Source/WebCore/rendering/RenderText.cpp
M Source/WebCore/rendering/RenderText.h
M Source/WebCore/rendering/svg/legacy/SVGResourcesCache.cpp
Log Message:
-----------
Further remove HashMap access in RenderObject destructions
https://bugs.webkit.org/show_bug.cgi?id=274239
rdar://128172726
Reviewed by Alan Baradlay.
This patch further removes HashMap access in RenderObject destructions.
1. SVGResourcesCache::cachedResourcesForRenderer was always looking up HashMap! This patch adds boolean flag to RenderElement to stop this behavior.
2. RenderText should have a flag whether it has SecureTextTimer.
3. We use SingleThreadWeakHashMap in ContinuationChainNodeMap and FirstLetterRemainingTextMap and wipe unregistration in RenderBoxModelObject::willBeDestroyed.
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::willBeDestroyed):
* Source/WebCore/rendering/RenderElement.h:
(WebCore::RenderElement::setHasCachedSVGResource):
(WebCore::RenderElement::hasCachedSVGResource const):
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::RenderText::willBeDestroyed):
(WebCore::RenderText::secureText):
(WebCore::RenderText::momentarilyRevealLastTypedCharacter):
* Source/WebCore/rendering/RenderText.h:
* Source/WebCore/rendering/svg/legacy/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::addResourcesFromRenderer):
(WebCore::SVGResourcesCache::removeResourcesFromRenderer):
(WebCore::SVGResourcesCache::cachedResourcesForRenderer):
* Source/WebCore/rendering/svg/legacy/SVGResourcesCache.h:
Canonical link: https://commits.webkit.org/278864@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list