Bug 309138
| Summary: | Remove SVGUnknownElement.h / SVGUnknownElement.cpp | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Karl Dubost <karlcow> |
| Component: | SVG | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | sabouhallawa, zimmermann |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=309054 | ||
Karl Dubost
Doing that will break the code, as there is a dependency in svgtags.in for AnimateColor on SVGUnknownElement.
https://searchfox.org/wubkat/rev/0bebf49082ee03d028cd6c079ff4416ae25ddf89/Source/WebCore/svg/svgtags.in#11
```
animateColor interfaceName=SVGUnknownElement, JSInterfaceName=SVGElement, noConstructor
```
for https://searchfox.org/wubkat/search?q=animateColor&path=GENERATED&case=false®exp=false
This dependency is necessary to please the HTML parser. So there are other issues associated with this.
We could maybe use SVGElement instead of SVGUnknownElement.
but that would require SVGElement::create() because of fallbackInterfaceName="SVGElement"
Also should we skip generating #include "${interfaceName}.h" for any element with noConstructor in make_names.pl ???
This is currently.
https://searchfox.org/wubkat/rev/0bebf49082ee03d028cd6c079ff4416ae25ddf89/Source/WebCore/dom/make_names.pl#1607-1612
```
for my $elementKey (sort keys %allElements) {
my $interfaceName = $allElements{$elementKey}{interfaceName};
next if $tagsSeen{$interfaceName};
if ($allElements{$elementKey}{conditional}) {
# We skip feature-define-specific #includes here since we handle them separately.
next;
```
--- a/Source/WebCore/dom/make_names.pl
+++ b/Source/WebCore/dom/make_names.pl
@@ -1607,6 +1607,7 @@ sub printElementIncludes
for my $elementKey (sort keys %allElements) {
my $interfaceName = $allElements{$elementKey}{interfaceName};
next if $tagsSeen{$interfaceName};
+ next if $allElements{$elementKey}{noConstructor};
if ($allElements{$elementKey}{conditional}) {
# We skip feature-define-specific #includes here since we handle them separately.
next;
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |