ChangeLog 995 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
2008-11-04  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Mark Rowe.

        Delete unused forwarding headers.

        * ForwardingHeaders/kjs/Activation.h: Removed.
        * ForwardingHeaders/kjs/Register.h: Removed.
        * ForwardingHeaders/kjs/RegisterID.h: Removed.

11
12
13
14
15
16
17
18
19
20
2008-11-04  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Fix stupid typo in previous build fix.

        * bindings/js/JSStorageCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:

21
22
23
24
25
26
27
28
29
30
31
32
2008-11-03  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Fix the build for all non-Mac platforms.

        * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
        * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
        * bindings/js/JSStorageCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:

33
34
35
36
37
38
39
40
2008-11-03  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Fix the wxWindows build.

        * bridge/c/c_instance.cpp:

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
2008-11-03  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Maciej Stachowiak.

        Move more files into the runtime subdirectory of JavaScriptCore.

        * ForwardingHeaders/kjs/ArgList.h: Removed.
        * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
        * ForwardingHeaders/kjs/ExecState.h: Removed.
        * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
        * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
        * ForwardingHeaders/kjs/JSLock.h: Removed.
        * ForwardingHeaders/kjs/SymbolTable.h: Removed.
        * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
        * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
        * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
        * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
        * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
        * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
        * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
        * bindings/js/GCController.cpp:
        * bindings/js/JSCustomPositionCallback.cpp:
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        * bindings/js/JSCustomVoidCallback.cpp:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSEventCustom.cpp:
        * bindings/js/JSEventListener.cpp:
        * bindings/js/JSNodeFilterCondition.cpp:
        * bindings/js/ScheduledAction.cpp:
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptControllerMac.mm:
        * bindings/objc/WebScriptObject.mm:
        * bridge/NP_jsobject.cpp:
        * bridge/c/c_class.cpp:
        * bridge/c/c_instance.cpp:
        * bridge/c/c_runtime.cpp:
        * bridge/c/c_utility.cpp:
        * bridge/jni/jni_class.cpp:
        * bridge/jni/jni_instance.cpp:
        * bridge/jni/jni_jsobject.mm:
        * bridge/jni/jni_objc.mm:
        * bridge/jni/jni_runtime.cpp:
        * bridge/jni/jni_runtime.h:
        * bridge/jni/jni_utility.cpp:
        * bridge/npruntime.cpp:
        * bridge/objc/objc_instance.mm:
        * bridge/objc/objc_runtime.mm:
        * bridge/objc/objc_utility.mm:
        * bridge/runtime.cpp:
        * dom/Document.cpp:
        * dom/Node.cpp:
        * dom/NodeFilter.cpp:
        * dom/NodeIterator.cpp:
        * dom/TreeWalker.cpp:
        * history/CachedPage.cpp:
        * inspector/InspectorController.cpp:
        * inspector/JavaScriptCallFrame.cpp:
        * inspector/JavaScriptCallFrame.h:
        * inspector/JavaScriptDebugServer.cpp:
        * inspector/JavaScriptProfileNode.cpp:
        * loader/FrameLoader.cpp:
        * loader/icon/IconDatabase.cpp:
        * page/Console.cpp:
        * page/Page.cpp:
        * page/mac/FrameMac.mm:
        * plugins/PluginView.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:
        * storage/Database.cpp:
        * xml/XMLHttpRequest.cpp:

118
119
120
121
122
123
124
125
126
2008-11-03  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Sam Weinig.

        Remove the forwarding header for FunctionCallProfile, because it was
        renamed to ProfileNode in r33466.

        * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.

127
128
129
130
131
132
133
134
135
136
137
138
139
140
2008-11-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=22026

        When computing the bounds of the transparency layer, we need to
        map the clipRect through the enclosing transform.
        
        Test: fast/layers/opacity-transforms.html

        * rendering/RenderLayer.cpp:
        (WebCore::transparencyClipBox):

141
142
143
144
145
146
147
148
149
150
2008-11-03  Kevin Decker  <kdecker@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=22053

        Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 

        * bridge/npapi.h:

151
152
153
154
155
156
157
158
159
160
161
2008-11-03  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp Toker.

        Update parseDataUrl() function in the libsoup http backend with
        the one from the curl backend which has recent correctness and crash
        fixes.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::parseDataUrl):

162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=22041
        Fix CURL crashes on the test suite

        Fix segfault with setDefersLoading(). Do not call into curl when we
        don't have a CURL handle.

        It is attempted to defer the loading before the load has been
        started (no curl handle was allocated yet). If that happens then
        just remember that. ResourceHandleManager::startJob is already taking
        care of this and in initResourceHandle the the downloading will
        be paused if needed.

        Fixes fast/loader/simultaneous-reloads-assert.html

        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::setDefersLoading):

183
184
185
186
187
188
189
190
191
192
193
194
195
196
2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=22041
        Fix CURL crashes on the test suite

        Do not send "no data" to WebCore in parseDataUrl().

        Fixes assert on fast/tokenizer/image-empty-crash.html

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::parseDataUrl):

197
198
199
200
201
202
203
204
205
206
2008-11-02  Xan Lopez  <xan@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=22009
        HTML5 Video with GStreamer pulls gnome-vfs without using it

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        Remove gnome-vfs include.

abarth@webkit.org's avatar
abarth@webkit.org committed
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
2008-11-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Be sure to check the final URLs of requested resources to make sure we
        don't get fooled by HTTP redirects.

        https://bugs.webkit.org/show_bug.cgi?id=21963

        Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
               http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::openFunc):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::canRequest):
        (WebCore::DocLoader::requestResource):
        * loader/DocLoader.h:
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):

ap@webkit.org's avatar
ap@webkit.org committed
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
2008-11-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22001
        AtomicStringImpl* keys of event listener maps can outlive their strings

        Test: fast/events/destroyed-atomic-string.html

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::addEventListener):
        (WebCore::MessagePort::removeEventListener):
        (WebCore::MessagePort::dispatchEvent):
        * dom/MessagePort.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::dispatchEvent):
        * loader/appcache/DOMApplicationCache.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::addEventListener):
        (WebCore::XMLHttpRequest::removeEventListener):
        (WebCore::XMLHttpRequest::dispatchEvent):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::addEventListener):
        (WebCore::XMLHttpRequestUpload::removeEventListener):
        (WebCore::XMLHttpRequestUpload::dispatchEvent):
        * xml/XMLHttpRequestUpload.h:
        Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).

ap@webkit.org's avatar
ap@webkit.org committed
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
2008-10-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21998
        Use JSDOMGlobalObject in EventListener-related bindings

        * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.

        * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
        bindings for inline event handlers.

        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        * bindings/js/JSEventTargetNodeCustom.cpp:
        (WebCore::JSEventTargetNode::addEventListener):
        (WebCore::JSEventTargetNode::removeEventListener):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::removeEventListener):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::addEventListener):
        (WebCore::JSSVGElementInstance::removeEventListener):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        Use ScriptExecutionContext and JSDOMGlobalObject in bindings.

        * dom/EventTarget.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::scriptExecutionContext):
        * dom/EventTargetNode.h:
        * dom/MessagePort.cpp:
        * dom/MessagePort.h:
        (WebCore::MessagePort::scriptExecutionContext):
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::scriptExecutionContext):
        * loader/appcache/DOMApplicationCache.h:
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::scriptExecutionContext):
        * svg/SVGElementInstance.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::scriptExecutionContext):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
        * xml/XMLHttpRequestUpload.h:
        Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
        available yet.

312
313
314
315
316
317
318
319
320
321
322
2008-10-31  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Geoff Garen.

        Rename SourceRange.h to SourceCode.h.

        * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
        * ForwardingHeaders/kjs/SourceRange.h: Removed.
        * bindings/js/StringSourceProvider.h:
        * bridge/NP_jsobject.cpp:

323
324
325
326
327
328
329
330
331
332
333
334
335
336
2008-10-31  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

        Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
        <https://bugs.webkit.org/show_bug.cgi?id=22019>

        * WebCore.base.exp:
        * page/Console.cpp:
        (WebCore::printToStandardOut):
        (WebCore::Console::shouldPrintExceptions):
        (WebCore::Console::setShouldPrintExceptions):
        * page/Console.h:

mitz@apple.com's avatar
mitz@apple.com committed
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
2008-10-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie

        * dom/Document.cpp:
        (WebCore::Document::cookie): Added checking if cookies are disabled.
        (WebCore::Document::setCookie): Ditto.
        * page/Navigator.cpp:
        (WebCore::Navigator::cookieEnabled): Ditto.
        * page/Page.cpp:
        (WebCore::Page::Page): Initialize m_cookieEnabled to true.
        * page/Page.h:
        (WebCore::Page::cookieEnabled): Added.
        (WebCore::Page::setCookieEnabled): Added.

adele@apple.com's avatar
adele@apple.com committed
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
2008-10-31  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
        https://bugs.webkit.org/show_bug.cgi?id=22008

        * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
        Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
        * platform/graphics/Icon.h: ditto.
        * platform/graphics/gtk/IconGtk.cpp:
        (WebCore::Icon::createIconForFile): ditto.
        (WebCore::Icon::createIconForFiles): ditto.
        * platform/graphics/mac/IconMac.mm:
        (WebCore::Icon::createIconForFile): ditto.
        (WebCore::Icon::createIconForFiles): ditto.
        * platform/graphics/qt/IconQt.cpp:
        (WebCore::Icon::createIconForFile): ditto.
        (WebCore::Icon::createIconForFiles): ditto.
        * platform/wx/TemporaryLinkStubs.cpp:
        (Icon::createIconForFile): ditto.
        (Icon::createIconForFiles): ditto.
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFile): ditto.
        (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.

        * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
        Improve icon creation code to match new code in Icon::createIconForFiles
        
383
384
385
386
387
388
389
390
391
392
393
2008-10-31  Timothy Hatcher  <timothy@apple.com>

        Add manual tests that check breakpoints on a blockless body of "for" loops.

        https://bugs.webkit.org/show_bug.cgi?id=22004

        Reviewed by Darin Adler.

        * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
        * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.

394
395
396
397
398
399
2008-10-31  Darin Adler  <darin@apple.com>

        - fix build

        * platform/win/WCDataObject.cpp: Added missing include of "config.h".

ap@webkit.org's avatar
ap@webkit.org committed
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
2008-10-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21970
        Make MessagePort event dispatch work in workers

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
        (WebCore::JSDOMGlobalObject::findJSEventListener):
        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
        (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
        (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
        (WebCore::JSDOMGlobalObject::jsEventListeners):
        (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
        (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
        (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
        (WebCore::JSDOMGlobalObject::setCurrentEvent):
        (WebCore::JSDOMGlobalObject::currentEvent):
        (WebCore::toJSDOMGlobalObject):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
        * bindings/js/JSDOMWindowBase.h:
        Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
        (WebCore::JSUnprotectedEventListener::globalObject):
        (WebCore::JSUnprotectedEventListener::clearGlobalObject):
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        (WebCore::JSEventListener::globalObject):
        (WebCore::JSEventListener::clearGlobalObject):
        (WebCore::JSLazyEventListener::JSLazyEventListener):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventListener.h:
        (WebCore::JSUnprotectedEventListener::create):
        (WebCore::JSEventListener::create):
        (WebCore::JSLazyEventListener::create):
        Changed to use JSDOMGlobalObject and ScriptExecutionContext.

        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::startConversation):
        (WebCore::JSMessagePort::addEventListener):
        (WebCore::JSMessagePort::removeEventListener):
        (WebCore::JSMessagePort::setOnmessage):
        (WebCore::JSMessagePort::setOnclose):
        Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
        such code, and stop using a custom implementation for JSMessagePort inline event handler
        getters and setters.

        * dom/Document.cpp:
        (WebCore::Document::virtualURL):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
        JSLazyEventListener).

464
465
466
467
468
469
470
471
2008-10-31  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Speculative wxWindows build fix.

        * webcore-base.bkl:

472
473
474
475
476
477
478
479
2008-10-30  Mark Rowe  <mrowe@apple.com>

        Reviewed by Jon Homeycutt.

        Explicitly default to building for only the native architecture in debug and release builds.

        * Configurations/DebugRelease.xcconfig:

480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
2008-10-30  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Sam Weinig.

        Create a debugger directory in JavaScriptCore and move the relevant
        files to it.

        * ForwardingHeaders/debugger: Added.
        * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
        * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
        * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
        * ForwardingHeaders/kjs/debugger.h: Removed.
        * WebCore.pro:
        * bindings/js/ScriptController.cpp:
        * inspector/JavaScriptCallFrame.cpp:
        * inspector/JavaScriptCallFrame.h:
        * inspector/JavaScriptDebugServer.cpp:
        * inspector/JavaScriptDebugServer.h:

499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
2008-10-30  Tony Chang <tony@chromium.org>

        Fix 2 Windows theme bugs:
        1) Checkboxes marked readonly were rendered incorrectly
        2) If a button has focus and is pressed, it was rendered
           as focused rather than pressed.

        https://bugs.webkit.org/show_bug.cgi?id=21859

        Reviewed by Dave Hyatt.

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::determineState):
        (WebCore::RenderThemeWin::determineButtonState):

514
515
516
517
518
519
520
521
522
523
524
525
526
527
2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>

        gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
        warnings; add some parentheses to disambiguate things. No functional
        changes, so no tests.

        https://bugs.webkit.org/show_bug.cgi?id=21973
        Add parentheses to clean up some gcc warnings

        Reviewed by Dan Bernstein.

        * platform/graphics/Font.h:
        (WebCore::Font::treatAsZeroWidthSpace):

528
529
530
531
532
533
534
535
536
2008-10-30  Aaron Boodman  <aa@chromium.org>

        Added an explicit dependency on HashMap.h. It was getting pulled in via
        <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.

        Reviewed by Darin Adler.

        * platform/text/PlatformString.h:

537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
2008-10-30  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Sam Weinig

        https://bugs.webkit.org/show_bug.cgi?id=21967
        
        For some platforms the GeolocationService must be suspended and resumed.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
        (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
        (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
        (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
        * page/Geolocation.h:
        (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
        * platform/GeolocationService.h:
        (WebCore::GeolocationService::suspend): empty implementation
        (WebCore::GeolocationService::resume): empty implementation

556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
2008-10-30  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Sam Weinig

        https://bugs.webkit.org/show_bug.cgi?id=21966
        
        The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
        http://dev.w3.org/geo/api/spec-source.html

        * page/Geolocation.cpp:
        (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
        * page/Geoposition.cpp: velocity is now called speed
        (WebCore::Geoposition::toString):
        * page/Geoposition.h: velocity is now called speed
        (WebCore::Geoposition::create):
        (WebCore::Geoposition::speed):
        (WebCore::Geoposition::Geoposition):
        * page/Geoposition.idl: velocity is now called speed
        * page/PositionOptions.h: timeout is now unsigned
        (WebCore::PositionOptions::create):
        (WebCore::PositionOptions::timeout):
        (WebCore::PositionOptions::setTimeout):
        (WebCore::PositionOptions::PositionOptions):
        * page/PositionOptions.idl: timeout is now unsigned long

justin.garcia@apple.com's avatar
justin.garcia@apple.com committed
581
582
583
584
585
586
587
2008-10-30  Justin Garcia  <justin.garcia@apple.com>

        Also handle preserved newlines.

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):

justin.garcia@apple.com's avatar
justin.garcia@apple.com committed
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
2008-10-30  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply): 
        Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
        needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
        Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
        we now use visiblePos (in order to avoid VisiblePosition creation).
        Set pos after we delete the current selection (if there is one), and be consistent about what we set 
        pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
        ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
        in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
        where the caret is between text and a br work correctly.

606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
2008-10-30  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Fix the Qt build.

        https://bugs.webkit.org/show_bug.cgi?id=21969

        * inspector/front-end/WebKit.qrc:
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::context):
        (WebCore::ImageBuffer::image):
        (WebCore::ImageBuffer::toDataURL):

darin@apple.com's avatar
darin@apple.com committed
622
623
624
625
626
627
628
629
630
631
632
633
634
635
2008-10-30  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        More preparation for:
        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
        startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
        This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
        doesn't really fix a bug, since we can't really get into a situation where we move to a different 
        topBlockquote, but it simplifies the code.

636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
2008-10-30  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=21883
        [CAIRO] globalAlpha has to be stored and restored

        Cairo's globalAlpha has to be stored and reloaded on calling
        save() and restore(). We use the power of GraphicsContextState for this.

        * platform/graphics/GraphicsContextPrivate.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::getAlpha):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):

656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
2008-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        Rename "attachedToEventTargetNode" to "isInline".

        Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
        XMLHttpRequest, MessagePort et al.

        Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
        attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
        And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
        "inlineEventListenerForType", as they work with inline listeners.

        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::setOnmessage):
        (WebCore::JSMessagePort::setOnclose):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        Pass a correct value for this argument - callers used to be confused, because they didn't
        consider themselves event target nodes. This doesn't affect behavior however, as the only
        difference between inline and non-inline event handlers is that the former treat
        "return false" as "event.preventDefault()", which is not important to any of these objects.

        * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
        Assert that isInline is true instead of checking its value, as the constructor of this class
        always sets it to true.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::findJSEventListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
        (WebCore::JSDOMWindowBase::jsInlineEventListeners):
        (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSAbstractEventListener::isInline):
        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventListener.h:
        (WebCore::JSAbstractEventListener::JSAbstractEventListener):
        (WebCore::JSUnprotectedEventListener::create):
        (WebCore::JSEventListener::create):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::createInlineEventHandler):
        * bindings/js/ScriptController.h:
        * dom/Document.cpp:
        (WebCore::Document::setWindowInlineEventListenerForType):
        (WebCore::Document::windowInlineEventListenerForType):
        (WebCore::Document::removeWindowInlineEventListenerForType):
        (WebCore::Document::createEventListener):
        (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
        * dom/Document.h:
        * dom/EventListener.h:
        (WebCore::EventListener::isInline):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::removeInlineEventListenerForType):
        (WebCore::EventTargetNode::setInlineEventListenerForType):
        (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
        (WebCore::EventTargetNode::inlineEventListenerForType):
        (WebCore::EventTargetNode::on*): (many methods)
        (WebCore::EventTargetNode::setOn*): (many methods)
        * dom/EventTargetNode.h:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::parseMappedAttribute):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::parseMappedAttribute):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseMappedAttribute):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::mouseButtonListener):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setInlineEventListenerForType):
        (WebCore::DOMWindow::inlineEventListenerForType):
        (WebCore::DOMWindow::on*): (many methods)
        (WebCore::DOMWindow::setOn*): (many methods)
        * page/DOMWindow.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::parseMappedAttribute):
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::on*): (many methods)
        (WebCore::SVGElementInstance::setOn*): (many methods)
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute):
        Rename things, as described above.

775
776
777
778
779
780
781
782
783
2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed and slightly changed by Holger Freyther.

        Added all the files that need to be installed for the Inspector to
        work.

        * GNUmakefile.am: Invoke the shell to get the files.

784
785
786
787
788
789
790
791
792
2008-10-29  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Darin Adler

        Add MediaPlayerPrivateChromium to MediaPlayer
        https://bugs.webkit.org/show_bug.cgi?id=21930

        * platform/graphics/MediaPlayer.cpp:

793
794
795
796
797
798
799
800
801
802
803
804
805
806
2008-10-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        Some preparation for:
        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
        
        Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
        need to rebalance whitespace before the early return but for now don't risk any change in behavior
        I'll revisit that later.

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):

807
808
809
810
811
812
813
814
815
816
817
2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fixes after addition of runtime and ImageBuffer changes.
        
        * platform/graphics/wx/ImageBufferData.h: Added.
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::context):
        * webcore-base.bkl:

818
819
820
821
822
823
824
825
826
2008-10-29  Brett Wilson  <brettw@chromium.org>

        Reviewed by Darin Adler
        https://bugs.webkit.org/attachment.cgi?id=24745

        Allow Skia implementations to get text style changed notifications.

        * platform/graphics/GraphicsContext.cpp:

827
828
829
830
831
832
833
834
835
836
837
2008-10-29  Timothy Hatcher  <timothy@apple.com>

        Add a manual test that checks breakpoints on a blockless body of
        an "else" statement.

        https://bugs.webkit.org/show_bug.cgi?id=21944

        Reviewed by Maciej Stachowiak.

        * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.

ap@webkit.org's avatar
ap@webkit.org committed
838
839
840
841
842
843
844
845
846
847
848
849
850
2008-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21921
        MessagePort messages are dispatched to documents that are not fully active

        Covered by corrected fast/events/message-port-inactive-document.html

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
        that are not fully active.

ap@webkit.org's avatar
ap@webkit.org committed
851
852
853
854
855
856
857
858
859
860
861
862
2008-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21922
        Expose MessagePort global constructor

        Covered by existing dumper tests.

        * dom/MessagePort.idl:
        * page/DOMWindow.idl:

ap@webkit.org's avatar
ap@webkit.org committed
863
864
865
866
867
868
869
870
871
872
2008-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21924
        HashTable internal index is not always deleted

        * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
        Call deleteTable for HashTables that are being deleted.

ap@webkit.org's avatar
ap@webkit.org committed
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
2008-10-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21923
        Create an abstraction for script execution context

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Added ScriptExecutionContext.{h,cpp}.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSOptionConstructor.h:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
        Since these objects can only work within documents now, it is immediately converted back
        to Document.

        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSMessageChannelConstructor.h:
        (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
        MessageChannel needs to be supported in workers right away, so the constructor operates with
        it directly.

        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        (WebCore::ActiveDOMObject::contextDestroyed):
        * dom/ActiveDOMObject.h:
        (WebCore::ActiveDOMObject::scriptExecutionContext):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markActiveObjectsForContext):
        (WebCore::markCrossHeapDependentObjectsForContext):
        Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
        tracking is handled by ScriptExecutionContext.

        * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.

        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
        Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
        to worker context implementation.
        (WebCore::scriptExecutionContext): Added a pure virtual method to access
        ScriptExecutionContext, implemented by subclasses.

        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
        Implement by returning the associated document. Note that this method currently gives bogus
        results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
        that is currently in the frame, not the one associated with this window.

        * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.

        * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
        Call markActiveObjectsForContext() by its new name.

        * dom/DedicatedWorker.cpp:
        (WebCore::DedicatedWorker::DedicatedWorker):
        (WebCore::DedicatedWorker::document):
        * dom/DedicatedWorker.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::document):
        * xml/XMLHttpRequest.h:
        Added a document() function that upcasts ScriptExecutionContext, as these objects only work
        within documents currently (at least for XMLHttpRequest, this will change soon though).

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
        with workers.
        
        * dom/Document.h:
        (WebCore::Document::isDocument):
        (WebCore::Document::refScriptExecutionContext):
        (WebCore::Document::derefScriptExecutionContext):
        Inherit from ScriptExecutionContext.

        * dom/MessageChannel.cpp:
        (WebCore::MessageChannel::MessageChannel):
        * dom/MessageChannel.h:
        (WebCore::MessageChannel::create):
        Use ScriptExecutionContext instead of Document.

        * dom/MessagePort.cpp:
        (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
        MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
        unrelated issue that was causing random crashes in layout tests).
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::~MessagePort):
        (WebCore::MessagePort::associatedFrame):
        (WebCore::MessagePort::clone):
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::startConversation):
        (WebCore::MessagePort::start):
        (WebCore::MessagePort::contextDestroyed):
        (WebCore::MessagePort::dispatchMessages):
        * dom/MessagePort.h:
        (WebCore::MessagePort::create):
        (WebCore::MessagePort::scriptExecutionContext):
        Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
        work in worker contexts - we need to also make some its method thread safe for cross-thread
        messaging, and make event dispatching thread safe.

        * dom/ScriptExecutionContext.cpp: Added.
        * dom/ScriptExecutionContext.h: Added.
        ActiveDOMObject and MessagePort tracking is moved from Document.
        It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
        but as I'm just moving Document code, and it is Document that is the main context object
        in our implementation currently.
        Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
        seem non-trivial to fix, and isn't really a part of this task.

1000
2008-10-28  Alp Toker  <alp@nuanti.com>