The Qt port uses WebCore/css/make-css-file-arrays.pl with the --preprocessor moc -E option to remove unneeded comments and whitespaces from default user agent style sheets found in WebCore/css/, but unforunatelly moc also removes the @ before at-keywords (for example the namespace keyword) and all hexadecimal colors beginning with # (moc assumes it is a preprocessor directive), so the generated arrays in UserAgentStyleSheetsData.cpp include invalid rules which are ignored by the parser.
Therefore the parser does not set the namespace and does not set colours specified by the default stylesheets.
Since no other port uses the --preprocessor option, and the script removes unneeded comments and whitespaces from the css files using regexps anyhow, this option and the usage of any preprocessor on css files can safely be removed from the script.
Because of the resulting change in the arrays three platform dependent test results have to be updated:
These test results are more Mac alike now.
Created attachment 52914 [details]
Proposed fix v1
Comment on attachment 52914 [details]
Proposed fix v1
I agree that it's a moc bug, but I like your solution of removing the unnecessary use of the preprocessor for the stylesheets altogether.
(In reply to comment #2)
> (From update of attachment 52914 [details])
> I agree that it's a moc bug, but I like your solution of removing the
> unnecessary use of the preprocessor for the stylesheets altogether.
Patch landed in r57316.
Revision r57316 cherry-picked into qtwebkit-2.0 with commit f641072ff389b247427f9f5d6d9baf770fa9055f