Title: [220095] trunk/Source/WebCore
Revision
220095
Author
[email protected]
Date
2017-08-01 07:23:29 -0700 (Tue, 01 Aug 2017)

Log Message

[WebIDL] Swap a custom attribute for a custom mark function for HTMLTemplateElement
https://bugs.webkit.org/show_bug.cgi?id=175006

Patch by Sam Weinig <[email protected]> on 2017-08-01
Reviewed by Chris Dumez.

Use the standard way of augmenting GC, visitAdditionalChildren, rather
than using a private name to create ownership.

* bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::visitAdditionalChildren):
(WebCore::JSHTMLTemplateElement::content const): Deleted.
* html/HTMLTemplateElement.idl:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (220094 => 220095)


--- trunk/Source/WebCore/ChangeLog	2017-08-01 14:19:31 UTC (rev 220094)
+++ trunk/Source/WebCore/ChangeLog	2017-08-01 14:23:29 UTC (rev 220095)
@@ -1,3 +1,18 @@
+2017-08-01  Sam Weinig  <[email protected]>
+
+        [WebIDL] Swap a custom attribute for a custom mark function for HTMLTemplateElement
+        https://bugs.webkit.org/show_bug.cgi?id=175006
+
+        Reviewed by Chris Dumez.
+
+        Use the standard way of augmenting GC, visitAdditionalChildren, rather
+        than using a private name to create ownership.
+
+        * bindings/js/JSHTMLTemplateElementCustom.cpp:
+        (WebCore::JSHTMLTemplateElement::visitAdditionalChildren):
+        (WebCore::JSHTMLTemplateElement::content const): Deleted.
+        * html/HTMLTemplateElement.idl:
+
 2017-08-01  Zan Dobersek  <[email protected]>
 
         [GCrypt] Gather crypto constants in a single location

Modified: trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp (220094 => 220095)


--- trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp	2017-08-01 14:19:31 UTC (rev 220094)
+++ trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp	2017-08-01 14:23:29 UTC (rev 220095)
@@ -31,24 +31,15 @@
 #include "config.h"
 #include "JSHTMLTemplateElement.h"
 
-#include "HTMLTemplateElement.h"
 #include "JSDocumentFragment.h"
-#include <runtime/JSObject.h>
-#include <runtime/PrivateName.h>
 
 using namespace JSC;
 
 namespace WebCore {
 
-JSValue JSHTMLTemplateElement::content(ExecState& state) const
+void JSHTMLTemplateElement::visitAdditionalChildren(JSC::SlotVisitor& visitor)
 {
-    JSLockHolder lock(&state);
-
-    auto wrapper = wrap(&state, globalObject(), wrapped().content());
-
-    PrivateName propertyName;
-    const_cast<JSHTMLTemplateElement*>(this)->putDirect(globalObject()->vm(), propertyName, wrapper);
-    return wrapper;
+    visitor.addOpaqueRoot(root(&wrapped().content()));
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/html/HTMLTemplateElement.idl (220094 => 220095)


--- trunk/Source/WebCore/html/HTMLTemplateElement.idl	2017-08-01 14:19:31 UTC (rev 220094)
+++ trunk/Source/WebCore/html/HTMLTemplateElement.idl	2017-08-01 14:23:29 UTC (rev 220095)
@@ -28,7 +28,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-interface HTMLTemplateElement : HTMLElement {
-    [Custom] readonly attribute DocumentFragment content;
+[
+    JSCustomMarkFunction,
+] interface HTMLTemplateElement : HTMLElement {
+    readonly attribute DocumentFragment content;
 };
-
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to