Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3fe3c3955914a08964b9c840e2750350e1e8b7af
      
https://github.com/WebKit/WebKit/commit/3fe3c3955914a08964b9c840e2750350e1e8b7af
  Author: Luke Warlow <[email protected]>
  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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to