[webkit-changes] [WebKit/WebKit] 3fe3c3: Implement GC handling for trusted types API
Luke Warlow
noreply at github.com
Tue Apr 2 15:27:44 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3fe3c3955914a08964b9c840e2750350e1e8b7af
https://github.com/WebKit/WebKit/commit/3fe3c3955914a08964b9c840e2750350e1e8b7af
Author: Luke Warlow <lwarlow at igalia.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/bindings/js/JSTrustedTypePolicyCustom.cpp
A Source/WebCore/bindings/js/JSTrustedTypePolicyFactoryCustom.cpp
M Source/WebCore/dom/CreateHTMLCallback.h
M Source/WebCore/dom/CreateHTMLCallback.idl
M Source/WebCore/dom/CreateScriptCallback.h
M Source/WebCore/dom/CreateScriptCallback.idl
M Source/WebCore/dom/CreateScriptURLCallback.h
M Source/WebCore/dom/CreateScriptURLCallback.idl
M Source/WebCore/dom/TrustedTypePolicy.cpp
M Source/WebCore/dom/TrustedTypePolicy.h
M Source/WebCore/dom/TrustedTypePolicy.idl
M Source/WebCore/dom/TrustedTypePolicyFactory.cpp
M Source/WebCore/dom/TrustedTypePolicyFactory.h
M Source/WebCore/dom/TrustedTypePolicyFactory.idl
M Source/WebCore/dom/WindowOrWorkerGlobalScopeTrustedTypes.cpp
M Source/WebCore/workers/WorkerGlobalScope.cpp
Log Message:
-----------
Implement GC handling for trusted types API
https://bugs.webkit.org/show_bug.cgi?id=268419
Reviewed by Ryosuke Niwa.
This patch implements visitAdditionalChildren for TrustedTypePolicy calling visitJSFunction on callbacks.
TrustedTypePolicy is also an opaque root which is added inside of TrustedTypePolicyFactory visitAdditionalChildren.
It also marks TrustedTypePolicyFactory as being reachable via scriptExecutionContext.
The trusted type callbacks are now weak callbacks.
The WorkerGlobalScopeTrustedTypes supplement is now also removed in WorkerGlobalScope::prepareForDestruction,
this is so that teardown happens in the right order.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/JSTrustedTypePolicyCustom.cpp: Added.
(WebCore::JSTrustedTypePolicy::visitAdditionalChildren):
* Source/WebCore/bindings/js/JSTrustedTypePolicyFactoryCustom.cpp: Added.
(WebCore::JSTrustedTypePolicyFactory::visitAdditionalChildren):
* Source/WebCore/dom/CreateHTMLCallback.h:
* Source/WebCore/dom/CreateHTMLCallback.idl:
* Source/WebCore/dom/CreateScriptCallback.h:
* Source/WebCore/dom/CreateScriptCallback.idl:
* Source/WebCore/dom/CreateScriptURLCallback.h:
* Source/WebCore/dom/CreateScriptURLCallback.idl:
* Source/WebCore/dom/TrustedTypePolicy.cpp:
(WebCore::TrustedTypePolicy::TrustedTypePolicy):
(WebCore::TrustedTypePolicy::getPolicyValue):
(WebCore::root):
* Source/WebCore/dom/TrustedTypePolicy.h:
(WebCore::TrustedTypePolicy::options const):
(WebCore::TrustedTypePolicy::WTF_RETURNS_LOCK):
* Source/WebCore/dom/TrustedTypePolicy.idl:
* Source/WebCore/dom/TrustedTypePolicyFactory.cpp:
(WebCore::TrustedTypePolicyFactory::create):
(WebCore::TrustedTypePolicyFactory::TrustedTypePolicyFactory):
* Source/WebCore/dom/TrustedTypePolicyFactory.h:
(WebCore::TrustedTypePolicyFactory::defaultPolicyConcurrently const):
* Source/WebCore/dom/TrustedTypePolicyFactory.idl:
* Source/WebCore/dom/WindowOrWorkerGlobalScopeTrustedTypes.cpp:
(WebCore::DOMWindowTrustedTypes::trustedTypes const):
(WebCore::WorkerGlobalScopeTrustedTypes::trustedTypes const):
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::prepareForDestruction):
Canonical link: https://commits.webkit.org/276974@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