WebKit Public/Private headers shouldn't use WTF preprocessor macros such as PLATFORM(), ENABLE(), USE(), etc. I'll do this in two stages: 1) Stop the code generator from adding ENABLE() macros to Objective-C DOM headers. 2) Manually scrub non-generated exported headers
<rdar://problem/15842819>
Created attachment 222353 [details] Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
Comment on attachment 222353 [details] Stop the code generator from adding ENABLE() macros to Objective-C DOM headers View in context: https://bugs.webkit.org/attachment.cgi?id=222353&action=review r=me > Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm:800 > + my %defines = map { $_ => 1 } split(/\s+/, $definesString); It would be better to do this in GenerateHeader and pass in the hash than to recreate it every time. You can do this by declaring a subroutine prototype at the "top" of the perl script: sub ConditionalIsEnabled(\%$); and then add the argument prototypes above: sub ConditionalIsEnabled(\%$) { Then call it using: ConditionalIsEnabled(%defines, $mystring) > Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm:803 > + return exists($defines{"ENABLE_" . $conditional}); If making the change above, this becomes: return exists($defines->{"ENABLE_" . $conditional});
Committed r162872: <http://trac.webkit.org/changeset/162872>
Created attachment 222370 [details] Scrub WebKit API headers of WTF macros
Comment on attachment 222370 [details] Scrub WebKit API headers of WTF macros r=me
Committed r162881: <http://trac.webkit.org/changeset/162881>