Title: [270042] trunk/Source/WebCore
Revision
270042
Author
[email protected]
Date
2020-11-19 12:00:41 -0800 (Thu, 19 Nov 2020)

Log Message

Use final in generated wrapper owner code
https://bugs.webkit.org/show_bug.cgi?id=219098

Reviewed by Yusuke Suzuki.

Generated wrapper owner code descends from JSC::WeakHandleOwner which declares two
virtual methods, isReachableFromOpaqueRoots and finalize. The generated code can descend
from JSC::WeakHandleOwner directly or through JSNode. JSNode is generated by the script
so those methods are marked with override. For all other cases a final class can be used
and then those methods are maked accordingly.

Regenerated bindings through run-bindings-tests.

* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h:
* bindings/scripts/test/JS/JSTestCEReactions.h:
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
* bindings/scripts/test/JS/JSTestCallTracer.h:
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
* bindings/scripts/test/JS/JSTestConditionalIncludes.h:
* bindings/scripts/test/JS/JSTestConditionallyReadWrite.h:
* bindings/scripts/test/JS/JSTestDefaultToJSON.h:
* bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h:
* bindings/scripts/test/JS/JSTestDomainSecurity.h:
* bindings/scripts/test/JS/JSTestEnabledBySetting.h:
* bindings/scripts/test/JS/JSTestEnabledForContext.h:
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestGlobalObject.h:
* bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
* bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
* bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
* bindings/scripts/test/JS/JSTestIterable.h:
* bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h:
* bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h:
* bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h:
* bindings/scripts/test/JS/JSTestMapLike.h:
* bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h:
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
* bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
* bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
* bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
* bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h:
* bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h:
* bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOperationConditional.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
* bindings/scripts/test/JS/JSTestPluginInterface.h:
* bindings/scripts/test/JS/JSTestReadOnlyMapLike.h:
* bindings/scripts/test/JS/JSTestReadOnlySetLike.h:
* bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestSetLike.h:
* bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h:
* bindings/scripts/test/JS/JSTestStringifier.h:
* bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
* bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
* bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
* bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
* bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
* bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
* bindings/scripts/test/JS/JSTestTypedefs.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (270041 => 270042)


--- trunk/Source/WebCore/ChangeLog	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/ChangeLog	2020-11-19 20:00:41 UTC (rev 270042)
@@ -1,3 +1,83 @@
+2020-11-19  Don Olmstead  <[email protected]>
+
+        Use final in generated wrapper owner code
+        https://bugs.webkit.org/show_bug.cgi?id=219098
+
+        Reviewed by Yusuke Suzuki.
+
+        Generated wrapper owner code descends from JSC::WeakHandleOwner which declares two
+        virtual methods, isReachableFromOpaqueRoots and finalize. The generated code can descend
+        from JSC::WeakHandleOwner directly or through JSNode. JSNode is generated by the script
+        so those methods are marked with override. For all other cases a final class can be used
+        and then those methods are maked accordingly.
+
+        Regenerated bindings through run-bindings-tests.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h:
+        * bindings/scripts/test/JS/JSTestCEReactions.h:
+        * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
+        * bindings/scripts/test/JS/JSTestCallTracer.h:
+        * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
+        * bindings/scripts/test/JS/JSTestConditionalIncludes.h:
+        * bindings/scripts/test/JS/JSTestConditionallyReadWrite.h:
+        * bindings/scripts/test/JS/JSTestDefaultToJSON.h:
+        * bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h:
+        * bindings/scripts/test/JS/JSTestDomainSecurity.h:
+        * bindings/scripts/test/JS/JSTestEnabledBySetting.h:
+        * bindings/scripts/test/JS/JSTestEnabledForContext.h:
+        * bindings/scripts/test/JS/JSTestException.h:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
+        * bindings/scripts/test/JS/JSTestGlobalObject.h:
+        * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
+        * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
+        * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
+        * bindings/scripts/test/JS/JSTestInterface.h:
+        * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
+        * bindings/scripts/test/JS/JSTestIterable.h:
+        * bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h:
+        * bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h:
+        * bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h:
+        * bindings/scripts/test/JS/JSTestMapLike.h:
+        * bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h:
+        * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
+        * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
+        * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
+        * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
+        * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h:
+        * bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOperationConditional.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
+        * bindings/scripts/test/JS/JSTestPluginInterface.h:
+        * bindings/scripts/test/JS/JSTestReadOnlyMapLike.h:
+        * bindings/scripts/test/JS/JSTestReadOnlySetLike.h:
+        * bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestSetLike.h:
+        * bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h:
+        * bindings/scripts/test/JS/JSTestStringifier.h:
+        * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
+        * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
+        * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
+        * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
+        * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
+        * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+
 2020-11-19  Andres Gonzalez  <[email protected]>
 
         Fix for crash in Accessibility::performFunctionOnMainThread.

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2020-11-19 20:00:41 UTC (rev 270042)
@@ -3220,16 +3220,20 @@
     push(@headerContent, "};\n\n");
 
     if (ShouldGenerateWrapperOwnerCode($hasParent, $interface)) {
-        if ($interfaceName ne "Node" && $codeGenerator->InheritsInterface($interface, "Node")) {
+        my $overrideDecl = "final";
+        if ($interfaceName eq "Node") {
+            push(@headerContent, "class ${exportMacro}JS${interfaceName}Owner : public JSC::WeakHandleOwner {\n");
+            $overrideDecl = "override";
+        } elsif ($codeGenerator->InheritsInterface($interface, "Node")) {
             $headerIncludes{"JSNode.h"} = 1;
-            push(@headerContent, "class ${exportMacro}JS${interfaceName}Owner : public JSNodeOwner {\n");
+            push(@headerContent, "class ${exportMacro}JS${interfaceName}Owner final : public JSNodeOwner {\n");
         } else {
-            push(@headerContent, "class ${exportMacro}JS${interfaceName}Owner : public JSC::WeakHandleOwner {\n");
+            push(@headerContent, "class ${exportMacro}JS${interfaceName}Owner final : public JSC::WeakHandleOwner {\n");
         }
         $headerIncludes{"<wtf/NeverDestroyed.h>"} = 1;
         push(@headerContent, "public:\n");
-        push(@headerContent, "    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);\n");
-        push(@headerContent, "    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);\n");
+        push(@headerContent, "    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) ${overrideDecl};\n");
+        push(@headerContent, "    void finalize(JSC::Handle<JSC::Unknown>, void* context) ${overrideDecl};\n");
         push(@headerContent, "};\n");
         push(@headerContent, "\n");
         push(@headerContent, "inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, $implType*)\n");

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -64,10 +64,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSExposedToWorkerAndWindowOwner : public JSC::WeakHandleOwner {
+class JSExposedToWorkerAndWindowOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, ExposedToWorkerAndWindow*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestCEReactionsOwner : public JSC::WeakHandleOwner {
+class JSTestCEReactionsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestCEReactions*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestCEReactionsStringifierOwner : public JSC::WeakHandleOwner {
+class JSTestCEReactionsStringifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestCEReactionsStringifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestCallTracerOwner : public JSC::WeakHandleOwner {
+class JSTestCallTracerOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestCallTracer*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestClassWithJSBuiltinConstructorOwner : public JSC::WeakHandleOwner {
+class JSTestClassWithJSBuiltinConstructorOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestClassWithJSBuiltinConstructor*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -76,10 +76,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestConditionalIncludesOwner : public JSC::WeakHandleOwner {
+class JSTestConditionalIncludesOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestConditionalIncludes*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -65,10 +65,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestConditionallyReadWriteOwner : public JSC::WeakHandleOwner {
+class JSTestConditionallyReadWriteOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestConditionallyReadWrite*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestDefaultToJSONOwner : public JSC::WeakHandleOwner {
+class JSTestDefaultToJSONOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestDefaultToJSON*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestDefaultToJSONFilteredByExposedOwner : public JSC::WeakHandleOwner {
+class JSTestDefaultToJSONFilteredByExposedOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestDefaultToJSONFilteredByExposed*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -66,10 +66,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestDomainSecurityOwner : public JSC::WeakHandleOwner {
+class JSTestDomainSecurityOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestDomainSecurity*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -65,10 +65,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestEnabledBySettingOwner : public JSC::WeakHandleOwner {
+class JSTestEnabledBySettingOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestEnabledBySetting*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -65,10 +65,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestEnabledForContextOwner : public JSC::WeakHandleOwner {
+class JSTestEnabledForContextOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestEnabledForContext*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -64,10 +64,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestExceptionOwner : public JSC::WeakHandleOwner {
+class JSTestExceptionOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestException*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestGenerateIsReachableOwner : public JSC::WeakHandleOwner {
+class JSTestGenerateIsReachableOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestGenerateIsReachable*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -65,10 +65,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestGlobalObjectOwner : public JSC::WeakHandleOwner {
+class JSTestGlobalObjectOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestGlobalObject*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestIndexedSetterNoIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestIndexedSetterNoIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestIndexedSetterNoIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestIndexedSetterThrowingExceptionOwner : public JSC::WeakHandleOwner {
+class JSTestIndexedSetterThrowingExceptionOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestIndexedSetterThrowingException*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestIndexedSetterWithIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestIndexedSetterWithIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestIndexedSetterWithIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -89,10 +89,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class WEBCORE_EXPORT JSTestInterfaceOwner : public JSC::WeakHandleOwner {
+class WEBCORE_EXPORT JSTestInterfaceOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestInterface*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestInterfaceLeadingUnderscoreOwner : public JSC::WeakHandleOwner {
+class JSTestInterfaceLeadingUnderscoreOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestInterfaceLeadingUnderscore*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestIterableOwner : public JSC::WeakHandleOwner {
+class JSTestIterableOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestIterable*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -64,10 +64,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestLegacyFactoryFunctionOwner : public JSC::WeakHandleOwner {
+class JSTestLegacyFactoryFunctionOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestLegacyFactoryFunction*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestLegacyNoInterfaceObjectOwner : public JSC::WeakHandleOwner {
+class JSTestLegacyNoInterfaceObjectOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestLegacyNoInterfaceObject*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -68,10 +68,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestLegacyOverrideBuiltInsOwner : public JSC::WeakHandleOwner {
+class JSTestLegacyOverrideBuiltInsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestLegacyOverrideBuiltIns*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestMapLikeOwner : public JSC::WeakHandleOwner {
+class JSTestMapLikeOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestMapLike*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestMapLikeWithOverriddenOperationsOwner : public JSC::WeakHandleOwner {
+class JSTestMapLikeWithOverriddenOperationsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestMapLikeWithOverriddenOperations*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedAndIndexedSetterNoIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedAndIndexedSetterNoIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedAndIndexedSetterNoIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedAndIndexedSetterThrowingExceptionOwner : public JSC::WeakHandleOwner {
+class JSTestNamedAndIndexedSetterThrowingExceptionOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedAndIndexedSetterThrowingException*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedAndIndexedSetterWithIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedAndIndexedSetterWithIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedAndIndexedSetterWithIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -70,10 +70,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedDeleterNoIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedDeleterNoIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedDeleterNoIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -70,10 +70,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedDeleterThrowingExceptionOwner : public JSC::WeakHandleOwner {
+class JSTestNamedDeleterThrowingExceptionOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedDeleterThrowingException*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -70,10 +70,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedDeleterWithIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedDeleterWithIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedDeleterWithIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -70,10 +70,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedDeleterWithIndexedGetterOwner : public JSC::WeakHandleOwner {
+class JSTestNamedDeleterWithIndexedGetterOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedDeleterWithIndexedGetter*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -68,10 +68,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedGetterCallWithOwner : public JSC::WeakHandleOwner {
+class JSTestNamedGetterCallWithOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedGetterCallWith*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -68,10 +68,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedGetterNoIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedGetterNoIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedGetterNoIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -68,10 +68,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedGetterWithIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedGetterWithIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedGetterWithIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterNoIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterNoIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterNoIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterThrowingExceptionOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterThrowingExceptionOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterThrowingException*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterWithIdentifierOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterWithIdentifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterWithIdentifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterWithIndexedGetterOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterWithIndexedGetterOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterWithIndexedGetter*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterWithIndexedGetterAndSetterOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterWithIndexedGetterAndSetterOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterWithIndexedGetterAndSetter*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterWithLegacyOverrideBuiltInsOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterWithLegacyOverrideBuiltInsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterWithLegacyOverrideBuiltIns*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterWithLegacyUnforgeablePropertiesOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterWithLegacyUnforgeablePropertiesOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterWithLegacyUnforgeableProperties*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -71,10 +71,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsOwner : public JSC::WeakHandleOwner {
+class JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -92,10 +92,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestObjOwner : public JSC::WeakHandleOwner {
+class JSTestObjOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestObj*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOperationConditional.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOperationConditional.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOperationConditional.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -65,10 +65,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestOperationConditionalOwner : public JSC::WeakHandleOwner {
+class JSTestOperationConditionalOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestOperationConditional*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestOverloadedConstructorsOwner : public JSC::WeakHandleOwner {
+class JSTestOverloadedConstructorsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestOverloadedConstructors*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestOverloadedConstructorsWithSequenceOwner : public JSC::WeakHandleOwner {
+class JSTestOverloadedConstructorsWithSequenceOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestOverloadedConstructorsWithSequence*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -72,10 +72,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestPluginInterfaceOwner : public JSC::WeakHandleOwner {
+class JSTestPluginInterfaceOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestPluginInterface*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestReadOnlyMapLikeOwner : public JSC::WeakHandleOwner {
+class JSTestReadOnlyMapLikeOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestReadOnlyMapLike*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestReadOnlySetLikeOwner : public JSC::WeakHandleOwner {
+class JSTestReadOnlySetLikeOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestReadOnlySetLike*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -66,10 +66,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestReportExtraMemoryCostOwner : public JSC::WeakHandleOwner {
+class JSTestReportExtraMemoryCostOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestReportExtraMemoryCost*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -69,10 +69,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestSerializedScriptValueInterfaceOwner : public JSC::WeakHandleOwner {
+class JSTestSerializedScriptValueInterfaceOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestSerializedScriptValueInterface*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestSetLikeOwner : public JSC::WeakHandleOwner {
+class JSTestSetLikeOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestSetLike*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestSetLikeWithOverriddenOperationsOwner : public JSC::WeakHandleOwner {
+class JSTestSetLikeWithOverriddenOperationsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestSetLikeWithOverriddenOperations*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifier*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierAnonymousOperationOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierAnonymousOperationOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifierAnonymousOperation*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierNamedOperationOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierNamedOperationOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifierNamedOperation*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierOperationImplementedAsOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierOperationImplementedAsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifierOperationImplementedAs*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierOperationNamedToStringOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierOperationNamedToStringOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifierOperationNamedToString*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierReadOnlyAttributeOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierReadOnlyAttributeOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifierReadOnlyAttribute*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -63,10 +63,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestStringifierReadWriteAttributeOwner : public JSC::WeakHandleOwner {
+class JSTestStringifierReadWriteAttributeOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestStringifierReadWriteAttribute*)

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (270041 => 270042)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h	2020-11-19 19:51:58 UTC (rev 270041)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h	2020-11-19 20:00:41 UTC (rev 270042)
@@ -65,10 +65,10 @@
     void finishCreation(JSC::VM&);
 };
 
-class JSTestTypedefsOwner : public JSC::WeakHandleOwner {
+class JSTestTypedefsOwner final : public JSC::WeakHandleOwner {
 public:
-    virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**);
-    virtual void finalize(JSC::Handle<JSC::Unknown>, void* context);
+    bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&, const char**) final;
+    void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
 };
 
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, TestTypedefs*)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to