Bug 32941 - [Qt] Missing SVG variables
Summary: [Qt] Missing SVG variables
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P3 Normal
Assignee: Joe Wild
URL:
Keywords: LayoutTestFailure, Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2009-12-25 14:52 PST by Csaba Osztrogonác
Modified: 2011-03-08 13:49 PST (History)
8 users (show)

See Also:


Attachments
For Qt Build, pass on the ENABLE_SVG_* flags to the IDL binding generator. (22.97 KB, patch)
2011-03-08 12:37 PST, Joe Wild
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2009-12-25 14:52:16 PST
After http://trac.webkit.org/changeset/52559 there are some missing variables:
( http://build.webkit.org/results/Qt%20Linux%20Release/r52559%20%285330%29/svg/custom/global-constructors-pretty-diff.html )
SVGAltGlyphElement
SVGAnimateElement
SVGAnimateColorElement
SVGAnimateTransformElement
SVGFontElement
SVGGlyphElement
SVGMissingGlyphElement
SVGFontFaceElement
SVGFontFaceSrcElement
SVGFontFaceUriElement
SVGFontFaceFormatElement
SVGFontFaceNameElement
SVGForeignObjectElement
Comment 1 Csaba Osztrogonác 2009-12-25 15:15:20 PST
http://trac.webkit.org/changeset/52560
- svg/custom/global-constructors.html skipped until fix.

Platform dependent expected files updated after r52559
- platform/qt/fast/dom/Window/window-properties-expected.txt: updated.
- platform/qt/fast/dom/prototype-inheritance-expected.txt: updated.
- platform/qt/fast/js/global-constructors-expected.txt: updated.
Comment 2 Csaba Osztrogonác 2009-12-25 15:35:18 PST
--- LayoutTests/fast/dom/prototype-inheritance-expected.txt
+++ LayoutTests/platform/qt/fast/dom/prototype-inheritance-expected.txt

Removed from platform independent expected files by http://trac.webkit.org/changeset/52513 (why?)
+PASS inner.HTMLDataGridCellElement.isInner is true
+PASS inner.HTMLDataGridCellElement.constructor.isInner is true
+PASS inner.HTMLDataGridColElement.isInner is true
+PASS inner.HTMLDataGridColElement.constructor.isInner is true
+PASS inner.HTMLDataGridElement.isInner is true
+PASS inner.HTMLDataGridElement.constructor.isInner is true

After http://trac.webkit.org/changeset/52559 Qt-port doesn't dump these:
-PASS inner.SVGAltGlyphElement.isInner is true
-PASS inner.SVGAltGlyphElement.constructor.isInner is true
-PASS inner.SVGAnimateColorElement.isInner is true
-PASS inner.SVGAnimateColorElement.constructor.isInner is true
-PASS inner.SVGAnimateElement.isInner is true
-PASS inner.SVGAnimateElement.constructor.isInner is true
-PASS inner.SVGAnimateTransformElement.isInner is true
-PASS inner.SVGAnimateTransformElement.constructor.isInner is true
-PASS inner.SVGFontElement.isInner is true
-PASS inner.SVGFontElement.constructor.isInner is true
-PASS inner.SVGFontFaceElement.isInner is true
-PASS inner.SVGFontFaceElement.constructor.isInner is true
-PASS inner.SVGFontFaceFormatElement.isInner is true
-PASS inner.SVGFontFaceFormatElement.constructor.isInner is true
-PASS inner.SVGFontFaceNameElement.isInner is true
-PASS inner.SVGFontFaceNameElement.constructor.isInner is true
-PASS inner.SVGFontFaceSrcElement.isInner is true
-PASS inner.SVGFontFaceSrcElement.constructor.isInner is true
-PASS inner.SVGFontFaceUriElement.isInner is true
-PASS inner.SVGFontFaceUriElement.constructor.isInner is true
-PASS inner.SVGForeignObjectElement.isInner is true
-PASS inner.SVGForeignObjectElement.constructor.isInner is true
-PASS inner.SVGGlyphElement.isInner is true
-PASS inner.SVGGlyphElement.constructor.isInner is true
-PASS inner.SVGMissingGlyphElement.isInner is true
-PASS inner.SVGMissingGlyphElement.constructor.isInner is true
-PASS inner.SVGSetElement.isInner is true
-PASS inner.SVGSetElement.constructor.isInner is true

Only Qt port support TouchEvent now:
+PASS inner.TouchEvent.isInner is true
+PASS inner.TouchEvent.constructor.isInner is true
Comment 3 Kent Hansen 2010-03-10 07:09:30 PST
What's the status of this?
Comment 4 Simon Hausmann 2010-05-06 02:09:22 PDT
The test in question - svg/custom/global-constructors.html is still skipped, so this is a valid issue AFAICS.
Comment 5 Nikolas Zimmermann 2010-07-09 07:18:17 PDT
Changed component to SVG, so it shows up in my all-svg-bugs search.
Comment 6 Joe Wild 2011-03-05 12:29:08 PST
I have been looking at this one.  Please assign it to me.

It looks like we were not passing on all the ENABLE_SVG_* flags to the IDL compiler, so some of the binding were not generated.

I added passing on the rest of the ENABLE_SVG_* flags and need to 
test if that fixes the problem.

Source/WebCore/feature.pri

contains(DEFINES, ENABLE_SVG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG=1

+ contains(DEFINES, ENABLE_SVG_ANIMATION=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG_ANIMATION=1
+ contains(DEFINES, ENABLE_SVG_FONTS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG_FONTS=1
+ contains(DEFINES, ENABLE_SVG_FOREIGN_OBJECT=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG_FOREIGN_OBJECT=1
Comment 7 Csaba Osztrogonác 2011-03-05 13:33:00 PST
(In reply to comment #6)

Thanks for looking into this bug. 
I tested your idea, and it works for me ;)

Please upload a patch with ChangeLog entry, unskip 
svg/custom/global-constructors.html and update these
Qt specific expected files:
- platform/qt/fast/dom/Window/window-properties-expected.txt
- platform/qt/fast/dom/Window/window-property-descriptors-expected.txt
- platform/qt/fast/dom/prototype-inheritance-expected.txt
- platform/qt/fast/js/global-constructors-expected.txt

And then I will review your patch.
Comment 8 Joe Wild 2011-03-08 12:37:23 PST
Created attachment 85081 [details]
For Qt  Build, pass on the ENABLE_SVG_* flags to the IDL binding generator.

Basically, this patch just modifies features.pri to the Qt build to
pass on the ENABLE_SVG_* flags to the IDL binding generator.

Also I had remove global-construtors.html from the skip list and
updated the associated expected results files.
Comment 9 Csaba Osztrogonác 2011-03-08 12:47:43 PST
Comment on attachment 85081 [details]
For Qt  Build, pass on the ENABLE_SVG_* flags to the IDL binding generator.

LGTM, r=me. Thanks for the fix.
Comment 10 WebKit Commit Bot 2011-03-08 13:49:20 PST
Comment on attachment 85081 [details]
For Qt  Build, pass on the ENABLE_SVG_* flags to the IDL binding generator.

Clearing flags on attachment: 85081

Committed r80587: <http://trac.webkit.org/changeset/80587>
Comment 11 WebKit Commit Bot 2011-03-08 13:49:26 PST
All reviewed patches have been landed.  Closing bug.