Inline static Create() from core/html - 6

As advised in [1], after porting calls to Foo::Create() factory
functions to use MakeGarbageCollected<Foo> from classes in
//third_party/blink/renderer/core/html, this CL removes unused Create()
methods.

[1] https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/iJ1bawbxbWs/vEdfT5QtBg>

Bug: 939691
Change-Id: I86b27b94a4a3e3067a215c64a3b6ca02fd4a692f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1581637
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Henrique Ferreiro <hferreiro@igalia.com>
Cr-Commit-Position: refs/heads/master@{#653975}
diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/renderer/core/dom/element.h
index 24558a1..0247cbd0 100644
--- a/third_party/blink/renderer/core/dom/element.h
+++ b/third_party/blink/renderer/core/dom/element.h
@@ -1405,13 +1405,6 @@
   }                                                               \
   DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(thisType)
 
-#define DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
-  static T* Create(const QualifiedName&, Document&)
-#define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T)                     \
-  T* T::Create(const QualifiedName& tagName, Document& document) { \
-    return new T(tagName, document);                               \
-  }
-
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_RENDERER_CORE_DOM_ELEMENT_H_
diff --git a/third_party/blink/renderer/core/dom/node.h b/third_party/blink/renderer/core/dom/node.h
index 8aad9776..8c5fc88a 100644
--- a/third_party/blink/renderer/core/dom/node.h
+++ b/third_party/blink/renderer/core/dom/node.h
@@ -1087,10 +1087,6 @@
   DEFINE_TYPE_CASTS(thisType, Node, node, Is##thisType(*node), \
                     Is##thisType(node))
 
-#define DECLARE_NODE_FACTORY(T) static T* Create(Document&)
-#define DEFINE_NODE_FACTORY(T) \
-  T* T::Create(Document& document) { return MakeGarbageCollected<T>(document); }
-
 CORE_EXPORT std::ostream& operator<<(std::ostream&, const Node&);
 CORE_EXPORT std::ostream& operator<<(std::ostream&, const Node*);
 
diff --git a/third_party/blink/renderer/core/html/html_body_element.h b/third_party/blink/renderer/core/html/html_body_element.h
index bf1c645..cbd7c204 100644
--- a/third_party/blink/renderer/core/html/html_body_element.h
+++ b/third_party/blink/renderer/core/html/html_body_element.h
@@ -36,8 +36,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLBodyElement);
-
   explicit HTMLBodyElement(Document&);
   ~HTMLBodyElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_br_element.cc b/third_party/blink/renderer/core/html/html_br_element.cc
index c3938381..23b187a8 100644
--- a/third_party/blink/renderer/core/html/html_br_element.cc
+++ b/third_party/blink/renderer/core/html/html_br_element.cc
@@ -34,8 +34,6 @@
 HTMLBRElement::HTMLBRElement(Document& document)
     : HTMLElement(kBrTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLBRElement)
-
 bool HTMLBRElement::IsPresentationAttribute(const QualifiedName& name) const {
   if (name == kClearAttr)
     return true;
diff --git a/third_party/blink/renderer/core/html/html_br_element.h b/third_party/blink/renderer/core/html/html_br_element.h
index bd6cd19a..7bbaa7eaf 100644
--- a/third_party/blink/renderer/core/html/html_br_element.h
+++ b/third_party/blink/renderer/core/html/html_br_element.h
@@ -33,8 +33,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLBRElement);
-
   explicit HTMLBRElement(Document&);
 
   bool CanContainRangeEndPoint() const override { return false; }
diff --git a/third_party/blink/renderer/core/html/html_content_element.cc b/third_party/blink/renderer/core/html/html_content_element.cc
index 9e5c7ae..c4475a93 100644
--- a/third_party/blink/renderer/core/html/html_content_element.cc
+++ b/third_party/blink/renderer/core/html/html_content_element.cc
@@ -38,8 +38,6 @@
 
 using namespace html_names;
 
-DEFINE_NODE_FACTORY(HTMLContentElement)
-
 HTMLContentElement::HTMLContentElement(Document& document)
     : V0InsertionPoint(kContentTag, document),
       should_parse_select_(false),
diff --git a/third_party/blink/renderer/core/html/html_content_element.h b/third_party/blink/renderer/core/html/html_content_element.h
index e471352..ecc7ead 100644
--- a/third_party/blink/renderer/core/html/html_content_element.h
+++ b/third_party/blink/renderer/core/html/html_content_element.h
@@ -42,8 +42,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLContentElement);
-
   HTMLContentElement(Document&);
   ~HTMLContentElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_dialog_element.cc b/third_party/blink/renderer/core/html/html_dialog_element.cc
index 8e2bac3..5f1414d 100644
--- a/third_party/blink/renderer/core/html/html_dialog_element.cc
+++ b/third_party/blink/renderer/core/html/html_dialog_element.cc
@@ -103,8 +103,6 @@
   UseCounter::Count(document, WebFeature::kDialogElement);
 }
 
-DEFINE_NODE_FACTORY(HTMLDialogElement)
-
 void HTMLDialogElement::close(const String& return_value) {
   // https://html.spec.whatwg.org/C/#close-the-dialog
 
diff --git a/third_party/blink/renderer/core/html/html_dialog_element.h b/third_party/blink/renderer/core/html/html_dialog_element.h
index 2d5ddf5..33495d5 100644
--- a/third_party/blink/renderer/core/html/html_dialog_element.h
+++ b/third_party/blink/renderer/core/html/html_dialog_element.h
@@ -38,8 +38,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLDialogElement);
-
   explicit HTMLDialogElement(Document&);
 
   void close(const String& return_value = String());
diff --git a/third_party/blink/renderer/core/html/html_directory_element.cc b/third_party/blink/renderer/core/html/html_directory_element.cc
index 36b8252..5a75da96 100644
--- a/third_party/blink/renderer/core/html/html_directory_element.cc
+++ b/third_party/blink/renderer/core/html/html_directory_element.cc
@@ -31,6 +31,4 @@
 HTMLDirectoryElement::HTMLDirectoryElement(Document& document)
     : HTMLElement(kDirTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLDirectoryElement)
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_directory_element.h b/third_party/blink/renderer/core/html/html_directory_element.h
index c34aba8..00136b0bf 100644
--- a/third_party/blink/renderer/core/html/html_directory_element.h
+++ b/third_party/blink/renderer/core/html/html_directory_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLDirectoryElement);
-
   explicit HTMLDirectoryElement(Document&);
 };
 
diff --git a/third_party/blink/renderer/core/html/html_dlist_element.cc b/third_party/blink/renderer/core/html/html_dlist_element.cc
index 500dedf..e812fc81 100644
--- a/third_party/blink/renderer/core/html/html_dlist_element.cc
+++ b/third_party/blink/renderer/core/html/html_dlist_element.cc
@@ -31,6 +31,4 @@
 HTMLDListElement::HTMLDListElement(Document& document)
     : HTMLElement(kDlTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLDListElement)
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_dlist_element.h b/third_party/blink/renderer/core/html/html_dlist_element.h
index a81b7e3..f299eb2 100644
--- a/third_party/blink/renderer/core/html/html_dlist_element.h
+++ b/third_party/blink/renderer/core/html/html_dlist_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLDListElement);
-
   explicit HTMLDListElement(Document&);
 };
 
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
index 8803bea1..88f41ff 100644
--- a/third_party/blink/renderer/core/html/html_element.cc
+++ b/third_party/blink/renderer/core/html/html_element.cc
@@ -135,8 +135,6 @@
 
 }  // anonymous namespace
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLElement)
-
 String HTMLElement::DebugNodeName() const {
   if (GetDocument().IsHTMLDocument()) {
     return TagQName().HasPrefix() ? Element::nodeName().UpperASCII()
diff --git a/third_party/blink/renderer/core/html/html_element.h b/third_party/blink/renderer/core/html/html_element.h
index 7edcee3..a8bcab9 100644
--- a/third_party/blink/renderer/core/html/html_element.h
+++ b/third_party/blink/renderer/core/html/html_element.h
@@ -51,7 +51,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLElement);
 
   HTMLElement(const QualifiedName& tag_name, Document&, ConstructionType);
 
diff --git a/third_party/blink/renderer/core/html/html_font_element.cc b/third_party/blink/renderer/core/html/html_font_element.cc
index f0ca10ec..7442b42 100644
--- a/third_party/blink/renderer/core/html/html_font_element.cc
+++ b/third_party/blink/renderer/core/html/html_font_element.cc
@@ -42,8 +42,6 @@
 HTMLFontElement::HTMLFontElement(Document& document)
     : HTMLElement(kFontTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLFontElement)
-
 // http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#fonts-and-colors
 template <typename CharacterType>
 static bool ParseFontSize(const CharacterType* characters,
diff --git a/third_party/blink/renderer/core/html/html_font_element.h b/third_party/blink/renderer/core/html/html_font_element.h
index 65af4d4..945760c 100644
--- a/third_party/blink/renderer/core/html/html_font_element.h
+++ b/third_party/blink/renderer/core/html/html_font_element.h
@@ -32,8 +32,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLFontElement);
-
   static bool CssValueFromFontSizeNumber(const String&, CSSValueID&);
 
   explicit HTMLFontElement(Document&);
diff --git a/third_party/blink/renderer/core/html/html_frame_element.cc b/third_party/blink/renderer/core/html/html_frame_element.cc
index 05213b3..5382a7f 100644
--- a/third_party/blink/renderer/core/html/html_frame_element.cc
+++ b/third_party/blink/renderer/core/html/html_frame_element.cc
@@ -37,8 +37,6 @@
       frame_border_(true),
       frame_border_set_(false) {}
 
-DEFINE_NODE_FACTORY(HTMLFrameElement)
-
 const AttrNameToTrustedType& HTMLFrameElement::GetCheckedAttributeTypes()
     const {
   DEFINE_STATIC_LOCAL(AttrNameToTrustedType, attribute_map,
diff --git a/third_party/blink/renderer/core/html/html_frame_element.h b/third_party/blink/renderer/core/html/html_frame_element.h
index cccfa4ad..895c4a2e 100644
--- a/third_party/blink/renderer/core/html/html_frame_element.h
+++ b/third_party/blink/renderer/core/html/html_frame_element.h
@@ -35,8 +35,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLFrameElement);
-
   explicit HTMLFrameElement(Document&);
 
   // Returns attributes that should be checked against Trusted Types
diff --git a/third_party/blink/renderer/core/html/html_frame_set_element.cc b/third_party/blink/renderer/core/html/html_frame_set_element.cc
index eb49f1b..0561d7e 100644
--- a/third_party/blink/renderer/core/html/html_frame_set_element.cc
+++ b/third_party/blink/renderer/core/html/html_frame_set_element.cc
@@ -52,8 +52,6 @@
   SetHasCustomStyleCallbacks();
 }
 
-DEFINE_NODE_FACTORY(HTMLFrameSetElement)
-
 bool HTMLFrameSetElement::IsPresentationAttribute(
     const QualifiedName& name) const {
   if (name == kBordercolorAttr)
diff --git a/third_party/blink/renderer/core/html/html_frame_set_element.h b/third_party/blink/renderer/core/html/html_frame_set_element.h
index ccc048b..4ce9a8a 100644
--- a/third_party/blink/renderer/core/html/html_frame_set_element.h
+++ b/third_party/blink/renderer/core/html/html_frame_set_element.h
@@ -35,8 +35,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLFrameSetElement);
-
   explicit HTMLFrameSetElement(Document&);
 
   bool HasFrameBorder() const { return frameborder_; }
diff --git a/third_party/blink/renderer/core/html/html_head_element.cc b/third_party/blink/renderer/core/html/html_head_element.cc
index 4695798..4e3ac17 100644
--- a/third_party/blink/renderer/core/html/html_head_element.cc
+++ b/third_party/blink/renderer/core/html/html_head_element.cc
@@ -32,6 +32,4 @@
 HTMLHeadElement::HTMLHeadElement(Document& document)
     : HTMLElement(kHeadTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLHeadElement)
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_head_element.h b/third_party/blink/renderer/core/html/html_head_element.h
index d363908..6bbfe5f 100644
--- a/third_party/blink/renderer/core/html/html_head_element.h
+++ b/third_party/blink/renderer/core/html/html_head_element.h
@@ -33,8 +33,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLHeadElement);
-
   explicit HTMLHeadElement(Document&);
 
   bool HasNonInBodyInsertionMode() const override { return true; }
diff --git a/third_party/blink/renderer/core/html/html_heading_element.cc b/third_party/blink/renderer/core/html/html_heading_element.cc
index 5e216dee..f8ccf8c 100644
--- a/third_party/blink/renderer/core/html/html_heading_element.cc
+++ b/third_party/blink/renderer/core/html/html_heading_element.cc
@@ -28,5 +28,4 @@
                                        Document& document)
     : HTMLElement(tag_name, document) {}
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLHeadingElement)
 }
diff --git a/third_party/blink/renderer/core/html/html_heading_element.h b/third_party/blink/renderer/core/html/html_heading_element.h
index 02243d7..35c2fc5 100644
--- a/third_party/blink/renderer/core/html/html_heading_element.h
+++ b/third_party/blink/renderer/core/html/html_heading_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLHeadingElement);
-
   HTMLHeadingElement(const QualifiedName&, Document&);
 };
 
diff --git a/third_party/blink/renderer/core/html/html_hr_element.cc b/third_party/blink/renderer/core/html/html_hr_element.cc
index 6dc2858..b55a94c 100644
--- a/third_party/blink/renderer/core/html/html_hr_element.cc
+++ b/third_party/blink/renderer/core/html/html_hr_element.cc
@@ -38,8 +38,6 @@
 HTMLHRElement::HTMLHRElement(Document& document)
     : HTMLElement(kHrTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLHRElement)
-
 bool HTMLHRElement::IsPresentationAttribute(const QualifiedName& name) const {
   if (name == kAlignAttr || name == kWidthAttr || name == kColorAttr ||
       name == kNoshadeAttr || name == kSizeAttr)
diff --git a/third_party/blink/renderer/core/html/html_hr_element.h b/third_party/blink/renderer/core/html/html_hr_element.h
index 6fae39b..61d547e 100644
--- a/third_party/blink/renderer/core/html/html_hr_element.h
+++ b/third_party/blink/renderer/core/html/html_hr_element.h
@@ -33,8 +33,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLHRElement);
-
   explicit HTMLHRElement(Document&);
 
   bool CanContainRangeEndPoint() const override { return HasChildren(); }
diff --git a/third_party/blink/renderer/core/html/html_html_element.cc b/third_party/blink/renderer/core/html/html_html_element.cc
index d847e44..7e04b1f5 100644
--- a/third_party/blink/renderer/core/html/html_html_element.cc
+++ b/third_party/blink/renderer/core/html/html_html_element.cc
@@ -41,8 +41,6 @@
 HTMLHtmlElement::HTMLHtmlElement(Document& document)
     : HTMLElement(kHTMLTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLHtmlElement)
-
 bool HTMLHtmlElement::IsURLAttribute(const Attribute& attribute) const {
   return attribute.GetName() == kManifestAttr ||
          HTMLElement::IsURLAttribute(attribute);
diff --git a/third_party/blink/renderer/core/html/html_html_element.h b/third_party/blink/renderer/core/html/html_html_element.h
index 1ba669c..aa95ba2 100644
--- a/third_party/blink/renderer/core/html/html_html_element.h
+++ b/third_party/blink/renderer/core/html/html_html_element.h
@@ -33,8 +33,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLHtmlElement);
-
   explicit HTMLHtmlElement(Document&);
 
   void InsertedByParser();
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc
index a6a5518..c73037f 100644
--- a/third_party/blink/renderer/core/html/html_iframe_element.cc
+++ b/third_party/blink/renderer/core/html/html_iframe_element.cc
@@ -50,8 +50,6 @@
       sandbox_(MakeGarbageCollected<HTMLIFrameElementSandbox>(this)),
       referrer_policy_(network::mojom::ReferrerPolicy::kDefault) {}
 
-DEFINE_NODE_FACTORY(HTMLIFrameElement)
-
 void HTMLIFrameElement::Trace(Visitor* visitor) {
   visitor->Trace(sandbox_);
   visitor->Trace(policy_);
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_party/blink/renderer/core/html/html_iframe_element.h
index 063ea25..31e2038 100644
--- a/third_party/blink/renderer/core/html/html_iframe_element.h
+++ b/third_party/blink/renderer/core/html/html_iframe_element.h
@@ -41,7 +41,6 @@
   USING_GARBAGE_COLLECTED_MIXIN(HTMLIFrameElement);
 
  public:
-  DECLARE_NODE_FACTORY(HTMLIFrameElement);
   void Trace(Visitor*) override;
 
   explicit HTMLIFrameElement(Document&);
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
index 04c1fee..439db3b 100644
--- a/third_party/blink/renderer/core/html/html_image_element.cc
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
@@ -115,16 +115,6 @@
   }
 }
 
-HTMLImageElement* HTMLImageElement::Create(Document& document) {
-  return MakeGarbageCollected<HTMLImageElement>(document);
-}
-
-HTMLImageElement* HTMLImageElement::Create(Document& document,
-                                           const CreateElementFlags flags) {
-  return MakeGarbageCollected<HTMLImageElement>(document,
-                                                flags.IsCreatedByParser());
-}
-
 HTMLImageElement::~HTMLImageElement() = default;
 
 void HTMLImageElement::Trace(Visitor* visitor) {
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
index 175d429b..87771a6 100644
--- a/third_party/blink/renderer/core/html/html_image_element.h
+++ b/third_party/blink/renderer/core/html/html_image_element.h
@@ -62,8 +62,6 @@
   // Returns attributes that should be checked against Trusted Types
   const AttrNameToTrustedType& GetCheckedAttributeTypes() const override;
 
-  static HTMLImageElement* Create(Document&);
-  static HTMLImageElement* Create(Document&, const CreateElementFlags);
   static HTMLImageElement* CreateForJSConstructor(Document&);
   static HTMLImageElement* CreateForJSConstructor(Document&, unsigned width);
   static HTMLImageElement* CreateForJSConstructor(Document&,
diff --git a/third_party/blink/renderer/core/html/html_li_element.cc b/third_party/blink/renderer/core/html/html_li_element.cc
index 393150b..e084d98e 100644
--- a/third_party/blink/renderer/core/html/html_li_element.cc
+++ b/third_party/blink/renderer/core/html/html_li_element.cc
@@ -37,8 +37,6 @@
 HTMLLIElement::HTMLLIElement(Document& document)
     : HTMLElement(kLiTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLLIElement)
-
 bool HTMLLIElement::IsPresentationAttribute(const QualifiedName& name) const {
   if (name == kTypeAttr)
     return true;
diff --git a/third_party/blink/renderer/core/html/html_li_element.h b/third_party/blink/renderer/core/html/html_li_element.h
index c2c06325..73eb214 100644
--- a/third_party/blink/renderer/core/html/html_li_element.h
+++ b/third_party/blink/renderer/core/html/html_li_element.h
@@ -33,8 +33,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLLIElement);
-
   explicit HTMLLIElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_link_element.cc b/third_party/blink/renderer/core/html/html_link_element.cc
index 5ef87c2c..53e8b4e6 100644
--- a/third_party/blink/renderer/core/html/html_link_element.cc
+++ b/third_party/blink/renderer/core/html/html_link_element.cc
@@ -61,11 +61,6 @@
       rel_list_(MakeGarbageCollected<RelList>(this)),
       created_by_parser_(flags.IsCreatedByParser()) {}
 
-HTMLLinkElement* HTMLLinkElement::Create(Document& document,
-                                         const CreateElementFlags flags) {
-  return MakeGarbageCollected<HTMLLinkElement>(document, flags);
-}
-
 HTMLLinkElement::~HTMLLinkElement() = default;
 
 const AttrNameToTrustedType& HTMLLinkElement::GetCheckedAttributeTypes() const {
diff --git a/third_party/blink/renderer/core/html/html_link_element.h b/third_party/blink/renderer/core/html/html_link_element.h
index bf662bc..480e26e 100644
--- a/third_party/blink/renderer/core/html/html_link_element.h
+++ b/third_party/blink/renderer/core/html/html_link_element.h
@@ -52,8 +52,6 @@
   USING_GARBAGE_COLLECTED_MIXIN(HTMLLinkElement);
 
  public:
-  static HTMLLinkElement* Create(Document&, const CreateElementFlags);
-
   HTMLLinkElement(Document&, const CreateElementFlags);
   ~HTMLLinkElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_map_element.cc b/third_party/blink/renderer/core/html/html_map_element.cc
index 925f07ea..1a99834 100644
--- a/third_party/blink/renderer/core/html/html_map_element.cc
+++ b/third_party/blink/renderer/core/html/html_map_element.cc
@@ -40,8 +40,6 @@
   UseCounter::Count(document, WebFeature::kMapElement);
 }
 
-DEFINE_NODE_FACTORY(HTMLMapElement)
-
 HTMLMapElement::~HTMLMapElement() = default;
 
 HTMLAreaElement* HTMLMapElement::AreaForPoint(
diff --git a/third_party/blink/renderer/core/html/html_map_element.h b/third_party/blink/renderer/core/html/html_map_element.h
index f92088f..76ab084 100644
--- a/third_party/blink/renderer/core/html/html_map_element.h
+++ b/third_party/blink/renderer/core/html/html_map_element.h
@@ -34,8 +34,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLMapElement);
-
   explicit HTMLMapElement(Document&);
   ~HTMLMapElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_menu_element.cc b/third_party/blink/renderer/core/html/html_menu_element.cc
index 9378c1d..5c9a9cf 100644
--- a/third_party/blink/renderer/core/html/html_menu_element.cc
+++ b/third_party/blink/renderer/core/html/html_menu_element.cc
@@ -31,6 +31,4 @@
 HTMLMenuElement::HTMLMenuElement(Document& document)
     : HTMLElement(kMenuTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLMenuElement)
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_menu_element.h b/third_party/blink/renderer/core/html/html_menu_element.h
index 259856a..d676f63 100644
--- a/third_party/blink/renderer/core/html/html_menu_element.h
+++ b/third_party/blink/renderer/core/html/html_menu_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLMenuElement);
-
   explicit HTMLMenuElement(Document&);
 };
 
diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_party/blink/renderer/core/html/html_meta_element.cc
index 80738bc..2e600063 100644
--- a/third_party/blink/renderer/core/html/html_meta_element.cc
+++ b/third_party/blink/renderer/core/html/html_meta_element.cc
@@ -46,8 +46,6 @@
 HTMLMetaElement::HTMLMetaElement(Document& document)
     : HTMLElement(kMetaTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLMetaElement)
-
 static bool IsInvalidSeparator(UChar c) {
   return c == ';';
 }
diff --git a/third_party/blink/renderer/core/html/html_meta_element.h b/third_party/blink/renderer/core/html/html_meta_element.h
index b6e9493..bc25b28 100644
--- a/third_party/blink/renderer/core/html/html_meta_element.h
+++ b/third_party/blink/renderer/core/html/html_meta_element.h
@@ -43,8 +43,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLMetaElement);
-
   static void GetViewportDescriptionFromContentAttribute(
       const String& content,
       ViewportDescription&,
diff --git a/third_party/blink/renderer/core/html/html_mod_element.cc b/third_party/blink/renderer/core/html/html_mod_element.cc
index a557b2c6..7abc3f8 100644
--- a/third_party/blink/renderer/core/html/html_mod_element.cc
+++ b/third_party/blink/renderer/core/html/html_mod_element.cc
@@ -32,8 +32,6 @@
                                Document& document)
     : HTMLElement(tag_name, document) {}
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLModElement)
-
 bool HTMLModElement::IsURLAttribute(const Attribute& attribute) const {
   return attribute.GetName() == kCiteAttr ||
          HTMLElement::IsURLAttribute(attribute);
diff --git a/third_party/blink/renderer/core/html/html_mod_element.h b/third_party/blink/renderer/core/html/html_mod_element.h
index 3326c22..5a5b8bb 100644
--- a/third_party/blink/renderer/core/html/html_mod_element.h
+++ b/third_party/blink/renderer/core/html/html_mod_element.h
@@ -32,8 +32,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLModElement);
-
   HTMLModElement(const QualifiedName&, Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_no_embed_element.cc b/third_party/blink/renderer/core/html/html_no_embed_element.cc
index 8be7a981..f3850eb 100644
--- a/third_party/blink/renderer/core/html/html_no_embed_element.cc
+++ b/third_party/blink/renderer/core/html/html_no_embed_element.cc
@@ -42,8 +42,6 @@
 HTMLNoEmbedElement::HTMLNoEmbedElement(Document& document)
     : HTMLElement(kNoembedTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLNoEmbedElement)
-
 bool HTMLNoEmbedElement::LayoutObjectIsNeeded(
     const ComputedStyle& style) const {
   if (GetDocument().GetFrame()->Loader().AllowPlugins(
diff --git a/third_party/blink/renderer/core/html/html_no_embed_element.h b/third_party/blink/renderer/core/html/html_no_embed_element.h
index 63dc0daf..3d6bcc57 100644
--- a/third_party/blink/renderer/core/html/html_no_embed_element.h
+++ b/third_party/blink/renderer/core/html/html_no_embed_element.h
@@ -39,8 +39,6 @@
 // so HTMLElement's layoutObjectIsNeeded doesn't need to know about it.
 class HTMLNoEmbedElement final : public HTMLElement {
  public:
-  DECLARE_NODE_FACTORY(HTMLNoEmbedElement);
-
   explicit HTMLNoEmbedElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_no_script_element.cc b/third_party/blink/renderer/core/html/html_no_script_element.cc
index 9ada838..8d56de65 100644
--- a/third_party/blink/renderer/core/html/html_no_script_element.cc
+++ b/third_party/blink/renderer/core/html/html_no_script_element.cc
@@ -42,8 +42,6 @@
 HTMLNoScriptElement::HTMLNoScriptElement(Document& document)
     : HTMLElement(kNoscriptTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLNoScriptElement)
-
 bool HTMLNoScriptElement::LayoutObjectIsNeeded(
     const ComputedStyle& style) const {
   if (GetDocument().CanExecuteScripts(kNotAboutToExecuteScript))
diff --git a/third_party/blink/renderer/core/html/html_no_script_element.h b/third_party/blink/renderer/core/html/html_no_script_element.h
index 594b5cec..45f90a78 100644
--- a/third_party/blink/renderer/core/html/html_no_script_element.h
+++ b/third_party/blink/renderer/core/html/html_no_script_element.h
@@ -39,8 +39,6 @@
 // so HTMLElement's layoutObjectIsNeeded doesn't need to know about it.
 class HTMLNoScriptElement final : public HTMLElement {
  public:
-  DECLARE_NODE_FACTORY(HTMLNoScriptElement);
-
   explicit HTMLNoScriptElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_olist_element.cc b/third_party/blink/renderer/core/html/html_olist_element.cc
index 08fd8db1..bbddd1b 100644
--- a/third_party/blink/renderer/core/html/html_olist_element.cc
+++ b/third_party/blink/renderer/core/html/html_olist_element.cc
@@ -42,8 +42,6 @@
       is_reversed_(false),
       should_recalculate_item_count_(false) {}
 
-DEFINE_NODE_FACTORY(HTMLOListElement)
-
 bool HTMLOListElement::IsPresentationAttribute(
     const QualifiedName& name) const {
   if (name == kTypeAttr)
diff --git a/third_party/blink/renderer/core/html/html_olist_element.h b/third_party/blink/renderer/core/html/html_olist_element.h
index 96ef8d15b..a55fa7b1 100644
--- a/third_party/blink/renderer/core/html/html_olist_element.h
+++ b/third_party/blink/renderer/core/html/html_olist_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLOListElement);
-
   explicit HTMLOListElement(Document&);
 
   int StartConsideringItemCount() const {
diff --git a/third_party/blink/renderer/core/html/html_paragraph_element.cc b/third_party/blink/renderer/core/html/html_paragraph_element.cc
index b2fd50e..4deeef6 100644
--- a/third_party/blink/renderer/core/html/html_paragraph_element.cc
+++ b/third_party/blink/renderer/core/html/html_paragraph_element.cc
@@ -33,8 +33,6 @@
 HTMLParagraphElement::HTMLParagraphElement(Document& document)
     : HTMLElement(kPTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLParagraphElement)
-
 void HTMLParagraphElement::CollectStyleForPresentationAttribute(
     const QualifiedName& name,
     const AtomicString& value,
diff --git a/third_party/blink/renderer/core/html/html_paragraph_element.h b/third_party/blink/renderer/core/html/html_paragraph_element.h
index f43f822..4a6b5fe 100644
--- a/third_party/blink/renderer/core/html/html_paragraph_element.h
+++ b/third_party/blink/renderer/core/html/html_paragraph_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLParagraphElement);
-
   explicit HTMLParagraphElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_param_element.cc b/third_party/blink/renderer/core/html/html_param_element.cc
index 84e81c5..0b1a8a7 100644
--- a/third_party/blink/renderer/core/html/html_param_element.cc
+++ b/third_party/blink/renderer/core/html/html_param_element.cc
@@ -33,8 +33,6 @@
 HTMLParamElement::HTMLParamElement(Document& document)
     : HTMLElement(kParamTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLParamElement)
-
 const AtomicString& HTMLParamElement::GetName() const {
   if (HasName())
     return GetNameAttribute();
diff --git a/third_party/blink/renderer/core/html/html_param_element.h b/third_party/blink/renderer/core/html/html_param_element.h
index 98c853f..d179a90 100644
--- a/third_party/blink/renderer/core/html/html_param_element.h
+++ b/third_party/blink/renderer/core/html/html_param_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLParamElement);
-
   explicit HTMLParamElement(Document&);
 
   const AtomicString& GetName() const;
diff --git a/third_party/blink/renderer/core/html/html_picture_element.cc b/third_party/blink/renderer/core/html/html_picture_element.cc
index 172bf15..5e54d9b 100644
--- a/third_party/blink/renderer/core/html/html_picture_element.cc
+++ b/third_party/blink/renderer/core/html/html_picture_element.cc
@@ -18,8 +18,6 @@
 HTMLPictureElement::HTMLPictureElement(Document& document)
     : HTMLElement(kPictureTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLPictureElement)
-
 void HTMLPictureElement::SourceOrMediaChanged() {
   for (HTMLImageElement* image_element =
            Traversal<HTMLImageElement>::FirstChild(*this);
diff --git a/third_party/blink/renderer/core/html/html_picture_element.h b/third_party/blink/renderer/core/html/html_picture_element.h
index 9b58e29..65fe13e 100644
--- a/third_party/blink/renderer/core/html/html_picture_element.h
+++ b/third_party/blink/renderer/core/html/html_picture_element.h
@@ -13,8 +13,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLPictureElement);
-
   explicit HTMLPictureElement(Document&);
 
   void SourceOrMediaChanged();
diff --git a/third_party/blink/renderer/core/html/html_pre_element.cc b/third_party/blink/renderer/core/html/html_pre_element.cc
index 99177a5..41a92c66 100644
--- a/third_party/blink/renderer/core/html/html_pre_element.cc
+++ b/third_party/blink/renderer/core/html/html_pre_element.cc
@@ -35,8 +35,6 @@
                                Document& document)
     : HTMLElement(tag_name, document) {}
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLPreElement)
-
 bool HTMLPreElement::IsPresentationAttribute(const QualifiedName& name) const {
   if (name == kWrapAttr)
     return true;
diff --git a/third_party/blink/renderer/core/html/html_pre_element.h b/third_party/blink/renderer/core/html/html_pre_element.h
index f4bff2f..ff6b0ec 100644
--- a/third_party/blink/renderer/core/html/html_pre_element.h
+++ b/third_party/blink/renderer/core/html/html_pre_element.h
@@ -31,7 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLPreElement);
 
   HTMLPreElement(const QualifiedName&, Document&);
 
diff --git a/third_party/blink/renderer/core/html/html_quote_element.cc b/third_party/blink/renderer/core/html/html_quote_element.cc
index 74d985a..c284dfe 100644
--- a/third_party/blink/renderer/core/html/html_quote_element.cc
+++ b/third_party/blink/renderer/core/html/html_quote_element.cc
@@ -35,8 +35,6 @@
   DCHECK(HasTagName(kQTag) || HasTagName(kBlockquoteTag));
 }
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLQuoteElement)
-
 bool HTMLQuoteElement::IsURLAttribute(const Attribute& attribute) const {
   return attribute.GetName() == kCiteAttr ||
          HTMLElement::IsURLAttribute(attribute);
diff --git a/third_party/blink/renderer/core/html/html_quote_element.h b/third_party/blink/renderer/core/html/html_quote_element.h
index 7efdb8d..2e6974b 100644
--- a/third_party/blink/renderer/core/html/html_quote_element.h
+++ b/third_party/blink/renderer/core/html/html_quote_element.h
@@ -33,8 +33,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLQuoteElement);
-
   HTMLQuoteElement(const QualifiedName&, Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_rt_element.cc b/third_party/blink/renderer/core/html/html_rt_element.cc
index d8699b5..39d18246 100644
--- a/third_party/blink/renderer/core/html/html_rt_element.cc
+++ b/third_party/blink/renderer/core/html/html_rt_element.cc
@@ -14,8 +14,6 @@
 HTMLRTElement::HTMLRTElement(Document& document)
     : HTMLElement(kRtTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLRTElement)
-
 LayoutObject* HTMLRTElement::CreateLayoutObject(const ComputedStyle& style,
                                                 LegacyLayout legacy) {
   if (style.Display() == EDisplay::kBlock)
diff --git a/third_party/blink/renderer/core/html/html_rt_element.h b/third_party/blink/renderer/core/html/html_rt_element.h
index eba4c3e8..3b2fe46 100644
--- a/third_party/blink/renderer/core/html/html_rt_element.h
+++ b/third_party/blink/renderer/core/html/html_rt_element.h
@@ -13,8 +13,6 @@
 // so HTMLElement's createLayoutObject doesn't need to know about it.
 class HTMLRTElement final : public HTMLElement {
  public:
-  DECLARE_NODE_FACTORY(HTMLRTElement);
-
   explicit HTMLRTElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_ruby_element.cc b/third_party/blink/renderer/core/html/html_ruby_element.cc
index d5710b4b..50aa3f9 100644
--- a/third_party/blink/renderer/core/html/html_ruby_element.cc
+++ b/third_party/blink/renderer/core/html/html_ruby_element.cc
@@ -14,8 +14,6 @@
 HTMLRubyElement::HTMLRubyElement(Document& document)
     : HTMLElement(kRubyTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLRubyElement)
-
 LayoutObject* HTMLRubyElement::CreateLayoutObject(const ComputedStyle& style,
                                                   LegacyLayout legacy) {
   if (style.Display() == EDisplay::kInline)
diff --git a/third_party/blink/renderer/core/html/html_ruby_element.h b/third_party/blink/renderer/core/html/html_ruby_element.h
index ec479ba..7f05b0f 100644
--- a/third_party/blink/renderer/core/html/html_ruby_element.h
+++ b/third_party/blink/renderer/core/html/html_ruby_element.h
@@ -13,8 +13,6 @@
 // so HTMLElement's createLayoutObject doesn't need to know about it.
 class HTMLRubyElement final : public HTMLElement {
  public:
-  DECLARE_NODE_FACTORY(HTMLRubyElement);
-
   explicit HTMLRubyElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
index d9cb90d..1f67faa9 100644
--- a/third_party/blink/renderer/core/html/html_script_element.cc
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
@@ -51,11 +51,6 @@
       loader_(InitializeScriptLoader(flags.IsCreatedByParser(),
                                      flags.WasAlreadyStarted())) {}
 
-HTMLScriptElement* HTMLScriptElement::Create(Document& document,
-                                             const CreateElementFlags flags) {
-  return MakeGarbageCollected<HTMLScriptElement>(document, flags);
-}
-
 const AttrNameToTrustedType& HTMLScriptElement::GetCheckedAttributeTypes()
     const {
   DEFINE_STATIC_LOCAL(AttrNameToTrustedType, attribute_map,
diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_party/blink/renderer/core/html/html_script_element.h
index c9850c6..2a8c31b 100644
--- a/third_party/blink/renderer/core/html/html_script_element.h
+++ b/third_party/blink/renderer/core/html/html_script_element.h
@@ -42,8 +42,6 @@
   USING_GARBAGE_COLLECTED_MIXIN(HTMLScriptElement);
 
  public:
-  static HTMLScriptElement* Create(Document&, const CreateElementFlags);
-
   HTMLScriptElement(Document&, const CreateElementFlags);
 
   // Returns attributes that should be checked against Trusted Types
diff --git a/third_party/blink/renderer/core/html/html_shadow_element.cc b/third_party/blink/renderer/core/html/html_shadow_element.cc
index 31b6c9613..3fd64f6 100644
--- a/third_party/blink/renderer/core/html/html_shadow_element.cc
+++ b/third_party/blink/renderer/core/html/html_shadow_element.cc
@@ -45,8 +45,6 @@
   UseCounter::Count(document, WebFeature::kHTMLShadowElement);
 }
 
-DEFINE_NODE_FACTORY(HTMLShadowElement)
-
 HTMLShadowElement::~HTMLShadowElement() = default;
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_shadow_element.h b/third_party/blink/renderer/core/html/html_shadow_element.h
index 2950d15e..b804cf4 100644
--- a/third_party/blink/renderer/core/html/html_shadow_element.h
+++ b/third_party/blink/renderer/core/html/html_shadow_element.h
@@ -40,8 +40,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLShadowElement);
-
   explicit HTMLShadowElement(Document&);
   ~HTMLShadowElement() override;
 };
diff --git a/third_party/blink/renderer/core/html/html_slot_element.cc b/third_party/blink/renderer/core/html/html_slot_element.cc
index ad1aed6f..bca2ab0 100644
--- a/third_party/blink/renderer/core/html/html_slot_element.cc
+++ b/third_party/blink/renderer/core/html/html_slot_element.cc
@@ -58,10 +58,6 @@
 constexpr size_t kLCSTableSizeLimit = 16;
 }
 
-HTMLSlotElement* HTMLSlotElement::Create(Document& document) {
-  return MakeGarbageCollected<HTMLSlotElement>(document);
-}
-
 HTMLSlotElement* HTMLSlotElement::CreateUserAgentDefaultSlot(
     Document& document) {
   HTMLSlotElement* slot = MakeGarbageCollected<HTMLSlotElement>(document);
diff --git a/third_party/blink/renderer/core/html/html_slot_element.h b/third_party/blink/renderer/core/html/html_slot_element.h
index f8e5a77..3a2fc85 100644
--- a/third_party/blink/renderer/core/html/html_slot_element.h
+++ b/third_party/blink/renderer/core/html/html_slot_element.h
@@ -42,7 +42,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  static HTMLSlotElement* Create(Document&);
   static HTMLSlotElement* CreateUserAgentDefaultSlot(Document&);
   static HTMLSlotElement* CreateUserAgentCustomAssignSlot(Document&);
 
diff --git a/third_party/blink/renderer/core/html/html_source_element.cc b/third_party/blink/renderer/core/html/html_source_element.cc
index 1307126..7313af9a 100644
--- a/third_party/blink/renderer/core/html/html_source_element.cc
+++ b/third_party/blink/renderer/core/html/html_source_element.cc
@@ -68,8 +68,6 @@
   DVLOG(SOURCE_LOG_LEVEL) << "HTMLSourceElement - " << (void*)this;
 }
 
-DEFINE_NODE_FACTORY(HTMLSourceElement)
-
 HTMLSourceElement::~HTMLSourceElement() = default;
 
 const AttrNameToTrustedType& HTMLSourceElement::GetCheckedAttributeTypes()
diff --git a/third_party/blink/renderer/core/html/html_source_element.h b/third_party/blink/renderer/core/html/html_source_element.h
index 369454d..0893799 100644
--- a/third_party/blink/renderer/core/html/html_source_element.h
+++ b/third_party/blink/renderer/core/html/html_source_element.h
@@ -41,8 +41,6 @@
  public:
   class Listener;
 
-  DECLARE_NODE_FACTORY(HTMLSourceElement);
-
   explicit HTMLSourceElement(Document&);
   ~HTMLSourceElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_style_element.cc b/third_party/blink/renderer/core/html/html_style_element.cc
index 72c842f4..dc71531e 100644
--- a/third_party/blink/renderer/core/html/html_style_element.cc
+++ b/third_party/blink/renderer/core/html/html_style_element.cc
@@ -45,11 +45,6 @@
 
 HTMLStyleElement::~HTMLStyleElement() = default;
 
-HTMLStyleElement* HTMLStyleElement::Create(Document& document,
-                                           const CreateElementFlags flags) {
-  return MakeGarbageCollected<HTMLStyleElement>(document, flags);
-}
-
 void HTMLStyleElement::ParseAttribute(
     const AttributeModificationParams& params) {
   if (params.name == kTitleAttr && sheet_ && IsInDocumentTree()) {
diff --git a/third_party/blink/renderer/core/html/html_style_element.h b/third_party/blink/renderer/core/html/html_style_element.h
index c1274be..ed768e1 100644
--- a/third_party/blink/renderer/core/html/html_style_element.h
+++ b/third_party/blink/renderer/core/html/html_style_element.h
@@ -36,8 +36,6 @@
   USING_GARBAGE_COLLECTED_MIXIN(HTMLStyleElement);
 
  public:
-  static HTMLStyleElement* Create(Document&, const CreateElementFlags);
-
   HTMLStyleElement(Document&, const CreateElementFlags);
   ~HTMLStyleElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_table_caption_element.cc b/third_party/blink/renderer/core/html/html_table_caption_element.cc
index b0396a43..2cb6b8b 100644
--- a/third_party/blink/renderer/core/html/html_table_caption_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_caption_element.cc
@@ -34,8 +34,6 @@
 HTMLTableCaptionElement::HTMLTableCaptionElement(Document& document)
     : HTMLElement(kCaptionTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLTableCaptionElement)
-
 void HTMLTableCaptionElement::CollectStyleForPresentationAttribute(
     const QualifiedName& name,
     const AtomicString& value,
diff --git a/third_party/blink/renderer/core/html/html_table_caption_element.h b/third_party/blink/renderer/core/html/html_table_caption_element.h
index b25261bf..6e666ef 100644
--- a/third_party/blink/renderer/core/html/html_table_caption_element.h
+++ b/third_party/blink/renderer/core/html/html_table_caption_element.h
@@ -34,8 +34,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLTableCaptionElement);
-
   HTMLTableCaptionElement(Document&);
 
   bool HasNonInBodyInsertionMode() const override { return true; }
diff --git a/third_party/blink/renderer/core/html/html_table_cell_element.cc b/third_party/blink/renderer/core/html/html_table_cell_element.cc
index fa7f180..3071fb2e 100644
--- a/third_party/blink/renderer/core/html/html_table_cell_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_cell_element.cc
@@ -43,8 +43,6 @@
                                            Document& document)
     : HTMLTablePartElement(tag_name, document) {}
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLTableCellElement)
-
 unsigned HTMLTableCellElement::colSpan() const {
   const AtomicString& col_span_value = FastGetAttribute(kColspanAttr);
   unsigned value = 0;
diff --git a/third_party/blink/renderer/core/html/html_table_cell_element.h b/third_party/blink/renderer/core/html/html_table_cell_element.h
index 59205312..0208a91 100644
--- a/third_party/blink/renderer/core/html/html_table_cell_element.h
+++ b/third_party/blink/renderer/core/html/html_table_cell_element.h
@@ -35,7 +35,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLTableCellElement);
 
   HTMLTableCellElement(const QualifiedName&, Document&);
 
diff --git a/third_party/blink/renderer/core/html/html_table_col_element.cc b/third_party/blink/renderer/core/html/html_table_col_element.cc
index 1a42a94..055f544 100644
--- a/third_party/blink/renderer/core/html/html_table_col_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_col_element.cc
@@ -41,8 +41,6 @@
                                          Document& document)
     : HTMLTablePartElement(tag_name, document), span_(kDefaultColSpan) {}
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLTableColElement)
-
 bool HTMLTableColElement::IsPresentationAttribute(
     const QualifiedName& name) const {
   if (name == kWidthAttr)
diff --git a/third_party/blink/renderer/core/html/html_table_col_element.h b/third_party/blink/renderer/core/html/html_table_col_element.h
index edbfbfd..3a3525c 100644
--- a/third_party/blink/renderer/core/html/html_table_col_element.h
+++ b/third_party/blink/renderer/core/html/html_table_col_element.h
@@ -34,7 +34,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLTableColElement);
 
   HTMLTableColElement(const QualifiedName& tag_name, Document&);
 
diff --git a/third_party/blink/renderer/core/html/html_table_element.cc b/third_party/blink/renderer/core/html/html_table_element.cc
index 1690252..e277a85 100644
--- a/third_party/blink/renderer/core/html/html_table_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_element.cc
@@ -67,8 +67,6 @@
 // CSSPropertyValueSet definition.
 HTMLTableElement::~HTMLTableElement() = default;
 
-DEFINE_NODE_FACTORY(HTMLTableElement)
-
 HTMLTableCaptionElement* HTMLTableElement::caption() const {
   return Traversal<HTMLTableCaptionElement>::FirstChild(*this);
 }
diff --git a/third_party/blink/renderer/core/html/html_table_element.h b/third_party/blink/renderer/core/html/html_table_element.h
index e3955093..8a6d3c15 100644
--- a/third_party/blink/renderer/core/html/html_table_element.h
+++ b/third_party/blink/renderer/core/html/html_table_element.h
@@ -41,8 +41,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLTableElement);
-
   explicit HTMLTableElement(Document&);
 
   HTMLTableCaptionElement* caption() const;
diff --git a/third_party/blink/renderer/core/html/html_table_row_element.cc b/third_party/blink/renderer/core/html/html_table_row_element.cc
index 19e20ce..e45dbf3 100644
--- a/third_party/blink/renderer/core/html/html_table_row_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_row_element.cc
@@ -43,8 +43,6 @@
 HTMLTableRowElement::HTMLTableRowElement(Document& document)
     : HTMLTablePartElement(kTrTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLTableRowElement)
-
 bool HTMLTableRowElement::HasLegalLinkAttribute(
     const QualifiedName& name) const {
   return name == kBackgroundAttr ||
diff --git a/third_party/blink/renderer/core/html/html_table_row_element.h b/third_party/blink/renderer/core/html/html_table_row_element.h
index 30333a0..b5013c2 100644
--- a/third_party/blink/renderer/core/html/html_table_row_element.h
+++ b/third_party/blink/renderer/core/html/html_table_row_element.h
@@ -38,8 +38,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLTableRowElement);
-
   explicit HTMLTableRowElement(Document&);
 
   int rowIndex() const;
diff --git a/third_party/blink/renderer/core/html/html_table_section_element.cc b/third_party/blink/renderer/core/html/html_table_section_element.cc
index 8bf5436..6bc58da 100644
--- a/third_party/blink/renderer/core/html/html_table_section_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_section_element.cc
@@ -38,8 +38,6 @@
                                                  Document& document)
     : HTMLTablePartElement(tag_name, document) {}
 
-DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLTableSectionElement)
-
 const CSSPropertyValueSet*
 HTMLTableSectionElement::AdditionalPresentationAttributeStyle() {
   if (HTMLTableElement* table = FindParentTable())
diff --git a/third_party/blink/renderer/core/html/html_table_section_element.h b/third_party/blink/renderer/core/html/html_table_section_element.h
index cfedc050..e41f63b 100644
--- a/third_party/blink/renderer/core/html/html_table_section_element.h
+++ b/third_party/blink/renderer/core/html/html_table_section_element.h
@@ -36,7 +36,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(HTMLTableSectionElement);
 
   HTMLTableSectionElement(const QualifiedName& tag_name, Document&);
 
diff --git a/third_party/blink/renderer/core/html/html_template_element.cc b/third_party/blink/renderer/core/html/html_template_element.cc
index fbf70042..ebd0ebf 100644
--- a/third_party/blink/renderer/core/html/html_template_element.cc
+++ b/third_party/blink/renderer/core/html/html_template_element.cc
@@ -44,8 +44,6 @@
   UseCounter::Count(document, WebFeature::kHTMLTemplateElement);
 }
 
-DEFINE_NODE_FACTORY(HTMLTemplateElement)
-
 HTMLTemplateElement::~HTMLTemplateElement() = default;
 
 DocumentFragment* HTMLTemplateElement::content() const {
diff --git a/third_party/blink/renderer/core/html/html_template_element.h b/third_party/blink/renderer/core/html/html_template_element.h
index 66f4488..81a3206 100644
--- a/third_party/blink/renderer/core/html/html_template_element.h
+++ b/third_party/blink/renderer/core/html/html_template_element.h
@@ -42,8 +42,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLTemplateElement);
-
   explicit HTMLTemplateElement(Document&);
   ~HTMLTemplateElement() override;
 
diff --git a/third_party/blink/renderer/core/html/html_title_element.cc b/third_party/blink/renderer/core/html/html_title_element.cc
index 377052a..f0aaa1ab 100644
--- a/third_party/blink/renderer/core/html/html_title_element.cc
+++ b/third_party/blink/renderer/core/html/html_title_element.cc
@@ -38,8 +38,6 @@
     : HTMLElement(kTitleTag, document),
       ignore_title_updates_when_children_change_(false) {}
 
-DEFINE_NODE_FACTORY(HTMLTitleElement)
-
 Node::InsertionNotificationRequest HTMLTitleElement::InsertedInto(
     ContainerNode& insertion_point) {
   HTMLElement::InsertedInto(insertion_point);
diff --git a/third_party/blink/renderer/core/html/html_title_element.h b/third_party/blink/renderer/core/html/html_title_element.h
index dbc11a9..e5d2197 100644
--- a/third_party/blink/renderer/core/html/html_title_element.h
+++ b/third_party/blink/renderer/core/html/html_title_element.h
@@ -30,8 +30,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLTitleElement);
-
   explicit HTMLTitleElement(Document&);
 
   String text() const;
diff --git a/third_party/blink/renderer/core/html/html_ulist_element.cc b/third_party/blink/renderer/core/html/html_ulist_element.cc
index bb07011f..5a33b96 100644
--- a/third_party/blink/renderer/core/html/html_ulist_element.cc
+++ b/third_party/blink/renderer/core/html/html_ulist_element.cc
@@ -32,8 +32,6 @@
 HTMLUListElement::HTMLUListElement(Document& document)
     : HTMLElement(kUlTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLUListElement)
-
 bool HTMLUListElement::IsPresentationAttribute(
     const QualifiedName& name) const {
   if (name == kTypeAttr)
diff --git a/third_party/blink/renderer/core/html/html_ulist_element.h b/third_party/blink/renderer/core/html/html_ulist_element.h
index bca61425..3f28111 100644
--- a/third_party/blink/renderer/core/html/html_ulist_element.h
+++ b/third_party/blink/renderer/core/html/html_ulist_element.h
@@ -31,8 +31,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  DECLARE_NODE_FACTORY(HTMLUListElement);
-
   explicit HTMLUListElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/html_wbr_element.cc b/third_party/blink/renderer/core/html/html_wbr_element.cc
index ec31043..224484b 100644
--- a/third_party/blink/renderer/core/html/html_wbr_element.cc
+++ b/third_party/blink/renderer/core/html/html_wbr_element.cc
@@ -40,8 +40,6 @@
 HTMLWBRElement::HTMLWBRElement(Document& document)
     : HTMLElement(kWbrTag, document) {}
 
-DEFINE_NODE_FACTORY(HTMLWBRElement)
-
 LayoutObject* HTMLWBRElement::CreateLayoutObject(const ComputedStyle& style,
                                                  LegacyLayout) {
   return new LayoutWordBreak(this);
diff --git a/third_party/blink/renderer/core/html/html_wbr_element.h b/third_party/blink/renderer/core/html/html_wbr_element.h
index f3447b84..f9130ba 100644
--- a/third_party/blink/renderer/core/html/html_wbr_element.h
+++ b/third_party/blink/renderer/core/html/html_wbr_element.h
@@ -39,8 +39,6 @@
 // so HTMLElement's createLayoutObject doesn't need to know about it.
 class HTMLWBRElement final : public HTMLElement {
  public:
-  DECLARE_NODE_FACTORY(HTMLWBRElement);
-
   explicit HTMLWBRElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/shadow/progress_shadow_element.cc b/third_party/blink/renderer/core/html/shadow/progress_shadow_element.cc
index 09230015..e4beb2c 100644
--- a/third_party/blink/renderer/core/html/shadow/progress_shadow_element.cc
+++ b/third_party/blink/renderer/core/html/shadow/progress_shadow_element.cc
@@ -40,8 +40,6 @@
   SetHasCustomStyleCallbacks();
 }
 
-DEFINE_NODE_FACTORY(ProgressShadowElement)
-
 HTMLProgressElement* ProgressShadowElement::ProgressElement() const {
   return ToHTMLProgressElement(OwnerShadowHost());
 }
diff --git a/third_party/blink/renderer/core/html/shadow/progress_shadow_element.h b/third_party/blink/renderer/core/html/shadow/progress_shadow_element.h
index f8d63f9..aab050e 100644
--- a/third_party/blink/renderer/core/html/shadow/progress_shadow_element.h
+++ b/third_party/blink/renderer/core/html/shadow/progress_shadow_element.h
@@ -41,8 +41,6 @@
 
 class ProgressShadowElement : public HTMLDivElement {
  public:
-  DECLARE_NODE_FACTORY(ProgressShadowElement);
-
   explicit ProgressShadowElement(Document&);
 
  private:
diff --git a/third_party/blink/renderer/core/html/track/html_track_element.cc b/third_party/blink/renderer/core/html/track/html_track_element.cc
index 63f49f68..6b3cbe0 100644
--- a/third_party/blink/renderer/core/html/track/html_track_element.cc
+++ b/third_party/blink/renderer/core/html/track/html_track_element.cc
@@ -56,8 +56,6 @@
   DVLOG(TRACK_LOG_LEVEL) << "HTMLTrackElement - " << (void*)this;
 }
 
-DEFINE_NODE_FACTORY(HTMLTrackElement)
-
 HTMLTrackElement::~HTMLTrackElement() = default;
 
 const AttrNameToTrustedType& HTMLTrackElement::GetCheckedAttributeTypes()
diff --git a/third_party/blink/renderer/core/html/track/html_track_element.h b/third_party/blink/renderer/core/html/track/html_track_element.h
index b51d357..e63090ead 100644
--- a/third_party/blink/renderer/core/html/track/html_track_element.h
+++ b/third_party/blink/renderer/core/html/track/html_track_element.h
@@ -42,8 +42,6 @@
   USING_GARBAGE_COLLECTED_MIXIN(HTMLTrackElement);
 
  public:
-  DECLARE_NODE_FACTORY(HTMLTrackElement);
-
   explicit HTMLTrackElement(Document&);
 
   // Returns attributes that should be checked against Trusted Types