Index: Source/build/scripts/templates/ElementFactory.cpp.tmpl |
diff --git a/Source/build/scripts/templates/ElementFactory.cpp.tmpl b/Source/build/scripts/templates/ElementFactory.cpp.tmpl |
index 6f2bd4e682abf66f281923edaff8bb47ca53a15b..09322d282155d4ac7d06d19bb79b62fcb61236ba 100644 |
--- a/Source/build/scripts/templates/ElementFactory.cpp.tmpl |
+++ b/Source/build/scripts/templates/ElementFactory.cpp.tmpl |
@@ -7,7 +7,7 @@ |
#include "RuntimeEnabledFeatures.h" |
#include "{{namespace}}Names.h" |
{%- for tag in tags|sort %} |
-#include "core/{{namespace|lower}}/{{tag|interface}}.h" |
+#include "core/{{namespace|lower}}/{{tag.interface}}.h" |
{%- endfor %} |
{%- if fallback_interface %} |
#include "core/{{namespace|lower}}/{{fallback_interface}}.h" |
@@ -23,13 +23,25 @@ namespace WebCore { |
using namespace {{namespace}}Names; |
-typedef PassRefPtr<{{namespace}}Element> (*ConstructorFunction)(const QualifiedName&, Document&, HTMLFormElement*, bool createdByParser); |
+typedef PassRefPtr<{{namespace}}Element> (*ConstructorFunction)(const QualifiedName&, |
+ Document&, |
+ {%- if namespace == 'HTML' %} |
+ HTMLFormElement*, |
+ {%- endif %} |
+ bool createdByParser); |
+ |
typedef HashMap<StringImpl*, ConstructorFunction> FunctionMap; |
static FunctionMap* g_constructors = 0; |
{%- for tag in tags|sort if not tag.mapToTagName and not tag.noConstructor %} |
-static PassRefPtr<{{namespace}}Element> {{tag|symbol}}Constructor(const QualifiedName& tagName, Document& document, HTMLFormElement* formElement, bool createdByParser) |
+static PassRefPtr<{{namespace}}Element> {{tag|symbol}}Constructor( |
+ const QualifiedName& tagName, |
+ Document& document, |
+{%- if namespace == 'HTML' %} |
+ HTMLFormElement* formElement, |
+{%- endif %} |
+ bool createdByParser) |
{ |
{%- if tag.wrapperOnlyIfMediaIsAvailable %} |
Settings* settings = document.settings(); |
@@ -40,8 +52,8 @@ static PassRefPtr<{{namespace}}Element> {{tag|symbol}}Constructor(const Qualifie |
if (!ContextFeatures::{{tag.contextConditional}}Enabled(&document)) |
return 0; |
{%- endif %} |
- return {{tag|interface}}::create(tagName, document |
-{%- if tag.constructorNeedsFormElement %}, formElement{% endif -%} |
+ return {{tag.interface}}::create(tagName, document |
+{%- if namespace == 'HTML' and tag.constructorNeedsFormElement %}, formElement{% endif -%} |
{%- if tag.constructorNeedsCreatedByParser %}, createdByParser{% endif -%} |
); |
} |
@@ -68,7 +80,13 @@ static void createFunctionMap() |
{%- endfor %} |
} |
-PassRefPtr<{{namespace}}Element> {{namespace}}ElementFactory::create{{namespace}}Element(const QualifiedName& qName, Document* document, HTMLFormElement* formElement, bool createdByParser) |
+PassRefPtr<{{namespace}}Element> {{namespace}}ElementFactory::create{{namespace}}Element( |
+ const QualifiedName& qName, |
+ Document* document, |
+{%- if namespace == 'HTML' %} |
+ HTMLFormElement* formElement, |
+{%- endif %} |
+ bool createdByParser) |
{ |
if (!document) |
return 0; |
@@ -82,7 +100,10 @@ PassRefPtr<{{namespace}}Element> {{namespace}}ElementFactory::create{{namespace} |
if (!g_constructors) |
createFunctionMap(); |
if (ConstructorFunction function = g_constructors->get(qName.localName().impl())) { |
- if (PassRefPtr<{{namespace}}Element> element = function(qName, *document, formElement, createdByParser)) |
+ if (PassRefPtr<{{namespace}}Element> element = function(qName, |
+ *document, |
+ {%- if namespace == 'HTML' %}formElement,{% endif %} |
+ createdByParser)) |
return element; |
} |