[WebIDL] Add support for [ExportMacro=XXX] IDL extended attribute
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 9 Apr 2016 03:07:43 +0000 (03:07 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 9 Apr 2016 03:07:43 +0000 (03:07 +0000)
commite0f541cf8446a8384abae78f8dd15b1b180609a8
tree5bdc535efbbe369ba3a92dd66e8b4a57fbe70405
parent9818138ff2082486c6208aa47fe33344e1f06d01
[WebIDL] Add support for [ExportMacro=XXX] IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=156428

Reviewed by Ryosuke Niwa.

Add support for [ExportMacro=XXX] IDL extended attribute (e.g. [ExportMacro=WEBCORE_EXPORT])
so developers can indicate in the IDL which macro to use to export the generated JS bindings
class.

We previously supported this by hard-coding JS class names in the bindings generator which
was ugly.

* Modules/mediasession/MediaSession.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/notifications/Notification.idl:
* Modules/webaudio/AudioContext.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GetExportMacroForJSClass):
(GenerateHeader):
(AddIncludesForType): Deleted.
(AddToImplIncludes): Deleted.
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/TestNode.idl:
* css/CSSStyleDeclaration.idl:
* dom/ClientRect.idl:
* dom/ClientRectList.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Node.idl:
* dom/Range.idl:
* fileapi/File.idl:
* html/DOMURL.idl:
* html/HTMLElement.idl:
* html/HTMLMediaElement.idl:
* html/TimeRanges.idl:
* html/canvas/DOMPath.idl:
* inspector/ScriptProfile.idl:
* inspector/ScriptProfileNode.idl:
* page/DOMWindow.idl:
* page/make_settings.pl:
(generateInternalSettingsIdlFile):
* testing/InternalSettings.idl:
* testing/Internals.idl:
* testing/MallocStatistics.idl:
* testing/MemoryInfo.idl:
* testing/TypeConversions.idl:
* xml/XMLHttpRequest.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32 files changed:
Source/WebCore/ChangeLog
Source/WebCore/Modules/mediasession/MediaSession.idl
Source/WebCore/Modules/mediasource/SourceBuffer.idl
Source/WebCore/Modules/notifications/Notification.idl
Source/WebCore/Modules/webaudio/AudioContext.idl
Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
Source/WebCore/bindings/scripts/IDLAttributes.txt
Source/WebCore/bindings/scripts/test/TestInterface.idl
Source/WebCore/bindings/scripts/test/TestNode.idl
Source/WebCore/css/CSSStyleDeclaration.idl
Source/WebCore/dom/ClientRect.idl
Source/WebCore/dom/ClientRectList.idl
Source/WebCore/dom/Document.idl
Source/WebCore/dom/Element.idl
Source/WebCore/dom/Node.idl
Source/WebCore/dom/Range.idl
Source/WebCore/fileapi/File.idl
Source/WebCore/html/DOMURL.idl
Source/WebCore/html/HTMLElement.idl
Source/WebCore/html/HTMLMediaElement.idl
Source/WebCore/html/TimeRanges.idl
Source/WebCore/html/canvas/DOMPath.idl
Source/WebCore/inspector/ScriptProfile.idl
Source/WebCore/inspector/ScriptProfileNode.idl
Source/WebCore/page/DOMWindow.idl
Source/WebCore/page/make_settings.pl
Source/WebCore/testing/InternalSettings.idl
Source/WebCore/testing/Internals.idl
Source/WebCore/testing/MallocStatistics.idl
Source/WebCore/testing/MemoryInfo.idl
Source/WebCore/testing/TypeConversions.idl
Source/WebCore/xml/XMLHttpRequest.idl