| Differences between
and this patch
- a/Source/WebCore/ChangeLog +65 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2011-12-17  Kentaro Hara  <haraken@chromium.org>
2
3
        WIP: Enable the [Supplemental] IDL on AppleWebKit
4
        https://bugs.webkit.org/show_bug.cgi?id=74599
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        We have enabled the [Supplemental] IDL on Chromium and are planning
9
        to enable it on all platforms (Meta bug 72138). In this bug, we enable
10
        it on AppleWebKit.
11
12
        This patch changes the build flow of DerivedSources.make as follows:
13
14
            - Previous build flow:
15
                foreach $idl (all IDL files) {
16
                    generate-bindings.pl depends on $idl;
17
                    generate-bindings.pl reads $idl;
18
                    generate-bindings.pl generates .h and .cpp files for $idl;
19
                }
20
21
            - New build flow (See the discussions in bug 72138 for more details):
22
                resolve-supplemental.pl depends on all IDL files;
23
                resolve-supplemental.pl reads all IDL files;
24
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
25
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
26
                foreach $idl (all IDL files) {
27
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
28
                    generate-bindings.pl reads $idl;
29
                    generate-bindings.pl reads supplemental_dependency.tmp;
30
                    generate-bindings.pl generates .h and .cpp files for $idl,
31
                        including all attributes in the IDL files that are implementing $idl;
32
                }
33
34
        Tests: Confirm that build succeeds.
35
               http/tests/websocket/tests/*
36
37
        * DerivedSources.make: Described the above build flow.
38
39
        * bindings/js/JSDOMWindowCustom.cpp: Moved settingsForWindow(), webkitAudioContext()
40
        and webSocket() into JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp,
41
        for modularization.
42
        * bindings/js/JSDOMWindowWebAudioCustom.cpp: Added.
43
        (WebCore::settingsForWindowWebAudio):
44
        (WebCore::JSDOMWindow::webkitAudioContext):
45
        * bindings/js/JSDOMWindowWebSocketCustom.cpp: Added.
46
        (WebCore::settingsForWindowWebSocket):
47
        (WebCore::JSDOMWindow::webSocket):
48
49
        * GNUmakefile.list.am: Added JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp.
50
        * Target.pri: Ditto.
51
        * UseJSC.cmake: Ditto.
52
        * WebCore.gypi: Ditto.
53
        * WebCore.vcproj/WebCore.vcproj: Ditto.
54
        * WebCore.xcodeproj/project.pbxproj: Ditto.
55
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
56
57
        * bindings/scripts/CodeGeneratorJS.pm: Fixed generated code for custom getters and setters
58
        with the [Supplemental] IDL.
59
        (GenerateHeader):
60
        (GenerateImplementation):
61
        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
62
        (WebCore::jsTestInterfaceStr3):
63
        (WebCore::setJSTestInterfaceStr3):
64
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
65
1
2011-12-16  Yosifumi Inoue  <yosin@chromium.org>
66
2011-12-16  Yosifumi Inoue  <yosin@chromium.org>
2
67
3
        [Forms] Selection change by type-ahead doesn't fire 'change' event
68
        [Forms] Selection change by type-ahead doesn't fire 'change' event
- a/Source/WebCore/DerivedSources.make -522 / +546 lines
Lines 51-580 VPATH = \ a/Source/WebCore/DerivedSources.make_sec1
51
    $(WebCore)/websockets \
51
    $(WebCore)/websockets \
52
#
52
#
53
53
54
DOM_CLASSES = \
54
IDL_BINDINGS = \
55
    AbstractView \
55
    css/CSSCharsetRule.idl \
56
    AbstractWorker \
56
    css/CSSFontFaceRule.idl \
57
    ArrayBuffer \
57
    css/CSSImportRule.idl \
58
    ArrayBufferView \
58
    css/CSSMediaRule.idl \
59
    Attr \
59
    css/CSSPageRule.idl \
60
    AudioBuffer \
60
    css/CSSPrimitiveValue.idl \
61
    AudioBufferCallback \
61
    css/CSSRule.idl \
62
    AudioBufferSourceNode \
62
    css/CSSRuleList.idl \
63
    AudioChannelMerger \
63
    css/CSSStyleDeclaration.idl \
64
    AudioChannelSplitter \
64
    css/CSSStyleRule.idl \
65
    AudioContext \
65
    css/CSSStyleSheet.idl \
66
    AudioDestinationNode \
66
    css/CSSUnknownRule.idl \
67
    AudioGain \
67
    css/CSSValue.idl \
68
    AudioGainNode \
68
    css/CSSValueList.idl \
69
    AudioListener \
69
    css/Counter.idl \
70
    AudioNode \
70
    css/MediaList.idl \
71
    AudioPannerNode \
71
    css/MediaQueryList.idl \
72
    AudioParam \
72
    css/MediaQueryListListener.idl \
73
    AudioProcessingEvent \
73
    css/RGBColor.idl \
74
    AudioSourceNode \
74
    css/Rect.idl \
75
    BarInfo \
75
    css/StyleMedia.idl \
76
    BeforeLoadEvent \
76
    css/StyleSheet.idl \
77
    BiquadFilterNode \
77
    css/StyleSheetList.idl \
78
    Blob \
78
    css/WebKitCSSFilterValue.idl \
79
    CDATASection \
79
    css/WebKitCSSKeyframeRule.idl \
80
    CSSCharsetRule \
80
    css/WebKitCSSKeyframesRule.idl \
81
    CSSFontFaceRule \
81
    css/WebKitCSSMatrix.idl \
82
    CSSImportRule \
82
    css/WebKitCSSTransformValue.idl \
83
    CSSMediaRule \
83
    dom/Attr.idl \
84
    CSSPageRule \
84
    dom/BeforeLoadEvent.idl \
85
    CSSPrimitiveValue \
85
    dom/CDATASection.idl \
86
    CSSRule \
86
    dom/CharacterData.idl \
87
    CSSRuleList \
87
    dom/ClientRect.idl \
88
    CSSStyleDeclaration \
88
    dom/ClientRectList.idl \
89
    CSSStyleRule \
89
    dom/Clipboard.idl \
90
    CSSStyleSheet \
90
    dom/Comment.idl \
91
    CSSUnknownRule \
91
    dom/CompositionEvent.idl \
92
    CSSValue \
92
    dom/CustomEvent.idl \
93
    CSSValueList \
93
    dom/DOMCoreException.idl \
94
    CanvasGradient \
94
    dom/DOMImplementation.idl \
95
    CanvasPattern \
95
    dom/DOMStringList.idl \
96
    CanvasRenderingContext \
96
    dom/DOMStringMap.idl \
97
    CanvasRenderingContext2D \
97
    dom/DataTransferItem.idl \
98
    CharacterData \
98
    dom/DataTransferItemList.idl \
99
    ClientRect \
99
    dom/DeviceMotionEvent.idl \
100
    ClientRectList \
100
    dom/DeviceOrientationEvent.idl \
101
    Clipboard \
101
    dom/Document.idl \
102
    CloseEvent \
102
    dom/DocumentFragment.idl \
103
    Comment \
103
    dom/DocumentType.idl \
104
    CompositionEvent \
104
    dom/Element.idl \
105
    Console \
105
    dom/Entity.idl \
106
    ConvolverNode \
106
    dom/EntityReference.idl \
107
    Coordinates \
107
    dom/ErrorEvent.idl \
108
    Counter \
108
    dom/Event.idl \
109
    Crypto \
109
    dom/EventException.idl \
110
    CustomEvent \
110
    dom/EventListener.idl \
111
    DOMApplicationCache \
111
    dom/EventTarget.idl \
112
    DOMCoreException \
112
    dom/HashChangeEvent.idl \
113
    DOMFileSystem \
113
    dom/KeyboardEvent.idl \
114
    DOMFileSystemSync \
114
    dom/MessageChannel.idl \
115
    DOMFormData \
115
    dom/MessageEvent.idl \
116
    DOMImplementation \
116
    dom/MessagePort.idl \
117
    DOMMimeType \
117
    dom/MouseEvent.idl \
118
    DOMMimeTypeArray \
118
    dom/MutationCallback.idl \
119
    DOMParser \
119
    dom/MutationEvent.idl \
120
    DOMPlugin \
120
    dom/MutationRecord.idl \
121
    DOMPluginArray \
121
    dom/NamedNodeMap.idl \
122
    DOMSelection \
122
    dom/Node.idl \
123
    DOMSettableTokenList \
123
    dom/NodeFilter.idl \
124
    DOMStringList \
124
    dom/NodeIterator.idl \
125
    DOMStringMap \
125
    dom/NodeList.idl \
126
    DOMTokenList \
126
    dom/Notation.idl \
127
    DOMURL \
127
    dom/OverflowEvent.idl \
128
    DOMWindow \
128
    dom/PageTransitionEvent.idl \
129
    DataTransferItem \
129
    dom/PopStateEvent.idl \
130
    DataTransferItemList \
130
    dom/ProcessingInstruction.idl \
131
    DataView \
131
    dom/ProgressEvent.idl \
132
    Database \
132
    dom/Range.idl \
133
    DatabaseCallback \
133
    dom/RangeException.idl \
134
    DatabaseSync \
134
    dom/RequestAnimationFrameCallback.idl \
135
    DedicatedWorkerContext \
135
    dom/StringCallback.idl \
136
    DelayNode \
136
    dom/Text.idl \
137
    DeviceMotionEvent \
137
    dom/TextEvent.idl \
138
    DeviceOrientationEvent \
138
    dom/Touch.idl \
139
    DirectoryEntry \
139
    dom/TouchEvent.idl \
140
    DirectoryEntrySync \
140
    dom/TouchList.idl \
141
    DirectoryReader \
141
    dom/TreeWalker.idl \
142
    DirectoryReaderSync \
142
    dom/UIEvent.idl \
143
    Document \
143
    dom/WebKitAnimationEvent.idl \
144
    DocumentFragment \
144
    dom/WebKitMutationObserver.idl \
145
    DocumentType \
145
    dom/WebKitNamedFlow.idl \
146
    DynamicsCompressorNode \
146
    dom/WebKitTransitionEvent.idl \
147
    Element \
147
    dom/WheelEvent.idl \
148
    ElementTimeControl \
148
    fileapi/Blob.idl \
149
    Entity \
149
    fileapi/DOMFileSystem.idl \
150
    EntityReference \
150
    fileapi/DOMFileSystemSync.idl \
151
    EntriesCallback \
151
    fileapi/DirectoryEntry.idl \
152
    Entry \
152
    fileapi/DirectoryEntrySync.idl \
153
    EntryArray \
153
    fileapi/DirectoryReader.idl \
154
    EntryArraySync \
154
    fileapi/DirectoryReaderSync.idl \
155
    EntryCallback \
155
    fileapi/EntriesCallback.idl \
156
    EntrySync \
156
    fileapi/Entry.idl \
157
    ErrorCallback \
157
    fileapi/EntryArray.idl \
158
    ErrorEvent \
158
    fileapi/EntryArraySync.idl \
159
    Event \
159
    fileapi/EntryCallback.idl \
160
    EventException \
160
    fileapi/EntrySync.idl \
161
    EventListener \
161
    fileapi/ErrorCallback.idl \
162
    EventSource \
162
    fileapi/File.idl \
163
    EventTarget \
163
    fileapi/FileCallback.idl \
164
    File \
164
    fileapi/FileEntry.idl \
165
    FileCallback \
165
    fileapi/FileEntrySync.idl \
166
    FileEntry \
166
    fileapi/FileError.idl \
167
    FileEntrySync \
167
    fileapi/FileException.idl \
168
    FileError \
168
    fileapi/FileList.idl \
169
    FileException \
169
    fileapi/FileReader.idl \
170
    FileList \
170
    fileapi/FileReaderSync.idl \
171
    FileReader \
171
    fileapi/FileSystemCallback.idl \
172
    FileReaderSync \
172
    fileapi/FileWriter.idl \
173
    FileSystemCallback \
173
    fileapi/FileWriterCallback.idl \
174
    FileWriter \
174
    fileapi/FileWriterSync.idl \
175
    FileWriterCallback \
175
    fileapi/Metadata.idl \
176
    FileWriterSync \
176
    fileapi/MetadataCallback.idl \
177
    Float32Array \
177
    fileapi/OperationNotAllowedException.idl \
178
    Float64Array \
178
    fileapi/WebKitBlobBuilder.idl \
179
    Geolocation \
179
    fileapi/WebKitFlags.idl \
180
    Geoposition \
180
    html/DOMFormData.idl \
181
    HTMLAllCollection \
181
    html/DOMSettableTokenList.idl \
182
    HTMLPropertiesCollection \
182
    html/DOMTokenList.idl \
183
    HTMLAnchorElement \
183
    html/DOMURL.idl \
184
    HTMLAppletElement \
184
    html/HTMLAllCollection.idl \
185
    HTMLAreaElement \
185
    html/HTMLAnchorElement.idl \
186
    HTMLAudioElement \
186
    html/HTMLAppletElement.idl \
187
    HTMLBRElement \
187
    html/HTMLAreaElement.idl \
188
    HTMLBaseElement \
188
    html/HTMLAudioElement.idl \
189
    HTMLBaseFontElement \
189
    html/HTMLBRElement.idl \
190
    HTMLBodyElement \
190
    html/HTMLBaseElement.idl \
191
    HTMLButtonElement \
191
    html/HTMLBaseFontElement.idl \
192
    HTMLCanvasElement \
192
    html/HTMLBodyElement.idl \
193
    HTMLCollection \
193
    html/HTMLButtonElement.idl \
194
    HTMLDListElement \
194
    html/HTMLCanvasElement.idl \
195
    HTMLDataListElement \
195
    html/HTMLCollection.idl \
196
    HTMLDetailsElement \
196
    html/HTMLDListElement.idl \
197
    HTMLDirectoryElement \
197
    html/HTMLDataListElement.idl \
198
    HTMLDivElement \
198
    html/HTMLDetailsElement.idl \
199
    HTMLDocument \
199
    html/HTMLDirectoryElement.idl \
200
    HTMLElement \
200
    html/HTMLDivElement.idl \
201
    HTMLEmbedElement \
201
    html/HTMLDocument.idl \
202
    HTMLFieldSetElement \
202
    html/HTMLElement.idl \
203
    HTMLFontElement \
203
    html/HTMLEmbedElement.idl \
204
    HTMLFormElement \
204
    html/HTMLFieldSetElement.idl \
205
    HTMLFrameElement \
205
    html/HTMLFontElement.idl \
206
    HTMLFrameSetElement \
206
    html/HTMLFormElement.idl \
207
    HTMLHRElement \
207
    html/HTMLFrameElement.idl \
208
    HTMLHeadElement \
208
    html/HTMLFrameSetElement.idl \
209
    HTMLHeadingElement \
209
    html/HTMLHRElement.idl \
210
    HTMLHtmlElement \
210
    html/HTMLHeadElement.idl \
211
    HTMLIFrameElement \
211
    html/HTMLHeadingElement.idl \
212
    HTMLImageElement \
212
    html/HTMLHtmlElement.idl \
213
    HTMLInputElement \
213
    html/HTMLIFrameElement.idl \
214
    HTMLIsIndexElement \
214
    html/HTMLImageElement.idl \
215
    HTMLKeygenElement \
215
    html/HTMLInputElement.idl \
216
    HTMLLIElement \
216
    html/HTMLIsIndexElement.idl \
217
    HTMLLabelElement \
217
    html/HTMLKeygenElement.idl \
218
    HTMLLegendElement \
218
    html/HTMLLIElement.idl \
219
    HTMLLinkElement \
219
    html/HTMLLabelElement.idl \
220
    HTMLMapElement \
220
    html/HTMLLegendElement.idl \
221
    HTMLMarqueeElement \
221
    html/HTMLLinkElement.idl \
222
    HTMLMediaElement \
222
    html/HTMLMapElement.idl \
223
    HTMLMenuElement \
223
    html/HTMLMarqueeElement.idl \
224
    HTMLMetaElement \
224
    html/HTMLMediaElement.idl \
225
    HTMLMeterElement \
225
    html/HTMLMenuElement.idl \
226
    HTMLModElement \
226
    html/HTMLMetaElement.idl \
227
    HTMLOListElement \
227
    html/HTMLMeterElement.idl \
228
    HTMLObjectElement \
228
    html/HTMLModElement.idl \
229
    HTMLOptGroupElement \
229
    html/HTMLOListElement.idl \
230
    HTMLOptionElement \
230
    html/HTMLObjectElement.idl \
231
    HTMLOptionsCollection \
231
    html/HTMLOptGroupElement.idl \
232
    HTMLOutputElement \
232
    html/HTMLOptionElement.idl \
233
    HTMLParagraphElement \
233
    html/HTMLOptionsCollection.idl \
234
    HTMLParamElement \
234
    html/HTMLOutputElement.idl \
235
    HTMLPreElement \
235
    html/HTMLParagraphElement.idl \
236
    HTMLProgressElement \
236
    html/HTMLParamElement.idl \
237
    HTMLQuoteElement \
237
    html/HTMLPreElement.idl \
238
    HTMLScriptElement \
238
    html/HTMLProgressElement.idl \
239
    HTMLSelectElement \
239
    html/HTMLPropertiesCollection.idl \
240
    HTMLSourceElement \
240
    html/HTMLQuoteElement.idl \
241
    HTMLSpanElement \
241
    html/HTMLScriptElement.idl \
242
    HTMLStyleElement \
242
    html/HTMLSelectElement.idl \
243
    HTMLTableCaptionElement \
243
    html/HTMLSourceElement.idl \
244
    HTMLTableCellElement \
244
    html/HTMLSpanElement.idl \
245
    HTMLTableColElement \
245
    html/HTMLStyleElement.idl \
246
    HTMLTableElement \
246
    html/HTMLTableCaptionElement.idl \
247
    HTMLTableRowElement \
247
    html/HTMLTableCellElement.idl \
248
    HTMLTableSectionElement \
248
    html/HTMLTableColElement.idl \
249
    HTMLTextAreaElement \
249
    html/HTMLTableElement.idl \
250
    HTMLTitleElement \
250
    html/HTMLTableRowElement.idl \
251
    HTMLTrackElement \
251
    html/HTMLTableSectionElement.idl \
252
    HTMLUListElement \
252
    html/HTMLTextAreaElement.idl \
253
    HTMLUnknownElement \
253
    html/HTMLTitleElement.idl \
254
    HTMLVideoElement \
254
    html/HTMLTrackElement.idl \
255
    HashChangeEvent \
255
    html/HTMLUListElement.idl \
256
    HighPass2FilterNode \
256
    html/HTMLUnknownElement.idl \
257
    History \
257
    html/HTMLVideoElement.idl \
258
    IDBAny \
258
    html/ImageData.idl \
259
    IDBCursor \
259
    html/MediaController.idl \
260
    IDBDatabase \
260
    html/MediaError.idl \
261
    IDBDatabaseError \
261
    html/TextMetrics.idl \
262
    IDBDatabaseException \
262
    html/TextTrack.idl \
263
    IDBFactory \
263
    html/TextTrackCue.idl \
264
    IDBIndex \
264
    html/TextTrackCueList.idl \
265
    IDBKey \
265
    html/TimeRanges.idl \
266
    IDBKeyRange \
266
    html/ValidityState.idl \
267
    IDBObjectStore \
267
    html/canvas/ArrayBuffer.idl \
268
    IDBRequest \
268
    html/canvas/ArrayBufferView.idl \
269
    IDBTransaction \
269
    html/canvas/CanvasGradient.idl \
270
    ImageData \
270
    html/canvas/CanvasPattern.idl \
271
    InjectedScriptHost \
271
    html/canvas/CanvasRenderingContext.idl \
272
    InspectorFrontendHost \
272
    html/canvas/CanvasRenderingContext2D.idl \
273
    Int16Array \
273
    html/canvas/DataView.idl \
274
    Int32Array \
274
    html/canvas/Float32Array.idl \
275
    Int8Array \
275
    html/canvas/Float64Array.idl \
276
    Internals \
276
    html/canvas/Int16Array.idl \
277
    JavaScriptAudioNode \
277
    html/canvas/Int32Array.idl \
278
    KeyboardEvent \
278
    html/canvas/Int8Array.idl \
279
    Location \
279
    html/canvas/OESStandardDerivatives.idl \
280
    LowPass2FilterNode \
280
    html/canvas/OESTextureFloat.idl \
281
    MediaController \
281
    html/canvas/OESVertexArrayObject.idl \
282
    MediaElementAudioSourceNode \
282
    html/canvas/Uint16Array.idl \
283
    MediaError \
283
    html/canvas/Uint32Array.idl \
284
    MediaList \
284
    html/canvas/Uint8Array.idl \
285
    MediaQueryList \
285
    html/canvas/WebGLActiveInfo.idl \
286
    MediaQueryListListener \
286
    html/canvas/WebGLBuffer.idl \
287
    MemoryInfo \
287
    html/canvas/WebGLCompressedTextures.idl \
288
    MessageChannel \
288
    html/canvas/WebGLContextAttributes.idl \
289
    MessageEvent \
289
    html/canvas/WebGLContextEvent.idl \
290
    MessagePort \
290
    html/canvas/WebGLFramebuffer.idl \
291
    Metadata \
291
    html/canvas/WebGLLoseContext.idl \
292
    MetadataCallback \
292
    html/canvas/WebGLProgram.idl \
293
    MouseEvent \
293
    html/canvas/WebGLRenderbuffer.idl \
294
    MutationCallback \
294
    html/canvas/WebGLRenderingContext.idl \
295
    MutationEvent \
295
    html/canvas/WebGLShader.idl \
296
    MutationRecord \
296
    html/canvas/WebGLTexture.idl \
297
    NamedNodeMap \
297
    html/canvas/WebGLUniformLocation.idl \
298
    Navigator \
298
    html/canvas/WebGLVertexArrayObjectOES.idl \
299
    Node \
299
    html/track/TextTrackList.idl \
300
    NodeFilter \
300
    html/track/TrackEvent.idl \
301
    NodeIterator \
301
    inspector/InjectedScriptHost.idl \
302
    NodeList \
302
    inspector/InspectorFrontendHost.idl \
303
    Notation \
303
    inspector/ScriptProfile.idl \
304
    Notification \
304
    inspector/ScriptProfileNode.idl \
305
    NotificationCenter \
305
    loader/appcache/DOMApplicationCache.idl \
306
    OESStandardDerivatives \
306
    notifications/Notification.idl \
307
    OESTextureFloat \
307
    notifications/NotificationCenter.idl \
308
    OESVertexArrayObject \
308
    page/AbstractView.idl \
309
    OfflineAudioCompletionEvent \
309
    page/BarInfo.idl \
310
    OperationNotAllowedException \
310
    page/Console.idl \
311
    OverflowEvent \
311
    page/Coordinates.idl \
312
    PageTransitionEvent \
312
    page/Crypto.idl \
313
    Performance \
313
    page/DOMSelection.idl \
314
    PerformanceNavigation \
314
    page/DOMWindow.idl \
315
    PerformanceTiming \
315
    page/EventSource.idl \
316
    PopStateEvent \
316
    page/Geolocation.idl \
317
    PositionCallback \
317
    page/Geoposition.idl \
318
    PositionError \
318
    page/History.idl \
319
    PositionErrorCallback \
319
    page/Location.idl \
320
    ProcessingInstruction \
320
    page/MemoryInfo.idl \
321
    ProgressEvent \
321
    page/Navigator.idl \
322
    RGBColor \
322
    page/Performance.idl \
323
    Range \
323
    page/PerformanceNavigation.idl \
324
    RangeException \
324
    page/PerformanceTiming.idl \
325
    RealtimeAnalyserNode \
325
    page/PositionCallback.idl \
326
    Rect \
326
    page/PositionError.idl \
327
    RequestAnimationFrameCallback \
327
    page/PositionErrorCallback.idl \
328
    SQLError \
328
    page/Screen.idl \
329
    SQLException \
329
    page/SpeechInputEvent.idl \
330
    SQLResultSet \
330
    page/SpeechInputResult.idl \
331
    SQLResultSetRowList \
331
    page/SpeechInputResultList.idl \
332
    SQLStatementCallback \
332
    page/WebKitAnimation.idl \
333
    SQLStatementErrorCallback \
333
    page/WebKitAnimationList.idl \
334
    SQLTransaction \
334
    page/WebKitPoint.idl \
335
    SQLTransactionCallback \
335
    page/WorkerNavigator.idl \
336
    SQLTransactionErrorCallback \
336
    plugins/DOMMimeType.idl \
337
    SQLTransactionSync \
337
    plugins/DOMMimeTypeArray.idl \
338
    SQLTransactionSyncCallback \
338
    plugins/DOMPlugin.idl \
339
    SVGAElement \
339
    plugins/DOMPluginArray.idl \
340
    SVGAltGlyphDefElement \
340
    storage/Database.idl \
341
    SVGAltGlyphElement \
341
    storage/DatabaseCallback.idl \
342
    SVGAltGlyphItemElement \
342
    storage/DatabaseSync.idl \
343
    SVGAngle \
343
    storage/IDBAny.idl \
344
    SVGAnimateColorElement \
344
    storage/IDBCursor.idl \
345
    SVGAnimateElement \
345
    storage/IDBDatabase.idl \
346
    SVGAnimateMotionElement \
346
    storage/IDBDatabaseError.idl \
347
    SVGAnimateTransformElement \
347
    storage/IDBDatabaseException.idl \
348
    SVGAnimatedAngle \
348
    storage/IDBFactory.idl \
349
    SVGAnimatedBoolean \
349
    storage/IDBIndex.idl \
350
    SVGAnimatedEnumeration \
350
    storage/IDBKey.idl \
351
    SVGAnimatedInteger \
351
    storage/IDBKeyRange.idl \
352
    SVGAnimatedLength \
352
    storage/IDBObjectStore.idl \
353
    SVGAnimatedLengthList \
353
    storage/IDBRequest.idl \
354
    SVGAnimatedNumber \
354
    storage/IDBTransaction.idl \
355
    SVGAnimatedNumberList \
355
    storage/SQLError.idl \
356
    SVGAnimatedPreserveAspectRatio \
356
    storage/SQLException.idl \
357
    SVGAnimatedRect \
357
    storage/SQLResultSet.idl \
358
    SVGAnimatedString \
358
    storage/SQLResultSetRowList.idl \
359
    SVGAnimatedTransformList \
359
    storage/SQLStatementCallback.idl \
360
    SVGAnimationElement \
360
    storage/SQLStatementErrorCallback.idl \
361
    SVGCircleElement \
361
    storage/SQLTransaction.idl \
362
    SVGClipPathElement \
362
    storage/SQLTransactionCallback.idl \
363
    SVGColor \
363
    storage/SQLTransactionErrorCallback.idl \
364
    SVGComponentTransferFunctionElement \
364
    storage/SQLTransactionSync.idl \
365
    SVGCursorElement \
365
    storage/SQLTransactionSyncCallback.idl \
366
    SVGDefsElement \
366
    storage/Storage.idl \
367
    SVGDescElement \
367
    storage/StorageEvent.idl \
368
    SVGDocument \
368
    storage/StorageInfo.idl \
369
    SVGElement \
369
    storage/StorageInfoErrorCallback.idl \
370
    SVGElementInstance \
370
    storage/StorageInfoQuotaCallback.idl \
371
    SVGElementInstanceList \
371
    storage/StorageInfoUsageCallback.idl \
372
    SVGEllipseElement \
372
    svg/ElementTimeControl.idl \
373
    SVGException \
373
    svg/SVGAElement.idl \
374
    SVGExternalResourcesRequired \
374
    svg/SVGAltGlyphDefElement.idl \
375
    SVGFEBlendElement \
375
    svg/SVGAltGlyphElement.idl \
376
    SVGFEColorMatrixElement \
376
    svg/SVGAltGlyphItemElement.idl \
377
    SVGFEComponentTransferElement \
377
    svg/SVGAngle.idl \
378
    SVGFECompositeElement \
378
    svg/SVGAnimateColorElement.idl \
379
    SVGFEConvolveMatrixElement \
379
    svg/SVGAnimateElement.idl \
380
    SVGFEDiffuseLightingElement \
380
    svg/SVGAnimateMotionElement.idl \
381
    SVGFEDisplacementMapElement \
381
    svg/SVGAnimateTransformElement.idl \
382
    SVGFEDistantLightElement \
382
    svg/SVGAnimatedAngle.idl \
383
    SVGFEDropShadowElement \
383
    svg/SVGAnimatedBoolean.idl \
384
    SVGFEFloodElement \
384
    svg/SVGAnimatedEnumeration.idl \
385
    SVGFEFuncAElement \
385
    svg/SVGAnimatedInteger.idl \
386
    SVGFEFuncBElement \
386
    svg/SVGAnimatedLength.idl \
387
    SVGFEFuncGElement \
387
    svg/SVGAnimatedLengthList.idl \
388
    SVGFEFuncRElement \
388
    svg/SVGAnimatedNumber.idl \
389
    SVGFEGaussianBlurElement \
389
    svg/SVGAnimatedNumberList.idl \
390
    SVGFEImageElement \
390
    svg/SVGAnimatedPreserveAspectRatio.idl \
391
    SVGFEMergeElement \
391
    svg/SVGAnimatedRect.idl \
392
    SVGFEMergeNodeElement \
392
    svg/SVGAnimatedString.idl \
393
    SVGFEMorphologyElement \
393
    svg/SVGAnimatedTransformList.idl \
394
    SVGFEOffsetElement \
394
    svg/SVGAnimationElement.idl \
395
    SVGFEPointLightElement \
395
    svg/SVGCircleElement.idl \
396
    SVGFESpecularLightingElement \
396
    svg/SVGClipPathElement.idl \
397
    SVGFESpotLightElement \
397
    svg/SVGColor.idl \
398
    SVGFETileElement \
398
    svg/SVGComponentTransferFunctionElement.idl \
399
    SVGFETurbulenceElement \
399
    svg/SVGCursorElement.idl \
400
    SVGFilterElement \
400
    svg/SVGDefsElement.idl \
401
    SVGFilterPrimitiveStandardAttributes \
401
    svg/SVGDescElement.idl \
402
    SVGFitToViewBox \
402
    svg/SVGDocument.idl \
403
    SVGFontElement \
403
    svg/SVGElement.idl \
404
    SVGFontFaceElement \
404
    svg/SVGElementInstance.idl \
405
    SVGFontFaceFormatElement \
405
    svg/SVGElementInstanceList.idl \
406
    SVGFontFaceNameElement \
406
    svg/SVGEllipseElement.idl \
407
    SVGFontFaceSrcElement \
407
    svg/SVGException.idl \
408
    SVGFontFaceUriElement \
408
    svg/SVGExternalResourcesRequired.idl \
409
    SVGForeignObjectElement \
409
    svg/SVGFEBlendElement.idl \
410
    SVGGElement \
410
    svg/SVGFEColorMatrixElement.idl \
411
    SVGGlyphElement \
411
    svg/SVGFEComponentTransferElement.idl \
412
    SVGGlyphRefElement \
412
    svg/SVGFECompositeElement.idl \
413
    SVGGradientElement \
413
    svg/SVGFEConvolveMatrixElement.idl \
414
    SVGHKernElement \
414
    svg/SVGFEDiffuseLightingElement.idl \
415
    SVGImageElement \
415
    svg/SVGFEDisplacementMapElement.idl \
416
    SVGLangSpace \
416
    svg/SVGFEDistantLightElement.idl \
417
    SVGLength \
417
    svg/SVGFEDropShadowElement.idl \
418
    SVGLengthList \
418
    svg/SVGFEFloodElement.idl \
419
    SVGLineElement \
419
    svg/SVGFEFuncAElement.idl \
420
    SVGLinearGradientElement \
420
    svg/SVGFEFuncBElement.idl \
421
    SVGLocatable \
421
    svg/SVGFEFuncGElement.idl \
422
    SVGMPathElement \
422
    svg/SVGFEFuncRElement.idl \
423
    SVGMarkerElement \
423
    svg/SVGFEGaussianBlurElement.idl \
424
    SVGMaskElement \
424
    svg/SVGFEImageElement.idl \
425
    SVGMatrix \
425
    svg/SVGFEMergeElement.idl \
426
    SVGMetadataElement \
426
    svg/SVGFEMergeNodeElement.idl \
427
    SVGMissingGlyphElement \
427
    svg/SVGFEMorphologyElement.idl \
428
    SVGNumber \
428
    svg/SVGFEOffsetElement.idl \
429
    SVGNumberList \
429
    svg/SVGFEPointLightElement.idl \
430
    SVGPaint \
430
    svg/SVGFESpecularLightingElement.idl \
431
    SVGPathElement \
431
    svg/SVGFESpotLightElement.idl \
432
    SVGPathSeg \
432
    svg/SVGFETileElement.idl \
433
    SVGPathSegArcAbs \
433
    svg/SVGFETurbulenceElement.idl \
434
    SVGPathSegArcRel \
434
    svg/SVGFilterElement.idl \
435
    SVGPathSegClosePath \
435
    svg/SVGFilterPrimitiveStandardAttributes.idl \
436
    SVGPathSegCurvetoCubicAbs \
436
    svg/SVGFitToViewBox.idl \
437
    SVGPathSegCurvetoCubicRel \
437
    svg/SVGFontElement.idl \
438
    SVGPathSegCurvetoCubicSmoothAbs \
438
    svg/SVGFontFaceElement.idl \
439
    SVGPathSegCurvetoCubicSmoothRel \
439
    svg/SVGFontFaceFormatElement.idl \
440
    SVGPathSegCurvetoQuadraticAbs \
440
    svg/SVGFontFaceNameElement.idl \
441
    SVGPathSegCurvetoQuadraticRel \
441
    svg/SVGFontFaceSrcElement.idl \
442
    SVGPathSegCurvetoQuadraticSmoothAbs \
442
    svg/SVGFontFaceUriElement.idl \
443
    SVGPathSegCurvetoQuadraticSmoothRel \
443
    svg/SVGForeignObjectElement.idl \
444
    SVGPathSegLinetoAbs \
444
    svg/SVGGElement.idl \
445
    SVGPathSegLinetoHorizontalAbs \
445
    svg/SVGGlyphElement.idl \
446
    SVGPathSegLinetoHorizontalRel \
446
    svg/SVGGlyphRefElement.idl \
447
    SVGPathSegLinetoRel \
447
    svg/SVGGradientElement.idl \
448
    SVGPathSegLinetoVerticalAbs \
448
    svg/SVGHKernElement.idl \
449
    SVGPathSegLinetoVerticalRel \
449
    svg/SVGImageElement.idl \
450
    SVGPathSegList \
450
    svg/SVGLangSpace.idl \
451
    SVGPathSegMovetoAbs \
451
    svg/SVGLength.idl \
452
    SVGPathSegMovetoRel \
452
    svg/SVGLengthList.idl \
453
    SVGPatternElement \
453
    svg/SVGLineElement.idl \
454
    SVGPoint \
454
    svg/SVGLinearGradientElement.idl \
455
    SVGPointList \
455
    svg/SVGLocatable.idl \
456
    SVGPolygonElement \
456
    svg/SVGMPathElement.idl \
457
    SVGPolylineElement \
457
    svg/SVGMarkerElement.idl \
458
    SVGPreserveAspectRatio \
458
    svg/SVGMaskElement.idl \
459
    SVGRadialGradientElement \
459
    svg/SVGMatrix.idl \
460
    SVGRect \
460
    svg/SVGMetadataElement.idl \
461
    SVGRectElement \
461
    svg/SVGMissingGlyphElement.idl \
462
    SVGRenderingIntent \
462
    svg/SVGNumber.idl \
463
    SVGSVGElement \
463
    svg/SVGNumberList.idl \
464
    SVGScriptElement \
464
    svg/SVGPaint.idl \
465
    SVGSetElement \
465
    svg/SVGPathElement.idl \
466
    SVGStopElement \
466
    svg/SVGPathSeg.idl \
467
    SVGStringList \
467
    svg/SVGPathSegArcAbs.idl \
468
    SVGStylable \
468
    svg/SVGPathSegArcRel.idl \
469
    SVGStyleElement \
469
    svg/SVGPathSegClosePath.idl \
470
    SVGSwitchElement \
470
    svg/SVGPathSegCurvetoCubicAbs.idl \
471
    SVGSymbolElement \
471
    svg/SVGPathSegCurvetoCubicRel.idl \
472
    SVGTRefElement \
472
    svg/SVGPathSegCurvetoCubicSmoothAbs.idl \
473
    SVGTSpanElement \
473
    svg/SVGPathSegCurvetoCubicSmoothRel.idl \
474
    SVGTests \
474
    svg/SVGPathSegCurvetoQuadraticAbs.idl \
475
    SVGTextContentElement \
475
    svg/SVGPathSegCurvetoQuadraticRel.idl \
476
    SVGTextElement \
476
    svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl \
477
    SVGTextPathElement \
477
    svg/SVGPathSegCurvetoQuadraticSmoothRel.idl \
478
    SVGTextPositioningElement \
478
    svg/SVGPathSegLinetoAbs.idl \
479
    SVGTitleElement \
479
    svg/SVGPathSegLinetoHorizontalAbs.idl \
480
    SVGTransform \
480
    svg/SVGPathSegLinetoHorizontalRel.idl \
481
    SVGTransformList \
481
    svg/SVGPathSegLinetoRel.idl \
482
    SVGTransformable \
482
    svg/SVGPathSegLinetoVerticalAbs.idl \
483
    SVGURIReference \
483
    svg/SVGPathSegLinetoVerticalRel.idl \
484
    SVGUnitTypes \
484
    svg/SVGPathSegList.idl \
485
    SVGUseElement \
485
    svg/SVGPathSegMovetoAbs.idl \
486
    SVGVKernElement \
486
    svg/SVGPathSegMovetoRel.idl \
487
    SVGViewElement \
487
    svg/SVGPatternElement.idl \
488
    SVGZoomAndPan \
488
    svg/SVGPoint.idl \
489
    SVGZoomEvent \
489
    svg/SVGPointList.idl \
490
    Screen \
490
    svg/SVGPolygonElement.idl \
491
    ScriptProfile \
491
    svg/SVGPolylineElement.idl \
492
    ScriptProfileNode \
492
    svg/SVGPreserveAspectRatio.idl \
493
    SharedWorker \
493
    svg/SVGRadialGradientElement.idl \
494
    SharedWorkerContext \
494
    svg/SVGRect.idl \
495
    SpeechInputEvent \
495
    svg/SVGRectElement.idl \
496
    SpeechInputResult \
496
    svg/SVGRenderingIntent.idl \
497
    SpeechInputResultList \
497
    svg/SVGSVGElement.idl \
498
    Storage \
498
    svg/SVGScriptElement.idl \
499
    StorageEvent \
499
    svg/SVGSetElement.idl \
500
    StorageInfo \
500
    svg/SVGStopElement.idl \
501
    StorageInfoErrorCallback \
501
    svg/SVGStringList.idl \
502
    StorageInfoQuotaCallback \
502
    svg/SVGStylable.idl \
503
    StorageInfoUsageCallback \
503
    svg/SVGStyleElement.idl \
504
    StringCallback \
504
    svg/SVGSwitchElement.idl \
505
    StringCallback \
505
    svg/SVGSymbolElement.idl \
506
    StyleMedia \
506
    svg/SVGTRefElement.idl \
507
    StyleSheet \
507
    svg/SVGTSpanElement.idl \
508
    StyleSheetList \
508
    svg/SVGTests.idl \
509
    Text \
509
    svg/SVGTextContentElement.idl \
510
    TextEvent \
510
    svg/SVGTextElement.idl \
511
    TextMetrics \
511
    svg/SVGTextPathElement.idl \
512
    TextTrack \
512
    svg/SVGTextPositioningElement.idl \
513
    TextTrackCue \
513
    svg/SVGTitleElement.idl \
514
    TextTrackCueList \
514
    svg/SVGTransform.idl \
515
    TextTrackList \
515
    svg/SVGTransformList.idl \
516
    TimeRanges \
516
    svg/SVGTransformable.idl \
517
    Touch \
517
    svg/SVGURIReference.idl \
518
    TouchEvent \
518
    svg/SVGUnitTypes.idl \
519
    TouchList \
519
    svg/SVGUseElement.idl \
520
    TrackEvent \
520
    svg/SVGVKernElement.idl \
521
    TreeWalker \
521
    svg/SVGViewElement.idl \
522
    UIEvent \
522
    svg/SVGZoomAndPan.idl \
523
    Uint16Array \
523
    svg/SVGZoomEvent.idl \
524
    Uint32Array \
524
    testing/Internals.idl \
525
    Uint8Array \
525
    webaudio/AudioBuffer.idl \
526
    ValidityState \
526
    webaudio/AudioBufferCallback.idl \
527
    WaveShaperNode \
527
    webaudio/AudioBufferSourceNode.idl \
528
    WebGLActiveInfo \
528
    webaudio/AudioChannelMerger.idl \
529
    WebGLBuffer \
529
    webaudio/AudioChannelSplitter.idl \
530
    WebGLCompressedTextures \
530
    webaudio/AudioContext.idl \
531
    WebGLContextAttributes \
531
    webaudio/AudioDestinationNode.idl \
532
    WebGLContextEvent \
532
    webaudio/AudioGain.idl \
533
    WebGLFramebuffer \
533
    webaudio/AudioGainNode.idl \
534
    WebGLLoseContext \
534
    webaudio/AudioListener.idl \
535
    WebGLProgram \
535
    webaudio/AudioNode.idl \
536
    WebGLRenderbuffer \
536
    webaudio/AudioPannerNode.idl \
537
    WebGLRenderingContext \
537
    webaudio/AudioParam.idl \
538
    WebGLShader \
538
    webaudio/AudioProcessingEvent.idl \
539
    WebGLTexture \
539
    webaudio/AudioSourceNode.idl \
540
    WebGLUniformLocation \
540
    webaudio/BiquadFilterNode.idl \
541
    WebGLVertexArrayObjectOES \
541
    webaudio/ConvolverNode.idl \
542
    WebKitAnimation \
542
    webaudio/DOMWindowWebAudio.idl \
543
    WebKitAnimationEvent \
543
    webaudio/DelayNode.idl \
544
    WebKitAnimationList \
544
    webaudio/DynamicsCompressorNode.idl \
545
    WebKitBlobBuilder \
545
    webaudio/HighPass2FilterNode.idl \
546
    WebKitCSSFilterValue \
546
    webaudio/JavaScriptAudioNode.idl \
547
    WebKitCSSKeyframeRule \
547
    webaudio/LowPass2FilterNode.idl \
548
    WebKitCSSKeyframesRule \
548
    webaudio/MediaElementAudioSourceNode.idl \
549
    WebKitCSSMatrix \
549
    webaudio/OfflineAudioCompletionEvent.idl \
550
    WebKitCSSTransformValue \
550
    webaudio/RealtimeAnalyserNode.idl \
551
    WebKitFlags \
551
    webaudio/WaveShaperNode.idl \
552
    WebKitMutationObserver \
552
    websockets/CloseEvent.idl \
553
	WebKitNamedFlow \
553
    websockets/DOMWindowWebSocket.idl \
554
    WebKitPoint \
554
    websockets/WebSocket.idl \
555
    WebKitTransitionEvent \
555
    workers/AbstractWorker.idl \
556
    WebSocket \
556
    workers/DedicatedWorkerContext.idl \
557
    WheelEvent \
557
    workers/SharedWorker.idl \
558
    Worker \
558
    workers/SharedWorkerContext.idl \
559
    WorkerContext \
559
    workers/Worker.idl \
560
    WorkerLocation \
560
    workers/WorkerContext.idl \
561
    WorkerNavigator \
561
    workers/WorkerLocation.idl \
562
    XMLHttpRequest \
562
    xml/DOMParser.idl \
563
    XMLHttpRequestException \
563
    xml/XMLHttpRequest.idl \
564
    XMLHttpRequestProgressEvent \
564
    xml/XMLHttpRequestException.idl \
565
    XMLHttpRequestUpload \
565
    xml/XMLHttpRequestProgressEvent.idl \
566
    XMLSerializer \
566
    xml/XMLHttpRequestUpload.idl \
567
    XPathEvaluator \
567
    xml/XMLSerializer.idl \
568
    XPathException \
568
    xml/XPathEvaluator.idl \
569
    XPathExpression \
569
    xml/XPathException.idl \
570
    XPathNSResolver \
570
    xml/XPathExpression.idl \
571
    XPathResult \
571
    xml/XPathNSResolver.idl \
572
    XSLTProcessor \
572
    xml/XPathResult.idl \
573
    xml/XSLTProcessor.idl \
573
#
574
#
574
575
575
.PHONY : all
576
.PHONY : all
576
577
577
JS_DOM_HEADERS=$(filter-out JSMediaQueryListListener.h JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h))
578
DOM_CLASSES=$(basename $(notdir $(IDL_BINDINGS)))
579
JS_DOM_HEADERS=$(filter-out JSMediaQueryListListener.h JSEventListener.h JSEventTarget.h, $(DOM_CLASSES:%=JS%.h))
578
580
579
WEB_DOM_HEADERS :=
581
WEB_DOM_HEADERS :=
580
ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX)
582
ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX)
Lines 883-890 GENERATE_SCRIPTS = \ a/Source/WebCore/DerivedSources.make_sec2
883
    bindings/scripts/generate-bindings.pl \
885
    bindings/scripts/generate-bindings.pl \
884
    bindings/scripts/preprocessor.pm
886
    bindings/scripts/preprocessor.pm
885
887
888
RESOLVE_SUPPLEMENTAL_SCRIPTS = \
889
    bindings/scripts/IDLParser.pm \
890
    bindings/scripts/resolve-supplemental.pl
891
886
generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl
892
generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl
887
893
894
resolve_supplemental_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/resolve-supplemental.pl
895
888
# JS bindings generator
896
# JS bindings generator
889
897
890
IDL_INCLUDES = \
898
IDL_INCLUDES = \
Lines 901-908 IDL_COMMON_ARGS = $(IDL_INCLUDES:%=--include %) --write-dependencies --outputDir a/Source/WebCore/DerivedSources.make_sec3
901
909
902
JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
910
JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
903
911
904
JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)
912
SUPPLEMENTAL_DEPENDENCY_FILE = ./supplemental_dependency.tmp
905
	$(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $<
913
IDL_FILES_LIST = $(addprefix $(WebCore)/, $(IDL_BINDINGS) inspector/JavaScriptCallFrame.idl)
914
ALL_IDLS_TEMPFILE = ./all_idls.tmp
915
916
COMMAND_FOR_GENERATING_ALL_IDLS_TEMPFILE = $(foreach file, $(IDL_FILES_LIST), echo $(file) >> $(ALL_IDLS_TEMPFILE);)
917
918
$(SUPPLEMENTAL_DEPENDENCY_FILE) : $(RESOLVE_SUPPLEMENTAL_SCRIPTS) $(IDL_FILES_LIST)
919
	# The following commands are equivalent to "echo $(IDL_FILES_LIST) > $(ALL_IDLS_TEMPFILE)",
920
	# but realize it in a way that does not exceed the OS limit of command-line argument count and bytes.
921
	echo -n > $(ALL_IDLS_TEMPFILE)
922
	echo dumping a list of all IDL files into $(ALL_IDLS_TEMPFILE)
923
	$(COMMAND_FOR_GENERATING_ALL_IDLS_TEMPFILE)
924
	$(call resolve_supplemental_script, $(RESOLVE_SUPPLEMENTAL_SCRIPTS)) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --idlFilesList $(ALL_IDLS_TEMPFILE) --supplementalDependencyFile $@
925
	rm -f $(ALL_IDLS_TEMPFILE)
926
927
JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(SUPPLEMENTAL_DEPENDENCY_FILE)
928
	$(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) $<
929
906
930
907
# Inspector interfaces generator
931
# Inspector interfaces generator
908
932
- a/Source/WebCore/GNUmakefile.list.am +2 lines
Lines 753-758 webcore_sources += \ a/Source/WebCore/GNUmakefile.list.am_sec1
753
	Source/WebCore/bindings/js/JSDOMWindowCustom.h \
753
	Source/WebCore/bindings/js/JSDOMWindowCustom.h \
754
	Source/WebCore/bindings/js/JSDOMWindowShell.cpp \
754
	Source/WebCore/bindings/js/JSDOMWindowShell.cpp \
755
	Source/WebCore/bindings/js/JSDOMWindowShell.h \
755
	Source/WebCore/bindings/js/JSDOMWindowShell.h \
756
	Source/WebCore/bindings/js/JSDOMWindowWebAudioCustom.cpp \
757
	Source/WebCore/bindings/js/JSDOMWindowWebSocketCustom.cpp \
756
	Source/WebCore/bindings/js/JSDOMWrapper.cpp \
758
	Source/WebCore/bindings/js/JSDOMWrapper.cpp \
757
	Source/WebCore/bindings/js/JSDOMWrapper.h \
759
	Source/WebCore/bindings/js/JSDOMWrapper.h \
758
	Source/WebCore/bindings/js/JSDataViewCustom.cpp \
760
	Source/WebCore/bindings/js/JSDataViewCustom.cpp \
- a/Source/WebCore/Target.pri +2 lines
Lines 168-173 v8 { a/Source/WebCore/Target.pri_sec1
168
        bindings/v8/custom/V8CustomVoidCallback.cpp \
168
        bindings/v8/custom/V8CustomVoidCallback.cpp \
169
        bindings/v8/custom/V8DOMFormDataCustom.cpp \
169
        bindings/v8/custom/V8DOMFormDataCustom.cpp \
170
        bindings/v8/custom/V8DOMWindowCustom.cpp \
170
        bindings/v8/custom/V8DOMWindowCustom.cpp \
171
        bindings/v8/custom/V8DOMWindowWebAudioCustom.cpp \
172
        bindings/v8/custom/V8DOMWindowWebSocketCustom.cpp \
171
        bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp \
173
        bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp \
172
        bindings/v8/custom/V8DocumentCustom.cpp \
174
        bindings/v8/custom/V8DocumentCustom.cpp \
173
        bindings/v8/custom/V8DocumentLocationCustom.cpp \
175
        bindings/v8/custom/V8DocumentLocationCustom.cpp \
- a/Source/WebCore/UseJSC.cmake +2 lines
Lines 46-51 LIST(APPEND WebCore_SOURCES a/Source/WebCore/UseJSC.cmake_sec1
46
    bindings/js/JSDOMWindowBase.cpp
46
    bindings/js/JSDOMWindowBase.cpp
47
    bindings/js/JSDOMWindowCustom.cpp
47
    bindings/js/JSDOMWindowCustom.cpp
48
    bindings/js/JSDOMWindowShell.cpp
48
    bindings/js/JSDOMWindowShell.cpp
49
    bindings/js/JSDOMWindowWebAudioCustom.cpp
50
    bindings/js/JSDOMWindowWebSocketCustom.cpp
49
    bindings/js/JSDOMWrapper.cpp
51
    bindings/js/JSDOMWrapper.cpp
50
    bindings/js/JSDeviceMotionEventCustom.cpp
52
    bindings/js/JSDeviceMotionEventCustom.cpp
51
    bindings/js/JSDeviceOrientationEventCustom.cpp
53
    bindings/js/JSDeviceOrientationEventCustom.cpp
- a/Source/WebCore/WebCore.gypi +2 lines
Lines 1856-1861 a/Source/WebCore/WebCore.gypi_sec1
1856
            'bindings/js/JSDOMWindowCustom.cpp',
1856
            'bindings/js/JSDOMWindowCustom.cpp',
1857
            'bindings/js/JSDOMWindowCustom.h',
1857
            'bindings/js/JSDOMWindowCustom.h',
1858
            'bindings/js/JSDOMWindowShell.cpp',
1858
            'bindings/js/JSDOMWindowShell.cpp',
1859
            'bindings/js/JSDOMWindowWebAudioCustom.cpp',
1860
            'bindings/js/JSDOMWindowWebSocketCustom.cpp',
1859
            'bindings/js/JSDOMWrapper.cpp',
1861
            'bindings/js/JSDOMWrapper.cpp',
1860
            'bindings/js/JSDataViewCustom.cpp',
1862
            'bindings/js/JSDataViewCustom.cpp',
1861
            'bindings/js/JSDedicatedWorkerContextCustom.cpp',
1863
            'bindings/js/JSDedicatedWorkerContextCustom.cpp',
- a/Source/WebCore/WebCore.vcproj/WebCore.vcproj +104 lines
Lines 63309-63314 a/Source/WebCore/WebCore.vcproj/WebCore.vcproj_sec1
63309
					>
63309
					>
63310
				</File>
63310
				</File>
63311
				<File
63311
				<File
63312
					RelativePath="..\bindings\js\JSDOMWindowWebAudioCustom.cpp"
63313
					>
63314
					<FileConfiguration
63315
						Name="Debug|Win32"
63316
						ExcludedFromBuild="true"
63317
						>
63318
						<Tool
63319
							Name="VCCLCompilerTool"
63320
						/>
63321
					</FileConfiguration>
63322
					<FileConfiguration
63323
						Name="Release|Win32"
63324
						ExcludedFromBuild="true"
63325
						>
63326
						<Tool
63327
							Name="VCCLCompilerTool"
63328
						/>
63329
					</FileConfiguration>
63330
					<FileConfiguration
63331
						Name="Debug_Cairo_CFLite|Win32"
63332
						ExcludedFromBuild="true"
63333
						>
63334
						<Tool
63335
							Name="VCCLCompilerTool"
63336
						/>
63337
					</FileConfiguration>
63338
					<FileConfiguration
63339
						Name="Release_Cairo_CFLite|Win32"
63340
						ExcludedFromBuild="true"
63341
						>
63342
						<Tool
63343
							Name="VCCLCompilerTool"
63344
						/>
63345
					</FileConfiguration>
63346
					<FileConfiguration
63347
						Name="Debug_All|Win32"
63348
						ExcludedFromBuild="true"
63349
						>
63350
						<Tool
63351
							Name="VCCLCompilerTool"
63352
						/>
63353
					</FileConfiguration>
63354
					<FileConfiguration
63355
						Name="Production|Win32"
63356
						ExcludedFromBuild="true"
63357
						>
63358
						<Tool
63359
							Name="VCCLCompilerTool"
63360
						/>
63361
					</FileConfiguration>
63362
				</File>
63363
				<File
63364
					RelativePath="..\bindings\js\JSDOMWindowWebSocketCustom.cpp"
63365
					>
63366
					<FileConfiguration
63367
						Name="Debug|Win32"
63368
						ExcludedFromBuild="true"
63369
						>
63370
						<Tool
63371
							Name="VCCLCompilerTool"
63372
						/>
63373
					</FileConfiguration>
63374
					<FileConfiguration
63375
						Name="Release|Win32"
63376
						ExcludedFromBuild="true"
63377
						>
63378
						<Tool
63379
							Name="VCCLCompilerTool"
63380
						/>
63381
					</FileConfiguration>
63382
					<FileConfiguration
63383
						Name="Debug_Cairo_CFLite|Win32"
63384
						ExcludedFromBuild="true"
63385
						>
63386
						<Tool
63387
							Name="VCCLCompilerTool"
63388
						/>
63389
					</FileConfiguration>
63390
					<FileConfiguration
63391
						Name="Release_Cairo_CFLite|Win32"
63392
						ExcludedFromBuild="true"
63393
						>
63394
						<Tool
63395
							Name="VCCLCompilerTool"
63396
						/>
63397
					</FileConfiguration>
63398
					<FileConfiguration
63399
						Name="Debug_All|Win32"
63400
						ExcludedFromBuild="true"
63401
						>
63402
						<Tool
63403
							Name="VCCLCompilerTool"
63404
						/>
63405
					</FileConfiguration>
63406
					<FileConfiguration
63407
						Name="Production|Win32"
63408
						ExcludedFromBuild="true"
63409
						>
63410
						<Tool
63411
							Name="VCCLCompilerTool"
63412
						/>
63413
					</FileConfiguration>
63414
				</File>
63415
				<File
63312
					RelativePath="..\bindings\js\JSDOMWrapper.cpp"
63416
					RelativePath="..\bindings\js\JSDOMWrapper.cpp"
63313
					>
63417
					>
63314
					<FileConfiguration
63418
					<FileConfiguration
- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +8 lines
Lines 3536-3541 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
3536
		A7F5D94F1384F02D00A29A87 /* NodeRenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */; };
3536
		A7F5D94F1384F02D00A29A87 /* NodeRenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */; };
3537
		A7F5D9501384F02D00A29A87 /* NodeRenderingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */; };
3537
		A7F5D9501384F02D00A29A87 /* NodeRenderingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */; };
3538
		A80A38FE0E50CC8200A25EBC /* PatternCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80A38FD0E50CC8200A25EBC /* PatternCG.cpp */; };
3538
		A80A38FE0E50CC8200A25EBC /* PatternCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80A38FD0E50CC8200A25EBC /* PatternCG.cpp */; };
3539
		A80A92CF149B1F2900989291 /* JSDOMWindowWebAudioCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80A92CE149B1F2900989291 /* JSDOMWindowWebAudioCustom.cpp */; };
3540
		A80A92D1149B1F3F00989291 /* JSDOMWindowWebSocketCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80A92D0149B1F3F00989291 /* JSDOMWindowWebSocketCustom.cpp */; };
3539
		A80D67080E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h in Headers */ = {isa = PBXBuildFile; fileRef = A80D67070E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h */; };
3541
		A80D67080E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h in Headers */ = {isa = PBXBuildFile; fileRef = A80D67070E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h */; };
3540
		A80E6CE40A1989CA007FB8C5 /* CSSValueList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E6CBA0A1989CA007FB8C5 /* CSSValueList.cpp */; };
3542
		A80E6CE40A1989CA007FB8C5 /* CSSValueList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E6CBA0A1989CA007FB8C5 /* CSSValueList.cpp */; };
3541
		A80E6CE50A1989CA007FB8C5 /* CSSBorderImageValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E6CBB0A1989CA007FB8C5 /* CSSBorderImageValue.cpp */; };
3543
		A80E6CE50A1989CA007FB8C5 /* CSSBorderImageValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E6CBB0A1989CA007FB8C5 /* CSSBorderImageValue.cpp */; };
Lines 10786-10791 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
10786
		A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeRenderingContext.cpp; sourceTree = "<group>"; };
10788
		A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeRenderingContext.cpp; sourceTree = "<group>"; };
10787
		A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeRenderingContext.h; sourceTree = "<group>"; };
10789
		A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeRenderingContext.h; sourceTree = "<group>"; };
10788
		A80A38FD0E50CC8200A25EBC /* PatternCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PatternCG.cpp; sourceTree = "<group>"; };
10790
		A80A38FD0E50CC8200A25EBC /* PatternCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PatternCG.cpp; sourceTree = "<group>"; };
10791
		A80A92CE149B1F2900989291 /* JSDOMWindowWebAudioCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMWindowWebAudioCustom.cpp; sourceTree = "<group>"; };
10792
		A80A92D0149B1F3F00989291 /* JSDOMWindowWebSocketCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMWindowWebSocketCustom.cpp; sourceTree = "<group>"; };
10789
		A80D67070E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GraphicsContextPlatformPrivateCG.h; sourceTree = "<group>"; };
10793
		A80D67070E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GraphicsContextPlatformPrivateCG.h; sourceTree = "<group>"; };
10790
		A80E6CBA0A1989CA007FB8C5 /* CSSValueList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CSSValueList.cpp; sourceTree = "<group>"; };
10794
		A80E6CBA0A1989CA007FB8C5 /* CSSValueList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CSSValueList.cpp; sourceTree = "<group>"; };
10791
		A80E6CBB0A1989CA007FB8C5 /* CSSBorderImageValue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CSSBorderImageValue.cpp; sourceTree = "<group>"; };
10795
		A80E6CBB0A1989CA007FB8C5 /* CSSBorderImageValue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CSSBorderImageValue.cpp; sourceTree = "<group>"; };
Lines 19757-19762 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
19757
		BC4EDEF70C08F414007EDD49 /* Custom */ = {
19761
		BC4EDEF70C08F414007EDD49 /* Custom */ = {
19758
			isa = PBXGroup;
19762
			isa = PBXGroup;
19759
			children = (
19763
			children = (
19764
				A80A92D0149B1F3F00989291 /* JSDOMWindowWebSocketCustom.cpp */,
19765
				A80A92CE149B1F2900989291 /* JSDOMWindowWebAudioCustom.cpp */,
19760
				07E38A0B148FCF0C006E1ECC /* JSTextTrackCustom.h */,
19766
				07E38A0B148FCF0C006E1ECC /* JSTextTrackCustom.h */,
19761
				BC275CB211C5E85C00C9206C /* JSArrayBufferCustom.cpp */,
19767
				BC275CB211C5E85C00C9206C /* JSArrayBufferCustom.cpp */,
19762
				86243D0011BC31F700CC006A /* JSArrayBufferViewHelper.h */,
19768
				86243D0011BC31F700CC006A /* JSArrayBufferViewHelper.h */,
Lines 27776-27781 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
27776
				49ECEB6D1499790D00CDD3A4 /* FilterOperation.cpp in Sources */,
27782
				49ECEB6D1499790D00CDD3A4 /* FilterOperation.cpp in Sources */,
27777
				49ECEB6F1499790D00CDD3A4 /* FilterOperations.cpp in Sources */,
27783
				49ECEB6F1499790D00CDD3A4 /* FilterOperations.cpp in Sources */,
27778
				1A2F9D7914968C740065AC63 /* ScrollingCoordinator.cpp in Sources */,
27784
				1A2F9D7914968C740065AC63 /* ScrollingCoordinator.cpp in Sources */,
27785
				A80A92CF149B1F2900989291 /* JSDOMWindowWebAudioCustom.cpp in Sources */,
27786
				A80A92D1149B1F3F00989291 /* JSDOMWindowWebSocketCustom.cpp in Sources */,
27779
			);
27787
			);
27780
			runOnlyForDeploymentPostprocessing = 0;
27788
			runOnlyForDeploymentPostprocessing = 0;
27781
		};
27789
		};
- a/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp +2 lines
Lines 63-68 a/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp_sec1
63
#include "JSDOMWindowBase.cpp"
63
#include "JSDOMWindowBase.cpp"
64
#include "JSDOMWindowCustom.cpp"
64
#include "JSDOMWindowCustom.cpp"
65
#include "JSDOMWindowShell.cpp"
65
#include "JSDOMWindowShell.cpp"
66
#include "JSDOMWindowWebAudioCustom.cpp"
67
#include "JSDOMWindowWebSocketCustom.cpp"
66
#include "JSDOMWrapper.cpp"
68
#include "JSDOMWrapper.cpp"
67
#include "JSDataViewCustom.cpp"
69
#include "JSDataViewCustom.cpp"
68
#include "JSDedicatedWorkerContextCustom.cpp"
70
#include "JSDedicatedWorkerContextCustom.cpp"
- a/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp -37 lines
Lines 65-78 a/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp_sec1
65
#include "JSSharedWorker.h"
65
#include "JSSharedWorker.h"
66
#endif
66
#endif
67
67
68
#if ENABLE(WEB_AUDIO)
69
#include "JSAudioContext.h"
70
#endif
71
72
#if ENABLE(WEB_SOCKETS)
73
#include "JSWebSocket.h"
74
#endif
75
76
using namespace JSC;
68
using namespace JSC;
77
69
78
namespace WebCore {
70
namespace WebCore {
Lines 595-629 JSValue JSDOMWindow::sharedWorker(ExecState* exec) const a/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp_sec2
595
}
587
}
596
#endif
588
#endif
597
589
598
#if ENABLE(WEB_AUDIO) || ENABLE(WEB_SOCKETS)
599
static Settings* settingsForWindow(const JSDOMWindow* window)
600
{
601
    ASSERT(window);
602
    if (Frame* frame = window->impl()->frame())
603
        return frame->settings();
604
    return 0;
605
}
606
#endif
607
608
#if ENABLE(WEB_AUDIO)
609
JSValue JSDOMWindow::webkitAudioContext(ExecState* exec) const
610
{
611
    Settings* settings = settingsForWindow(this);
612
    if (settings && settings->webAudioEnabled())
613
        return getDOMConstructor<JSAudioContextConstructor>(exec, this);
614
    return jsUndefined();
615
}
616
#endif
617
618
#if ENABLE(WEB_SOCKETS)
619
JSValue JSDOMWindow::webSocket(ExecState* exec) const
620
{
621
    if (!settingsForWindow(this))
622
        return jsUndefined();
623
    return getDOMConstructor<JSWebSocketConstructor>(exec, this);
624
}
625
#endif
626
627
// Custom functions
590
// Custom functions
628
591
629
JSValue JSDOMWindow::open(ExecState* exec)
592
JSValue JSDOMWindow::open(ExecState* exec)
- a/Source/WebCore/bindings/js/JSDOMWindowWebAudioCustom.cpp +50 lines
Line 0 a/Source/WebCore/bindings/js/JSDOMWindowWebAudioCustom.cpp_sec1
1
/*
2
 * Copyright (C) 2011 Google Inc. All rights reserved.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
#include "config.h"
21
#include "JSDOMWindowCustom.h"
22
23
#if ENABLE(WEB_AUDIO)
24
#include "Frame.h"
25
#include "JSAudioContext.h"
26
#include "Settings.h"
27
28
using namespace JSC;
29
30
namespace WebCore {
31
32
static Settings* settingsForWindowWebAudio(const JSDOMWindow* window)
33
{
34
    ASSERT(window);
35
    if (Frame* frame = window->impl()->frame())
36
        return frame->settings();
37
    return 0;
38
}
39
40
JSValue JSDOMWindow::webkitAudioContext(DOMWindow*, ExecState* exec) const
41
{
42
    Settings* settings = settingsForWindowWebAudio(this);
43
    if (settings && settings->webAudioEnabled())
44
        return getDOMConstructor<JSAudioContextConstructor>(exec, this);
45
    return jsUndefined();
46
}
47
48
} // namespace WebCore
49
50
#endif
- a/Source/WebCore/bindings/js/JSDOMWindowWebSocketCustom.cpp +49 lines
Line 0 a/Source/WebCore/bindings/js/JSDOMWindowWebSocketCustom.cpp_sec1
1
/*
2
 * Copyright (C) 2011 Google Inc. All rights reserved.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
#include "config.h"
21
#include "JSDOMWindowCustom.h"
22
23
#if ENABLE(WEB_SOCKETS)
24
#include "Frame.h"
25
#include "JSWebSocket.h"
26
#include "Settings.h"
27
28
using namespace JSC;
29
30
namespace WebCore {
31
32
static Settings* settingsForWindowWebSocket(const JSDOMWindow* window)
33
{
34
    ASSERT(window);
35
    if (Frame* frame = window->impl()->frame())
36
        return frame->settings();
37
    return 0;
38
}
39
40
JSValue JSDOMWindow::webSocket(DOMWindow*, ExecState* exec) const
41
{
42
    if (!settingsForWindowWebSocket(this))
43
        return jsUndefined();
44
    return getDOMConstructor<JSWebSocketConstructor>(exec, this);
45
}
46
47
} // namespace WebCore
48
49
#endif
- a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm -12 / +19 lines
Lines 876-883 sub GenerateHeader a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec1
876
        foreach (@{$dataNode->attributes}) {
876
        foreach (@{$dataNode->attributes}) {
877
            my $attribute = $_;
877
            my $attribute = $_;
878
            $numCustomAttributes++ if $attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"};
878
            $numCustomAttributes++ if $attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"};
879
            $numCustomAttributes++ if ($attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"}) && !$attribute->signature->extendedAttributes->{"ImplementedBy"};
879
            $numCustomAttributes++ if ($attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"});
880
            $numCustomAttributes++ if ($attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"}) && !$attribute->signature->extendedAttributes->{"ImplementedBy"};
880
            $numCustomAttributes++ if ($attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"});
881
            if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) {
881
            if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) {
882
                push(@headerContent, "    JSC::WriteBarrier<JSC::Unknown> m_" . $attribute->signature->name . ";\n");
882
                push(@headerContent, "    JSC::WriteBarrier<JSC::Unknown> m_" . $attribute->signature->name . ";\n");
883
                $numCachedAttributes++;
883
                $numCachedAttributes++;
Lines 901-911 sub GenerateHeader a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec2
901
                if ($attribute->type !~ /^readonly/) {
901
                if ($attribute->type !~ /^readonly/) {
902
                    push(@headerContent, "    void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(JSC::ExecState*, JSC::JSValue);\n");
902
                    push(@headerContent, "    void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(JSC::ExecState*, JSC::JSValue);\n");
903
                }
903
                }
904
            } elsif (($attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"}) && !$attribute->signature->extendedAttributes->{"ImplementedBy"}) {
904
            } elsif (($attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"})) {
905
                push(@headerContent, "    JSC::JSValue " . $codeGenerator->WK_lcfirst($attribute->signature->name) . "(JSC::ExecState*) const;\n");
905
                if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
906
            } elsif (($attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"}) && !$attribute->signature->extendedAttributes->{"ImplementedBy"}) {
906
                    push(@headerContent, "    JSC::JSValue " . $codeGenerator->WK_lcfirst($attribute->signature->name) . "(" . $interfaceName . "*, JSC::ExecState*) const;\n");
907
                } else {
908
                    push(@headerContent, "    JSC::JSValue " . $codeGenerator->WK_lcfirst($attribute->signature->name) . "(JSC::ExecState*) const;\n");
909
                }
910
            } elsif (($attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"})) {
907
                if ($attribute->type !~ /^readonly/) {
911
                if ($attribute->type !~ /^readonly/) {
908
                    push(@headerContent, "    void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(JSC::ExecState*, JSC::JSValue);\n");
912
                    if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
913
                        push(@headerContent, "    void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(" . $interfaceName . "*, JSC::ExecState*, JSC::JSValue);\n");
914
                    } else {
915
                        push(@headerContent, "    void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(JSC::ExecState*, JSC::JSValue);\n");
916
                    }
909
                }
917
                }
910
            }
918
            }
911
        }
919
        }
Lines 1713-1721 sub GenerateImplementation a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec3
1713
1721
1714
                if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"} || $attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"}) {
1722
                if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"} || $attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"}) {
1715
                    if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
1723
                    if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
1716
                        my $implementedBy = $attribute->signature->extendedAttributes->{"ImplementedBy"};
1724
                        push(@implContent, "    ${interfaceName}* imp = static_cast<${interfaceName}*>(castedThis->impl());\n");
1717
                        $implIncludes{"JS${implementedBy}.h"} = 1;
1725
                        push(@implContent, "    return castedThis->$implGetterFunctionName(imp, exec);\n");
1718
                        push(@implContent, "    return JS${implementedBy}::$implGetterFunctionName(castedThis, exec);\n");
1719
                    } else {
1726
                    } else {
1720
                        push(@implContent, "    return castedThis->$implGetterFunctionName(exec);\n");
1727
                        push(@implContent, "    return castedThis->$implGetterFunctionName(exec);\n");
1721
                    }
1728
                    }
Lines 1902-1910 sub GenerateImplementation a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm_sec4
1902
1909
1903
                        if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"} || $attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"}) {
1910
                        if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"} || $attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCCustomSetter"}) {
1904
                            if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
1911
                            if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
1905
                                my $implementedBy = $attribute->signature->extendedAttributes->{"ImplementedBy"};
1912
                                push(@implContent, "    ${className}* castedThis = static_cast<${className}*>(thisObject);\n");
1906
                                $implIncludes{"JS${implementedBy}.h"} = 1;
1913
                                push(@implContent, "    ${interfaceName}* imp = static_cast<${interfaceName}*>(castedThis->impl());\n");
1907
                                push(@implContent, "    JS${implementedBy}::set$implSetterFunctionName(static_cast<$className*>(thisObject), exec, value);\n");
1914
                                push(@implContent, "    castedThis->set$implSetterFunctionName(imp, exec, value);\n");
1908
                            } else {
1915
                            } else {
1909
                                push(@implContent, "    static_cast<$className*>(thisObject)->set$implSetterFunctionName(exec, value);\n");
1916
                                push(@implContent, "    static_cast<$className*>(thisObject)->set$implSetterFunctionName(exec, value);\n");
1910
                            }
1917
                            }
- a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp -3 / +5 lines
Lines 26-32 a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec1
26
26
27
#include "ExceptionCode.h"
27
#include "ExceptionCode.h"
28
#include "JSDOMBinding.h"
28
#include "JSDOMBinding.h"
29
#include "JSTestSupplemental.h"
30
#include "TestInterface.h"
29
#include "TestInterface.h"
31
#include "TestSupplemental.h"
30
#include "TestSupplemental.h"
32
#include <runtime/Error.h>
31
#include <runtime/Error.h>
Lines 198-204 JSValue jsTestInterfaceStr2(ExecState* exec, JSValue slotBase, const Identifier& a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec2
198
JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
197
JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
199
{
198
{
200
    JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
199
    JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
201
    return JSTestSupplemental::str3(castedThis, exec);
200
    TestInterface* imp = static_cast<TestInterface*>(castedThis->impl());
201
    return castedThis->str3(imp, exec);
202
}
202
}
203
203
204
#endif
204
#endif
Lines 229-235 void setJSTestInterfaceStr2(ExecState* exec, JSObject* thisObject, JSValue value a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec3
229
#if ENABLE(Condition11) || ENABLE(Condition12)
229
#if ENABLE(Condition11) || ENABLE(Condition12)
230
void setJSTestInterfaceStr3(ExecState* exec, JSObject* thisObject, JSValue value)
230
void setJSTestInterfaceStr3(ExecState* exec, JSObject* thisObject, JSValue value)
231
{
231
{
232
    JSTestSupplemental::setStr3(static_cast<JSTestInterface*>(thisObject), exec, value);
232
    JSTestInterface* castedThis = static_cast<JSTestInterface*>(thisObject);
233
    TestInterface* imp = static_cast<TestInterface*>(castedThis->impl());
234
    castedThis->setStr3(imp, exec, value);
233
}
235
}
234
236
235
#endif
237
#endif
- a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h +3 lines
Lines 53-58 public: a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h_sec1
53
    }
53
    }
54
54
55
    static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
55
    static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
56
57
    // Custom attributes
58
    JSC::JSValue str3(TestInterface*, JSC::ExecState*) const;
56
    TestInterface* impl() const { return m_impl; }
59
    TestInterface* impl() const { return m_impl; }
57
    void releaseImpl() { m_impl->deref(); m_impl = 0; }
60
    void releaseImpl() { m_impl->deref(); m_impl = 0; }
58
61

Return to Bug 74599