<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[199264] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/199264">199264</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-04-08 20:07:43 -0700 (Fri, 08 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>[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:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionMediaSessionidl">trunk/Source/WebCore/Modules/mediasession/MediaSession.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBufferidl">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsNotificationidl">trunk/Source/WebCore/Modules/notifications/Notification.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextidl">trunk/Source/WebCore/Modules/webaudio/AudioContext.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsIDLAttributestxt">trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestInterfaceidl">trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestNodeidl">trunk/Source/WebCore/bindings/scripts/test/TestNode.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSStyleDeclarationidl">trunk/Source/WebCore/css/CSSStyleDeclaration.idl</a></li>
<li><a href="#trunkSourceWebCoredomClientRectidl">trunk/Source/WebCore/dom/ClientRect.idl</a></li>
<li><a href="#trunkSourceWebCoredomClientRectListidl">trunk/Source/WebCore/dom/ClientRectList.idl</a></li>
<li><a href="#trunkSourceWebCoredomDocumentidl">trunk/Source/WebCore/dom/Document.idl</a></li>
<li><a href="#trunkSourceWebCoredomElementidl">trunk/Source/WebCore/dom/Element.idl</a></li>
<li><a href="#trunkSourceWebCoredomNodeidl">trunk/Source/WebCore/dom/Node.idl</a></li>
<li><a href="#trunkSourceWebCoredomRangeidl">trunk/Source/WebCore/dom/Range.idl</a></li>
<li><a href="#trunkSourceWebCorefileapiFileidl">trunk/Source/WebCore/fileapi/File.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMURLidl">trunk/Source/WebCore/html/DOMURL.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLElementidl">trunk/Source/WebCore/html/HTMLElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementidl">trunk/Source/WebCore/html/HTMLMediaElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlTimeRangesidl">trunk/Source/WebCore/html/TimeRanges.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasDOMPathidl">trunk/Source/WebCore/html/canvas/DOMPath.idl</a></li>
<li><a href="#trunkSourceWebCoreinspectorScriptProfileidl">trunk/Source/WebCore/inspector/ScriptProfile.idl</a></li>
<li><a href="#trunkSourceWebCoreinspectorScriptProfileNodeidl">trunk/Source/WebCore/inspector/ScriptProfileNode.idl</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowidl">trunk/Source/WebCore/page/DOMWindow.idl</a></li>
<li><a href="#trunkSourceWebCorepagemake_settingspl">trunk/Source/WebCore/page/make_settings.pl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsidl">trunk/Source/WebCore/testing/InternalSettings.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#trunkSourceWebCoretestingMallocStatisticsidl">trunk/Source/WebCore/testing/MallocStatistics.idl</a></li>
<li><a href="#trunkSourceWebCoretestingMemoryInfoidl">trunk/Source/WebCore/testing/MemoryInfo.idl</a></li>
<li><a href="#trunkSourceWebCoretestingTypeConversionsidl">trunk/Source/WebCore/testing/TypeConversions.idl</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestidl">trunk/Source/WebCore/xml/XMLHttpRequest.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2016-04-08  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        [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:
+
</ins><span class="cx"> 2016-04-08  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: XHRs and Web Worker scripts are not searchable
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionMediaSessionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/MediaSession.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx">     CustomConstructor(optional MediaSessionKind kind),
</span><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface MediaSession {
</span><span class="cx">     readonly attribute MediaSessionKind kind;
</span><span class="cx">     readonly attribute MediaRemoteControls? controls;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBufferidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx">     ActiveDOMObject,
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface SourceBuffer : EventTarget {
</span><span class="cx"> 
</span><span class="cx">     [SetterRaisesException] attribute AppendMode mode;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsNotificationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/Notification.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
</span><span class="cx">     ActiveDOMObject,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> #if defined(ENABLE_NOTIFICATIONS) &amp;&amp; ENABLE_NOTIFICATIONS
</span><span class="cx">     Constructor(DOMString title, [Default=Undefined] optional Dictionary options),
</span><span class="cx">     ConstructorCallWith=Document,
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx">     CustomConstructor,
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><span class="cx">     InterfaceName=webkitAudioContext,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface AudioContext : EventTarget {
</span><span class="cx">     // All rendered audio ultimately connects to destination, which represents the audio hardware.
</span><span class="cx">     readonly attribute AudioDestinationNode destination;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -231,51 +231,11 @@
</span><span class="cx">     return $typesWithoutHeader{$type};
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-my %testSupportClasses = (
-    &quot;JSInternals&quot; =&gt; 1,
-    &quot;JSInternalSettings&quot; =&gt; 1,
-    &quot;JSInternalSettingsGenerated&quot; =&gt; 1,
-    &quot;JSMallocStatistics&quot; =&gt; 1,
-    &quot;JSMemoryInfo&quot; =&gt; 1,
-    &quot;JSTypeConversions&quot; =&gt; 1,
-
-    # This is for the bindings tests.
-    &quot;JSTestNode&quot; =&gt; 1,
-);
-
-my %classesNeedingWebCoreExport = (
-    &quot;JSAudioContext&quot; =&gt; 1,
-    &quot;JSClientRect&quot; =&gt; 1,
-    &quot;JSClientRectList&quot; =&gt; 1,
-    &quot;JSCSSStyleDeclaration&quot; =&gt; 1,
-    &quot;JSDocument&quot; =&gt; 1,
-    &quot;JSDOMPath&quot; =&gt; 1,
-    &quot;JSDOMURL&quot; =&gt; 1,
-    &quot;JSDOMWindow&quot; =&gt; 1,
-    &quot;JSElement&quot; =&gt; 1,
-    &quot;JSFile&quot; =&gt; 1,
-    &quot;JSHTMLElement&quot; =&gt; 1,
-    &quot;JSHTMLMediaElement&quot; =&gt; 1,
-    &quot;JSMediaSession&quot; =&gt; 1,
-    &quot;JSNode&quot; =&gt; 1,
-    &quot;JSNotification&quot; =&gt; 1,
-    &quot;JSRange&quot; =&gt; 1,
-    &quot;JSScriptProfile&quot; =&gt; 1,
-    &quot;JSScriptProfileNode&quot; =&gt; 1,
-    &quot;JSSourceBuffer&quot; =&gt; 1,
-    &quot;JSTimeRanges&quot; =&gt; 1,
-    &quot;JSXMLHttpRequest&quot; =&gt; 1,
-
-    # This is for the bindings tests.
-    &quot;JSTestInterface&quot; =&gt; 1,
-);
-
-sub ExportLabelForClass
</del><ins>+sub GetExportMacroForJSClass
</ins><span class="cx"> {
</span><del>-    my $class = shift;
</del><ins>+    my $interface = shift;
</ins><span class="cx"> 
</span><del>-    return &quot;WEBCORE_TESTSUPPORT_EXPORT &quot; if $testSupportClasses{$class};
-    return &quot;WEBCORE_EXPORT &quot; if $classesNeedingWebCoreExport{$class};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{&quot;ExportMacro&quot;} . &quot; &quot; if $interface-&gt;extendedAttributes-&gt;{&quot;ExportMacro&quot;};
</ins><span class="cx">     return &quot;&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -940,10 +900,10 @@
</span><span class="cx">     AddClassForwardIfNeeded(&quot;JSDOMWindowShell&quot;) if $interfaceName eq &quot;DOMWindow&quot;;
</span><span class="cx">     AddClassForwardIfNeeded(&quot;JSDictionary&quot;) if $codeGenerator-&gt;IsConstructorTemplate($interface, &quot;Event&quot;);
</span><span class="cx"> 
</span><del>-    my $exportLabel = ExportLabelForClass($className);
</del><ins>+    my $exportMacro = GetExportMacroForJSClass($interface);
</ins><span class="cx"> 
</span><span class="cx">     # Class declaration
</span><del>-    push(@headerContent, &quot;class $exportLabel$className : public $parentClassName {\n&quot;);
</del><ins>+    push(@headerContent, &quot;class $exportMacro$className : public $parentClassName {\n&quot;);
</ins><span class="cx"> 
</span><span class="cx">     # Static create methods
</span><span class="cx">     push(@headerContent, &quot;public:\n&quot;);
</span><span class="lines">@@ -1314,7 +1274,7 @@
</span><span class="cx">         if ($implType eq &quot;Node&quot; or $implType eq &quot;NodeList&quot;) {
</span><span class="cx">             push(@headerContent, &quot;JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n&quot;);
</span><span class="cx">         } else {
</span><del>-            push(@headerContent, $exportLabel.&quot;JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n&quot;);
</del><ins>+            push(@headerContent, $exportMacro.&quot;JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n&quot;);
</ins><span class="cx">         }
</span><span class="cx">         push(@headerContent, &quot;inline JSC::JSValue toJS(JSC::ExecState* state, JSDOMGlobalObject* globalObject, $implType&amp; impl) { return toJS(state, globalObject, &amp;impl); }\n&quot;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsIDLAttributestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -62,6 +62,7 @@
</span><span class="cx"> EnabledAtRuntime=*
</span><span class="cx"> EnabledBySetting=*
</span><span class="cx"> EnforceRange
</span><ins>+ExportMacro=WEBCORE_EXPORT|WEBCORE_TESTSUPPORT_EXPORT
</ins><span class="cx"> ForwardDeclareInHeader
</span><span class="cx"> GenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot
</span><span class="cx"> GetterRaisesException
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestInterfaceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx">     Constructor(DOMString str1, [Default=Undefined] optional DOMString str2),
</span><span class="cx">     ConstructorRaisesException,
</span><span class="cx">     ConstructorConditional=TEST_INTERFACE,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx">     ImplementationLacksVTable
</span><span class="cx"> ] interface TestInterface {
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestNode.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -20,6 +20,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Constructor,
</span><ins>+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</ins><span class="cx"> ] interface TestNode : Node {
</span><span class="cx">     attribute DOMString name;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSStyleDeclarationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSStyleDeclaration.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx">     CustomNamedSetter,
</span><span class="cx">     CustomEnumerateProperty,
</span><span class="cx">     SkipVTableValidation,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface CSSStyleDeclaration {
</span><span class="cx">     [SetterRaisesException] attribute DOMString? cssText;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomClientRectidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ClientRect.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -25,7 +25,8 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ImplementationLacksVTable
</del><ins>+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface ClientRect {
</span><span class="cx">     readonly attribute unrestricted float top;
</span><span class="cx">     readonly attribute unrestricted float right;
</span></span></pre></div>
<a id="trunkSourceWebCoredomClientRectListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ClientRectList.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface ClientRectList {
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx">     getter ClientRect item([Default=Undefined] optional unsigned long index);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><span class="cx">     JSCustomHeader,
</span><span class="cx">     JSGenerateToNativeObject,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface Document : Node {
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 1 Core
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> [
</span><span class="cx">     JSCustomHeader,
</span><span class="cx">     JSGenerateToNativeObject,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface Element : Node {
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 1 Core
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx">     CustomToJSObject,
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><span class="cx">     ObjCPolymorphic,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface Node
</span><span class="cx"> #if defined(LANGUAGE_OBJECTIVE_C) &amp;&amp; LANGUAGE_OBJECTIVE_C
</span><span class="cx">     : Object, EventTarget
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">     Constructor,
</span><span class="cx">     ConstructorCallWith=Document,
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><del>-    ImplementationLacksVTable
</del><ins>+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface Range {
</span><span class="cx"> 
</span><span class="cx">     readonly attribute Node startContainer;
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiFileidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/File.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx">     JSGenerateToJSObject,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface File : Blob {
</span><span class="cx">     readonly attribute DOMString name;
</span><span class="cx"> #if !defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMURLidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMURL.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     InterfaceName=URL,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface DOMURL {
</span><span class="cx">     [CallWith=ScriptExecutionContext] static DOMString? createObjectURL(Blob? blob);
</span><span class="cx">     [CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx">     JSCustomPushEventHandlerScope,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface HTMLElement : Element {
</span><span class="cx">     [Reflect] attribute DOMString title;
</span><span class="cx">     [Reflect] attribute DOMString lang;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx">     ActiveDOMObject,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface HTMLMediaElement : HTMLElement {
</span><span class="cx"> 
</span><span class="cx">     // error state
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTimeRangesidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TimeRanges.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=VIDEO,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface TimeRanges {
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx">     [RaisesException] unrestricted double start(unsigned long index);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasDOMPathidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/DOMPath.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx">     Constructor(DOMString text),
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><span class="cx">     InterfaceName=Path2D,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface DOMPath {
</span><span class="cx"> 
</span><span class="cx"> #if defined(ENABLE_CANVAS_PATH) &amp;&amp; ENABLE_CANVAS_PATH
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorScriptProfileidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/ScriptProfile.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,7 +26,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><del>-    SkipVTableValidation
</del><ins>+    SkipVTableValidation,
+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface ScriptProfile {
</span><span class="cx">     readonly attribute DOMString title;
</span><span class="cx">     readonly attribute unsigned long uid;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorScriptProfileNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/ScriptProfileNode.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,7 +26,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><del>-    ImplementationLacksVTable
</del><ins>+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface ScriptProfileNode {
</span><span class="cx">     readonly attribute unsigned long id;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx">     CustomPutFunction,
</span><span class="cx">     JSLegacyParent=JSDOMWindowBase,
</span><span class="cx">     InterfaceName=Window,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface DOMWindow : EventTarget {
</span><span class="cx">     // DOM Level 0
</span><span class="cx">     [Replaceable] readonly attribute Screen screen;
</span></span></pre></div>
<a id="trunkSourceWebCorepagemake_settingspl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/make_settings.pl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -359,6 +359,7 @@
</span><span class="cx"> 
</span><span class="cx">     print $file &quot;[\n&quot;;
</span><span class="cx">     print $file &quot;    NoInterfaceObject,\n&quot;;
</span><ins>+    print $file &quot;    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,\n&quot;;
</ins><span class="cx">     print $file &quot;] interface InternalSettingsGenerated {\n&quot;;
</span><span class="cx"> 
</span><span class="cx">     sub writeIdlSetter($$$) {
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -26,7 +26,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><del>-    JSGenerateToJSObject
</del><ins>+    JSGenerateToJSObject,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</ins><span class="cx"> ] interface InternalSettings : InternalSettingsGenerated {
</span><span class="cx">     [RaisesException] void setTouchEventEmulationEnabled(boolean enabled);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -66,6 +66,7 @@
</span><span class="cx"> [
</span><span class="cx">     UsePointersEvenForNonNullableObjectArguments,
</span><span class="cx">     NoInterfaceObject,
</span><ins>+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</ins><span class="cx"> ] interface Internals {
</span><span class="cx">     DOMString address(Node node);
</span><span class="cx">     [RaisesException] boolean nodeNeedsStyleRecalc(Node node);
</span></span></pre></div>
<a id="trunkSourceWebCoretestingMallocStatisticsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/MallocStatistics.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -25,7 +25,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><del>-    ImplementationLacksVTable
</del><ins>+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</ins><span class="cx"> ] interface MallocStatistics {
</span><span class="cx">     readonly attribute unsigned long reservedVMBytes;
</span><span class="cx">     readonly attribute unsigned long committedVMBytes;
</span></span></pre></div>
<a id="trunkSourceWebCoretestingMemoryInfoidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/MemoryInfo.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -30,7 +30,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><del>-    ImplementationLacksVTable
</del><ins>+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</ins><span class="cx"> ] interface MemoryInfo {
</span><span class="cx">     readonly attribute unsigned long usedJSHeapSize;
</span><span class="cx">     readonly attribute unsigned long totalJSHeapSize;
</span></span></pre></div>
<a id="trunkSourceWebCoretestingTypeConversionsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/TypeConversions.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -25,7 +25,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><del>-    ImplementationLacksVTable
</del><ins>+    ImplementationLacksVTable,
+    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</ins><span class="cx"> ] interface TypeConversions {
</span><span class="cx">     attribute long testLong;
</span><span class="cx">     [EnforceRange] attribute long testEnforceRangeLong;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.idl (199263 => 199264)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx">     JSCustomMarkFunction,
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx">     JSGenerateToJSObject,
</span><ins>+    ExportMacro=WEBCORE_EXPORT,
</ins><span class="cx"> ] interface XMLHttpRequest : XMLHttpRequestEventTarget {
</span><span class="cx">     attribute EventHandler onreadystatechange;
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>