Title: [199264] trunk/Source/WebCore
Revision
199264
Author
[email protected]
Date
2016-04-08 20:07:43 -0700 (Fri, 08 Apr 2016)

Log Message

[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:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (199263 => 199264)


--- trunk/Source/WebCore/ChangeLog	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/ChangeLog	2016-04-09 03:07:43 UTC (rev 199264)
@@ -1,3 +1,54 @@
+2016-04-08  Chris Dumez  <[email protected]>
+
+        [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:
+
 2016-04-08  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: XHRs and Web Worker scripts are not searchable

Modified: trunk/Source/WebCore/Modules/mediasession/MediaSession.idl (199263 => 199264)


--- trunk/Source/WebCore/Modules/mediasession/MediaSession.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSession.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -28,6 +28,7 @@
     CustomConstructor(optional MediaSessionKind kind),
     ConstructorCallWith=ScriptExecutionContext,
     ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface MediaSession {
     readonly attribute MediaSessionKind kind;
     readonly attribute MediaRemoteControls? controls;

Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl (199263 => 199264)


--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -38,6 +38,7 @@
     NoInterfaceObject,
     ActiveDOMObject,
     UsePointersEvenForNonNullableObjectArguments,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface SourceBuffer : EventTarget {
 
     [SetterRaisesException] attribute AppendMode mode;

Modified: trunk/Source/WebCore/Modules/notifications/Notification.idl (199263 => 199264)


--- trunk/Source/WebCore/Modules/notifications/Notification.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/Modules/notifications/Notification.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -32,6 +32,7 @@
 [
     Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
     ActiveDOMObject,
+    ExportMacro=WEBCORE_EXPORT,
 #if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
     Constructor(DOMString title, [Default=Undefined] optional Dictionary options),
     ConstructorCallWith=Document,

Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.idl (199263 => 199264)


--- trunk/Source/WebCore/Modules/webaudio/AudioContext.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -37,6 +37,7 @@
     CustomConstructor,
     UsePointersEvenForNonNullableObjectArguments,
     InterfaceName=webkitAudioContext,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface AudioContext : EventTarget {
     // All rendered audio ultimately connects to destination, which represents the audio hardware.
     readonly attribute AudioDestinationNode destination;

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (199263 => 199264)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2016-04-09 03:07:43 UTC (rev 199264)
@@ -231,51 +231,11 @@
     return $typesWithoutHeader{$type};
 }
 
-my %testSupportClasses = (
-    "JSInternals" => 1,
-    "JSInternalSettings" => 1,
-    "JSInternalSettingsGenerated" => 1,
-    "JSMallocStatistics" => 1,
-    "JSMemoryInfo" => 1,
-    "JSTypeConversions" => 1,
-
-    # This is for the bindings tests.
-    "JSTestNode" => 1,
-);
-
-my %classesNeedingWebCoreExport = (
-    "JSAudioContext" => 1,
-    "JSClientRect" => 1,
-    "JSClientRectList" => 1,
-    "JSCSSStyleDeclaration" => 1,
-    "JSDocument" => 1,
-    "JSDOMPath" => 1,
-    "JSDOMURL" => 1,
-    "JSDOMWindow" => 1,
-    "JSElement" => 1,
-    "JSFile" => 1,
-    "JSHTMLElement" => 1,
-    "JSHTMLMediaElement" => 1,
-    "JSMediaSession" => 1,
-    "JSNode" => 1,
-    "JSNotification" => 1,
-    "JSRange" => 1,
-    "JSScriptProfile" => 1,
-    "JSScriptProfileNode" => 1,
-    "JSSourceBuffer" => 1,
-    "JSTimeRanges" => 1,
-    "JSXMLHttpRequest" => 1,
-
-    # This is for the bindings tests.
-    "JSTestInterface" => 1,
-);
-
-sub ExportLabelForClass
+sub GetExportMacroForJSClass
 {
-    my $class = shift;
+    my $interface = shift;
 
-    return "WEBCORE_TESTSUPPORT_EXPORT " if $testSupportClasses{$class};
-    return "WEBCORE_EXPORT " if $classesNeedingWebCoreExport{$class};
+    return $interface->extendedAttributes->{"ExportMacro"} . " " if $interface->extendedAttributes->{"ExportMacro"};
     return "";
 }
 
@@ -940,10 +900,10 @@
     AddClassForwardIfNeeded("JSDOMWindowShell") if $interfaceName eq "DOMWindow";
     AddClassForwardIfNeeded("JSDictionary") if $codeGenerator->IsConstructorTemplate($interface, "Event");
 
-    my $exportLabel = ExportLabelForClass($className);
+    my $exportMacro = GetExportMacroForJSClass($interface);
 
     # Class declaration
-    push(@headerContent, "class $exportLabel$className : public $parentClassName {\n");
+    push(@headerContent, "class $exportMacro$className : public $parentClassName {\n");
 
     # Static create methods
     push(@headerContent, "public:\n");
@@ -1314,7 +1274,7 @@
         if ($implType eq "Node" or $implType eq "NodeList") {
             push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n");
         } else {
-            push(@headerContent, $exportLabel."JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n");
+            push(@headerContent, $exportMacro."JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n");
         }
         push(@headerContent, "inline JSC::JSValue toJS(JSC::ExecState* state, JSDOMGlobalObject* globalObject, $implType& impl) { return toJS(state, globalObject, &impl); }\n");
 

Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (199263 => 199264)


--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt	2016-04-09 03:07:43 UTC (rev 199264)
@@ -62,6 +62,7 @@
 EnabledAtRuntime=*
 EnabledBySetting=*
 EnforceRange
+ExportMacro=WEBCORE_EXPORT|WEBCORE_TESTSUPPORT_EXPORT
 ForwardDeclareInHeader
 GenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot
 GetterRaisesException

Modified: trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl (199263 => 199264)


--- trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -36,6 +36,7 @@
     Constructor(DOMString str1, [Default=Undefined] optional DOMString str2),
     ConstructorRaisesException,
     ConstructorConditional=TEST_INTERFACE,
+    ExportMacro=WEBCORE_EXPORT,
     ImplementationLacksVTable
 ] interface TestInterface {
 };

Modified: trunk/Source/WebCore/bindings/scripts/test/TestNode.idl (199263 => 199264)


--- trunk/Source/WebCore/bindings/scripts/test/TestNode.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/bindings/scripts/test/TestNode.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -20,6 +20,7 @@
 
 [
     Constructor,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
 ] interface TestNode : Node {
     attribute DOMString name;
 };

Modified: trunk/Source/WebCore/css/CSSStyleDeclaration.idl (199263 => 199264)


--- trunk/Source/WebCore/css/CSSStyleDeclaration.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/css/CSSStyleDeclaration.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -27,6 +27,7 @@
     CustomNamedSetter,
     CustomEnumerateProperty,
     SkipVTableValidation,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface CSSStyleDeclaration {
     [SetterRaisesException] attribute DOMString? cssText;
 

Modified: trunk/Source/WebCore/dom/ClientRect.idl (199263 => 199264)


--- trunk/Source/WebCore/dom/ClientRect.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/dom/ClientRect.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -25,7 +25,8 @@
  */
 
 [
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface ClientRect {
     readonly attribute unrestricted float top;
     readonly attribute unrestricted float right;

Modified: trunk/Source/WebCore/dom/ClientRectList.idl (199263 => 199264)


--- trunk/Source/WebCore/dom/ClientRectList.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/dom/ClientRectList.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,6 +26,7 @@
 
 [
     ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface ClientRectList {
     readonly attribute unsigned long length;
     getter ClientRect item([Default=Undefined] optional unsigned long index);

Modified: trunk/Source/WebCore/dom/Document.idl (199263 => 199264)


--- trunk/Source/WebCore/dom/Document.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/dom/Document.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -25,6 +25,7 @@
     UsePointersEvenForNonNullableObjectArguments,
     JSCustomHeader,
     JSGenerateToNativeObject,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface Document : Node {
 
     // DOM Level 1 Core

Modified: trunk/Source/WebCore/dom/Element.idl (199263 => 199264)


--- trunk/Source/WebCore/dom/Element.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/dom/Element.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -21,6 +21,7 @@
 [
     JSCustomHeader,
     JSGenerateToNativeObject,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface Element : Node {
 
     // DOM Level 1 Core

Modified: trunk/Source/WebCore/dom/Node.idl (199263 => 199264)


--- trunk/Source/WebCore/dom/Node.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/dom/Node.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,6 +26,7 @@
     CustomToJSObject,
     UsePointersEvenForNonNullableObjectArguments,
     ObjCPolymorphic,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface Node
 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
     : Object, EventTarget

Modified: trunk/Source/WebCore/dom/Range.idl (199263 => 199264)


--- trunk/Source/WebCore/dom/Range.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/dom/Range.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -23,7 +23,8 @@
     Constructor,
     ConstructorCallWith=Document,
     UsePointersEvenForNonNullableObjectArguments,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface Range {
 
     readonly attribute Node startContainer;

Modified: trunk/Source/WebCore/fileapi/File.idl (199263 => 199264)


--- trunk/Source/WebCore/fileapi/File.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/fileapi/File.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,6 +26,7 @@
 [
     JSGenerateToNativeObject,
     JSGenerateToJSObject,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface File : Blob {
     readonly attribute DOMString name;
 #if !defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT

Modified: trunk/Source/WebCore/html/DOMURL.idl (199263 => 199264)


--- trunk/Source/WebCore/html/DOMURL.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/html/DOMURL.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -35,6 +35,7 @@
     JSGenerateToJSObject,
     InterfaceName=URL,
     ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface DOMURL {
     [CallWith=ScriptExecutionContext] static DOMString? createObjectURL(Blob? blob);
     [CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);

Modified: trunk/Source/WebCore/html/HTMLElement.idl (199263 => 199264)


--- trunk/Source/WebCore/html/HTMLElement.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/html/HTMLElement.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -24,6 +24,7 @@
 #endif
     JSGenerateToNativeObject,
     JSCustomPushEventHandlerScope,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface HTMLElement : Element {
     [Reflect] attribute DOMString title;
     [Reflect] attribute DOMString lang;

Modified: trunk/Source/WebCore/html/HTMLMediaElement.idl (199263 => 199264)


--- trunk/Source/WebCore/html/HTMLMediaElement.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/html/HTMLMediaElement.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -28,6 +28,7 @@
     UsePointersEvenForNonNullableObjectArguments,
     JSGenerateToNativeObject,
     ActiveDOMObject,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface HTMLMediaElement : HTMLElement {
 
     // error state

Modified: trunk/Source/WebCore/html/TimeRanges.idl (199263 => 199264)


--- trunk/Source/WebCore/html/TimeRanges.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/html/TimeRanges.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,6 +26,7 @@
 [
     Conditional=VIDEO,
     ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface TimeRanges {
     readonly attribute unsigned long length;
     [RaisesException] unrestricted double start(unsigned long index);

Modified: trunk/Source/WebCore/html/canvas/DOMPath.idl (199263 => 199264)


--- trunk/Source/WebCore/html/canvas/DOMPath.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/html/canvas/DOMPath.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -32,6 +32,7 @@
     Constructor(DOMString text),
     UsePointersEvenForNonNullableObjectArguments,
     InterfaceName=Path2D,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface DOMPath {
 
 #if defined(ENABLE_CANVAS_PATH) && ENABLE_CANVAS_PATH

Modified: trunk/Source/WebCore/inspector/ScriptProfile.idl (199263 => 199264)


--- trunk/Source/WebCore/inspector/ScriptProfile.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/inspector/ScriptProfile.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,7 +26,8 @@
 
 [
     NoInterfaceObject,
-    SkipVTableValidation
+    SkipVTableValidation,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface ScriptProfile {
     readonly attribute DOMString title;
     readonly attribute unsigned long uid;

Modified: trunk/Source/WebCore/inspector/ScriptProfileNode.idl (199263 => 199264)


--- trunk/Source/WebCore/inspector/ScriptProfileNode.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/inspector/ScriptProfileNode.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,7 +26,8 @@
 
 [
     NoInterfaceObject,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface ScriptProfileNode {
     readonly attribute unsigned long id;
 

Modified: trunk/Source/WebCore/page/DOMWindow.idl (199263 => 199264)


--- trunk/Source/WebCore/page/DOMWindow.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/page/DOMWindow.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -37,6 +37,7 @@
     CustomPutFunction,
     JSLegacyParent=JSDOMWindowBase,
     InterfaceName=Window,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface DOMWindow : EventTarget {
     // DOM Level 0
     [Replaceable] readonly attribute Screen screen;

Modified: trunk/Source/WebCore/page/make_settings.pl (199263 => 199264)


--- trunk/Source/WebCore/page/make_settings.pl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/page/make_settings.pl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -359,6 +359,7 @@
 
     print $file "[\n";
     print $file "    NoInterfaceObject,\n";
+    print $file "    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,\n";
     print $file "] interface InternalSettingsGenerated {\n";
 
     sub writeIdlSetter($$$) {

Modified: trunk/Source/WebCore/testing/InternalSettings.idl (199263 => 199264)


--- trunk/Source/WebCore/testing/InternalSettings.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/testing/InternalSettings.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -26,7 +26,8 @@
 
 [
     NoInterfaceObject,
-    JSGenerateToJSObject
+    JSGenerateToJSObject,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
 ] interface InternalSettings : InternalSettingsGenerated {
     [RaisesException] void setTouchEventEmulationEnabled(boolean enabled);
 

Modified: trunk/Source/WebCore/testing/Internals.idl (199263 => 199264)


--- trunk/Source/WebCore/testing/Internals.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/testing/Internals.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -66,6 +66,7 @@
 [
     UsePointersEvenForNonNullableObjectArguments,
     NoInterfaceObject,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
 ] interface Internals {
     DOMString address(Node node);
     [RaisesException] boolean nodeNeedsStyleRecalc(Node node);

Modified: trunk/Source/WebCore/testing/MallocStatistics.idl (199263 => 199264)


--- trunk/Source/WebCore/testing/MallocStatistics.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/testing/MallocStatistics.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -25,7 +25,8 @@
 
 [
     NoInterfaceObject,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
 ] interface MallocStatistics {
     readonly attribute unsigned long reservedVMBytes;
     readonly attribute unsigned long committedVMBytes;

Modified: trunk/Source/WebCore/testing/MemoryInfo.idl (199263 => 199264)


--- trunk/Source/WebCore/testing/MemoryInfo.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/testing/MemoryInfo.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -30,7 +30,8 @@
 
 [
     NoInterfaceObject,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
 ] interface MemoryInfo {
     readonly attribute unsigned long usedJSHeapSize;
     readonly attribute unsigned long totalJSHeapSize;

Modified: trunk/Source/WebCore/testing/TypeConversions.idl (199263 => 199264)


--- trunk/Source/WebCore/testing/TypeConversions.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/testing/TypeConversions.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -25,7 +25,8 @@
 
 [
     NoInterfaceObject,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
 ] interface TypeConversions {
     attribute long testLong;
     [EnforceRange] attribute long testEnforceRangeLong;

Modified: trunk/Source/WebCore/xml/XMLHttpRequest.idl (199263 => 199264)


--- trunk/Source/WebCore/xml/XMLHttpRequest.idl	2016-04-09 02:37:19 UTC (rev 199263)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.idl	2016-04-09 03:07:43 UTC (rev 199264)
@@ -43,6 +43,7 @@
     JSCustomMarkFunction,
     JSGenerateToNativeObject,
     JSGenerateToJSObject,
+    ExportMacro=WEBCORE_EXPORT,
 ] interface XMLHttpRequest : XMLHttpRequestEventTarget {
     attribute EventHandler onreadystatechange;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to