2008-11-10 Stephanie Lewis <slewis@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-11-10  Stephanie Lewis  <slewis@apple.com>
2
3         Reviewed by Dan Bernstein.
4
5         Clear the image source cache even if we haven't decoded any of the image data.
6         We use the image source cache when calculating layout.
7
8         * loader/Cache.cpp:
9         (WebCore::Cache::pruneDeadResources):
10         * platform/graphics/BitmapImage.cpp:
11         (WebCore::BitmapImage::destroyDecodedData):
12
13 2008-11-10  Adam Roben  <aroben@apple.com>
14
15         Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
16         loading microsoftpdc.com
17
18         <https://bugs.webkit.org/show_bug.cgi?id=22161>
19
20         Reviewed by Dan Bernstein.
21
22         Test: fast/css/outline-invert-assertion.html
23
24         * rendering/RenderThemeWin.cpp:
25         (WebCore::RenderThemeWin::systemColor): If we can't determine a good
26         Win32 system color to use, defer to RenderTheme instead of asserting.
27         This matches what RenderThemeMac does.
28
29 2008-11-10  Justin Garcia  <justin.garcia@apple.com>
30
31         Reviewed by Beth Dakin.
32
33         <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text 
34         into quoted text yields double-quoting
35         
36         Don't nest inserted content in Mail blockquotes.  Perform a 
37         BreakBlockquoteCommand if we're in
38         one and insert the incoming fragment between the split blockquotes.
39
40         * editing/ReplaceSelectionCommand.cpp:
41         (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> 
42         source and to -> destination.
43         (WebCore::ReplaceSelectionCommand::doApply):
44
45 2008-11-10  Adam Roben  <aroben@apple.com>
46
47         Fix Bug 22158: Would like to turn on WebCore logging channels via an
48         environment variable
49
50         <https://bugs.webkit.org/show_bug.cgi?id=22158>
51
52         Logging channels can now be enabled by setting the WebCoreLogLevel
53         environment variable to a hexadecimal number.
54
55         Reviewed by Anders Carlsson.
56
57         * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
58         * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
59         (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
60         environment variable, parse its value as a hexadecimal number, and
61         turn the channel on/off based on whether the mask bit is set.
62         (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
63         logging channel in turn.
64
65 2008-11-10  Darin Adler  <darin@apple.com>
66
67         Reviewed by Adam Roben.
68
69         - fix https://bugs.webkit.org/show_bug.cgi?id=22103
70           Changing fonts in preferences does not immediately update WebViews
71
72         This broke when the meaning of FrameView::invalidate changed.
73         I changed setNeedsReapplyStyles to no longer depend on invalidate.
74
75         * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
76         Removed the part of this function that duplicated what's already in
77         FrameView::needsLayout, since the copy here left out a few key things.
78         For example, it didn't handle the fact that "needs reapply styles"
79         counts as needing layout.
80
81         * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
82         FrameView::invalidate before. There were two things wrong with that.
83         1) It requested that the entire view repaint even if the style change
84         didn't necessitate that. 2) FrameView::invalidate no longer causes any
85         repainting at all in certain cases, because of Hyatt's changes to how
86         widgets and the host window are involved in the repainting process.
87         So call FrameView::scheduleRelayout instead, which is more precisely
88         what we want and need here.
89
90         * page/FrameView.cpp:
91         (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
92         so that Document::shouldScheduleLayout doesn't have to replicate the
93         logic that's in needsLayout and can instead rely on the fact that it
94         was already called.
95         (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
96         in this function.
97
98 2008-11-10  Darin Adler  <darin@apple.com>
99
100         Reviewed by Adam Roben.
101
102         - speculative fix for <rdar://problem/5557243> crashes in Safari at
103           WebCore::HTMLSelectElement::updateListBoxSelection + 280
104
105         * html/HTMLSelectElement.cpp:
106         (WebCore::HTMLSelectElement::updateListBoxSelection):
107         Check index against size of vector before indexing into the vector.
108
109 2008-11-10  Tom Cooksey  <thomas.cooksey@trolltech.com>
110
111         Reviewed by Tor Arne Vestbø.
112
113         Fix QtWebkit build failure on arm.
114
115         pen.widthF() is a qreal, which means it's a float on arm.
116
117         * platform/graphics/qt/GraphicsContextQt.cpp:
118         (WebCore::GraphicsContext::setLineDash):
119
120 2008-11-10  Morten Sørvig  <msorvig@trolltech.com>
121
122         Reviewed by Simon Hausmann.
123
124         Improve mouse wheel scolling on Qt/Cocoa.
125         Cocoa differs from Carbon (and other platforms I think) in that the
126         mouse wheel events we get have a much higher acceleration factor.
127
128         This submit switches over to scroll-per-pixel from scroll-per-line
129         for most of our scrolling views. This matches the native views
130         and works well with the increased acceleration.
131
132         * platform/qt/WheelEventQt.cpp:
133
134 2008-11-09  Cameron Zwarich  <zwarich@apple.com>
135
136         Reviewed by Darin Adler.
137
138         Bug 19541: Null pointer in showModalDialog()
139         <https://bugs.webkit.org/show_bug.cgi?id=19541>
140
141         Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
142         and JSDOMWindowBase::canShowModalDialogNow()C
143
144         * bindings/js/JSDOMWindowBase.cpp:
145         (WebCore::canShowModalDialog):
146         (WebCore::canShowModalDialogNow):
147
148 2008-11-09  Darin Adler  <darin@apple.com>
149
150         - try to fix Windows build
151
152         * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
153         about needed a separate definition for static const integer data members.
154         Until I get to the bottom of this, put the definitions inside an ifdef.
155
156 2008-11-09  David Kilzer  <ddkilzer@apple.com>
157
158         BUILD FIX: Qt build broke after r38235.
159
160         Added HAVE(ACCESSIBILITY) header guards to platform implementation
161         source files.
162
163         * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
164         guards.
165         * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
166         * page/qt/AccessibilityObjectQt.cpp: Ditto.
167         * page/win/AccessibilityObjectWin.cpp: Ditto.
168         * page/wx/AccessibilityObjectWx.cpp: Ditto.
169
170 2008-11-09  Alexey Proskuryakov  <ap@webkit.org>
171
172         Reviewed by Darin Adler.
173
174         https://bugs.webkit.org/show_bug.cgi?id=22104
175         Javascript URL percent encoding/decoding broken by some characters
176
177         Test: fast/loader/javascript-url-encoding-2.html
178
179         * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
180
181 2008-11-09  Holger Hans Peter Freyther  <zecke@selfish.org>
182
183         Reviewed and tweaked by Darin Adler.
184
185         * platform/graphics/Color.cpp: Added definitions for the static data members
186         in this class. Static data members need a definition, even when they are the
187         simple integer constant kind that can be initialized in the header.
188
189 2008-11-08  Antti Koivisto  <antti@apple.com>
190
191         Reviewed by Sam Weinig.
192         
193         Fix https://bugs.webkit.org/show_bug.cgi?id=22141
194         REGRESSION: Safari error page is not fully styled when loaded from cache
195         
196         Reset text decoder on flush so it does not pass through the BOM when it is reused.
197
198         Test: fast/encoding/css-cached-bom.html
199
200         * loader/TextResourceDecoder.cpp:
201         (WebCore::TextResourceDecoder::flush):
202
203 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
204  
205         Reviewed by Mark Rowe.
206
207         Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
208         it was causing these errors to end up in the page's text representation.
209
210         * platform/network/curl/ResourceHandleManager.cpp:
211         (WebCore::ResourceHandleManager::downloadTimerCallback):
212
213 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
214
215         wx build fixes after addition of JSCore parser and bycompiler dirs. 
216
217         * webcore-base.bkl:
218         * webcore-wx.bkl:
219
220 2008-11-08  Simon Fraser  <simon.fraser@apple.com>
221
222         Reviewed by Dan Bernstein
223
224         https://bugs.webkit.org/show_bug.cgi?id=21906
225         
226         Override addFocusRingRects() in RenderTextControl to avoid
227         the RenderFlow behavior of recursing on descendent renderers.
228         RenderTextControl should only ever need a simple focus rect.
229         
230         This fixes focus ring issues with transforms on text controls.
231         
232         Test: fast/transforms/transformed-focused-text-input.html
233
234         * rendering/RenderTextControl.cpp:
235         (WebCore::RenderTextControl::addFocusRingRects):
236         * rendering/RenderTextControl.h:
237
238 2008-11-08  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
239
240         Make sure the icon thumbnail width/height is at least 1px in
241         the Web Inspector's resource panel.
242
243         <rdar://problem/5988888>
244
245         Reviewed by Tim Hatcher.
246
247         * inspector/front-end/inspector.css:
248
249 2008-11-08  David Kilzer  <ddkilzer@apple.com>
250
251         Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
252
253         <https://bugs.webkit.org/show_bug.cgi?id=22137>
254
255         Reviewed by Darin Adler.
256
257         * page/AccessibilityObject.h:
258         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
259         Provide a default implementation when HAVE(ACCESSIBILITY) is false.
260         * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
261         * page/mac/AccessibilityObjectMac.mm: Ditto.
262         * page/mac/AccessibilityObjectWrapper.mm: Ditto.
263
264 2008-11-08  Dan Bernstein  <mitz@apple.com>
265
266         Reviewed by Darin Adler.
267
268         - WebCore part of adding WebPreferences for controlling databases and local storage
269
270         * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
271         Settings::setLocalStorageEnabled().
272         * page/DOMWindow.cpp:
273         (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
274         is disabled in settings.
275         (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
276         are disabled in settings.
277         * page/Settings.cpp:
278         (WebCore::Settings::Settings): Initialize m_databasesEnabled and
279         m_localStorageEnabled.
280         (WebCore::Settings::setDatabasesEnabled): Added.
281         (WebCore::Settings::setLocalStorageEnabled): Added.
282         * page/Settings.h:
283         (WebCore::Settings::databasesEnabled): Added.
284         (WebCore::Settings::localStorageEnabled): Added.
285
286 2008-11-07  Alp Toker  <alp@nuanti.com>
287
288         Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
289         now require that only their top-level header file is included.
290
291         Patch tested and still builds fine with older GTK+ versions (back to
292         2.8).
293
294         Future WebKit GTK+ contributions are required to adhere to this
295         policy.
296
297         * platform/gtk/FileSystemGtk.cpp:
298         * platform/gtk/KeyEventGtk.cpp:
299         * platform/gtk/MouseEventGtk.cpp:
300         * platform/gtk/WheelEventGtk.cpp:
301         * platform/gtk/gtkdrawing.h:
302         * plugins/gtk/gtk2xtbin.c:
303         * plugins/gtk/gtk2xtbin.h:
304
305 2008-11-07  Anders Carlsson  <andersca@apple.com>
306
307         Reviewed by Kevin Decker
308
309         Explicitly initialize the NPDrawingModelCoreAnimation.
310
311         * bridge/npapi.h:
312
313 2008-11-07  Alp Toker  <alp@nuanti.com>
314
315         autotools fix. Always use the configured perl binary (which may be
316         different to the one in $PATH) when generating sources.
317
318         * GNUmakefile.am:
319
320 2008-11-07  Simon Fraser  <simon.fraser@apple.com>
321
322         Reviewed by Dan Bernstein
323
324         https://bugs.webkit.org/show_bug.cgi?id=22122
325         
326         Use a stack-based object to simplify the pushLayoutState/popLayoutState
327         code. LayoutStateMaintainer either pushes in the constructor, or allows
328         an explicit push() later. Both cases require an explicit pop().
329
330         * rendering/RenderBlock.cpp:
331         (WebCore::RenderBlock::layoutBlock):
332         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
333         * rendering/RenderContainer.cpp:
334         (WebCore::RenderContainer::layout):
335         * rendering/RenderFlexibleBox.cpp:
336         (WebCore::RenderFlexibleBox::layoutBlock):
337         * rendering/RenderTable.cpp:
338         (WebCore::RenderTable::layout):
339         * rendering/RenderTableRow.cpp:
340         (WebCore::RenderTableRow::layout):
341         * rendering/RenderTableSection.cpp:
342         (WebCore::RenderTableSection::setCellWidths):
343         (WebCore::RenderTableSection::calcRowHeight):
344         (WebCore::RenderTableSection::layoutRows):
345         * rendering/RenderView.h:
346         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
347         (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
348         (WebCore::LayoutStateMaintainer::pop):
349         (WebCore::LayoutStateMaintainer::push):
350         (WebCore::LayoutStateMaintainer::didPush):
351
352 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
353
354         Fix the QtWebKit build on Mac
355
356         * platform/qt/TemporaryLinkStubs.cpp:
357         (PluginView::invalidateRect):
358
359 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
360
361         Rubber-stamped by Simon Hausmann.
362
363         Don't allow Phonon's invisible video widget to keep the app running
364
365         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
366         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
367
368 2008-11-07  Henrik Hartz  <henrik.hartz@nokia.com>
369
370         Reviewed by Simon Hausmann.
371
372         Fix valgrind warning about uninitialized lastStop variable.
373
374         * platform/graphics/qt/GradientQt.cpp:
375         (WebCore::Gradient::platformGradient):
376
377 2008-11-07  Alexey Proskuryakov  <ap@webkit.org>
378
379         Reviewed by Maciej Stachowiak.
380
381         Fix layout test brokenness following r38211.
382
383         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
384         Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
385         matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
386         inadvertently. This may or may not be a good thing, but it's certainly not something that
387         should change by accident.
388
389 2008-11-06  Antti Koivisto  <antti@apple.com>
390
391         Eh, this trivial last minute change was wrong.
392
393         * loader/CachedCSSStyleSheet.cpp:
394         (WebCore::CachedCSSStyleSheet::sheetText):
395
396 2008-11-06  Antti Koivisto  <antti@apple.com>
397
398         Reviewed by Dan Bernstein.
399
400         https://bugs.webkit.org/show_bug.cgi?id=22093
401         
402         Delaying the text decoding caused regression since the decoding
403         also determines the encoding in case of @charset rule. 
404         
405         Decode immediately in data() and keep the decoded string around
406         during the checkNotify().
407
408         * loader/CachedCSSStyleSheet.cpp:
409         (WebCore::CachedCSSStyleSheet::sheetText):
410         (WebCore::CachedCSSStyleSheet::data):
411         * loader/CachedCSSStyleSheet.h:
412
413 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
414
415         Reviewed by Darin Adler.
416
417         https://bugs.webkit.org/show_bug.cgi?id=22097
418         Expose MessageEvent constructor on WorkerContext
419
420         * bindings/js/JSWorkerContext.cpp:
421         (WebCore::jsWorkerContextMessageEvent):
422         (WebCore::setJSWorkerContextMessageEvent):
423
424 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
425
426         Reviewed by Darin Adler.
427
428         https://bugs.webkit.org/show_bug.cgi?id=21107
429         <rdar://problem/6264219> New access key combination conflicts with VoiceOver
430
431         * page/EventHandler.h:
432         * page/gtk/EventHandlerGtk.cpp:
433         (WebCore::EventHandler::accessKeyModifiers):
434         * page/qt/EventHandlerQt.cpp:
435         (WebCore::EventHandler::accessKeyModifiers):
436         * page/win/EventHandlerWin.cpp:
437         (WebCore::EventHandler::accessKeyModifiers):
438         * page/wx/EventHandlerWx.cpp:
439         (WebCore::EventHandler::accessKeyModifiers):
440         Access access key modifiers via a function, not a static variable.
441
442         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
443         Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
444         less troublesome than one with VO keys.
445
446         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
447         Also fix an access key matching bug introduced in r32424 - Any superset of specified
448         modifier set invoked access keys. We can use simple equality comparison instead because
449         CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
450
451 2008-11-06  Anders Carlsson  <andersca@apple.com>
452
453         Reviewed by Kevin Decker.
454
455         https://bugs.webkit.org/show_bug.cgi?id=22115
456         NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
457
458         Export _NPN_HasMethod and _NPN_HasProperty.
459         
460         * WebCore.NPAPI.exp:
461
462 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
463
464         Reviewed by Antti Koivisto
465
466         https://bugs.webkit.org/show_bug.cgi?id=15678
467         
468         Fix transformed menu selects to show the popup in the correct
469         location.
470
471         * rendering/RenderMenuList.cpp:
472         (WebCore::RenderMenuList::showPopup):
473
474 2008-11-06  David Kilzer  <ddkilzer@apple.com>
475
476         BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
477
478         Apparently older versions of gcc have issues with this patch.
479         Backing out a second time until the issues are resolved.
480
481 2008-11-06  Julien Chaffraix  <jchaffraix@pleyo.com>
482
483         Reviewed by Maciej Stachowiak.
484
485         Bug 21106: .in format discussed changes
486         https://bugs.webkit.org/show_bug.cgi?id=21106
487
488         Include the namespace into the interfaceName.
489
490         * dom/make_names.pl: Do not append the namespace when
491         using the interfaceName.
492         * html/HTMLTagNames.in: Added namespace prefix for custom
493         interfaceName.
494         * svg/svgtags.in: Ditto.
495
496 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
497
498         Reviewed by Geoff Garen.
499
500         Move the remaining files in the kjs subdirectory of JavaScriptCore to
501         a new parser subdirectory, and remove the kjs subdirectory entirely.
502
503         * ForwardingHeaders/kjs: Removed.
504         * ForwardingHeaders/kjs/Parser.h: Removed.
505         * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
506         * ForwardingHeaders/kjs/SourceCode.h: Removed.
507         * ForwardingHeaders/kjs/SourceProvider.h: Removed.
508         * ForwardingHeaders/parser: Added.
509         * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
510         * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
511         * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
512         * WebCore.pro:
513         * WebCore.vcproj/WebCore.vcproj:
514         * bindings/js/StringSourceProvider.h:
515         * bindings/js/WorkerScriptController.cpp:
516         * bridge/NP_jsobject.cpp:
517         * bridge/jni/jni_jsobject.mm:
518         * bridge/testbindings.pro:
519         * inspector/JavaScriptDebugServer.cpp:
520
521 2008-11-06  David Kilzer  <ddkilzer@apple.com>
522
523         BUILD WAS NOT BROKEN: Rolling r38189 back in.
524
525         Please perform a clean build if you see crashes.
526
527 2008-11-06  David Kilzer  <ddkilzer@apple.com>
528
529         BUILD FIX: Backed out r38189 since it apparently broke the world.
530
531 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
532
533         Reviewed by Beth Dakin.
534
535         Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
536         https://bugs.webkit.org/show_bug.cgi?id=22112
537
538         Test: accessibility/content-editable.html
539
540         * page/AccessibilityRenderObject.cpp:
541         (WebCore::AccessibilityRenderObject::isReadOnly):
542
543 2008-11-06  Sam Weinig  <sam@webkit.org>
544
545         Reviewed by Alice Liu.
546
547         Fix failed assert at launch caused by unintialized data member on the mac.
548
549         * platform/network/mac/NetworkStateNotifierMac.cpp:
550         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
551
552 2008-11-06  Steve Falkenburg  <sfalken@apple.com>
553
554         Fix failed assert at launch caused by unintialized data member.
555         
556         Reviewed by Maciej Stachowiak.
557
558         * platform/network/win/NetworkStateNotifierWin.cpp:
559         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
560
561 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
562
563         Reviewed by Antti Koivisto
564
565         https://bugs.webkit.org/show_bug.cgi?id=22109
566         Make <input type="range"> work correctly with transforms
567
568         Test: fast/forms/slider-transformed.html
569
570         * html/HTMLInputElement.cpp:
571         (WebCore::HTMLInputElement::defaultEventHandler):
572             Compute a correct local point when the event is retargeted
573         * rendering/RenderSlider.cpp:
574         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
575             Compute m_initialClickPoint in slider-local coords, so that
576             deltas are computed correctly with transforms
577         (WebCore::RenderSlider::mouseEventIsInThumb):
578             Rather than computing an absolute bounds for the thumb,
579             convert the point to local coords and compare it with the border box.
580
581 2008-11-06  Greg Bolsinga  <bolsinga@apple.com>
582
583         Reviewed by Darin Adler.
584
585         Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
586         https://bugs.webkit.org/show_bug.cgi?id=21810
587
588         * bindings/js/GCController.cpp:
589         (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
590         * bindings/js/JSDOMBinding.cpp:
591         (WebCore::wrapperSet): Ditto
592         * bindings/js/JSInspectedObjectWrapper.cpp:
593         (WebCore::wrappers): Ditto
594         * bindings/js/JSInspectorCallbackWrapper.cpp:
595         (WebCore::wrappers): Ditto
596         * bridge/runtime_root.cpp:
597         (JSC::Bindings::rootObjectSet): Ditto
598         * css/CSSMutableStyleDeclaration.cpp:
599         (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
600         * css/CSSPrimitiveValue.cpp:
601         (WebCore::CSSPrimitiveValue::cssText): Ditto
602         * css/CSSSelector.cpp:
603         (WebCore::CSSSelector::extractPseudoType): Ditto
604         * css/CSSStyleSelector.cpp:
605         (WebCore::screenEval): Ditto
606         (WebCore::printEval): Ditto
607         * dom/DOMImplementation.cpp:
608         (WebCore::isSVG10Feature): Ditto
609         (WebCore::isSVG11Feature): Ditto
610         (WebCore::DOMImplementation::isXMLMIMEType): Ditto
611         * dom/Document.cpp:
612         (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
613         * dom/ScriptElement.cpp:
614         (WebCore::isSupportedJavaScriptLanguage): Ditto
615         * editing/ApplyStyleCommand.cpp:
616         (WebCore::styleSpanClassString): Ditto
617         * editing/HTMLInterchange.cpp:
618         (WebCore::): Ditto
619         * editing/IndentOutdentCommand.cpp:
620         (WebCore::indentBlockquoteString): Ditto
621         * editing/ReplaceSelectionCommand.cpp:
622         (WebCore::isInterchangeNewlineNode): Ditto
623         (WebCore::isInterchangeConvertedSpaceSpan): Ditto
624         * editing/htmlediting.cpp:
625         (WebCore::stringWithRebalancedWhitespace): Ditto
626         (WebCore::nonBreakingSpaceString): Ditto
627         * editing/markup.cpp:
628         (WebCore::appendAttributeValue): Ditto
629         (WebCore::appendEscapedContent): Ditto
630         (WebCore::shouldAddNamespaceAttr): Ditto
631         (WebCore::appendNamespace): Ditto
632         (WebCore::appendStartMarkup): Ditto
633         (WebCore::createMarkup): Ditto
634         * html/HTMLButtonElement.cpp:
635         (WebCore::HTMLButtonElement::type): Ditto
636         * html/HTMLElement.cpp:
637         (WebCore::HTMLElement::isRecognizedTagName): Ditto
638         (WebCore::inlineTagList): Ditto
639         (WebCore::blockTagList): Ditto
640         * html/HTMLFieldSetElement.cpp:
641         (WebCore::HTMLFieldSetElement::type): Ditto
642         * html/HTMLInputElement.cpp:
643         (WebCore::HTMLInputElement::type): Ditto
644         * html/HTMLKeygenElement.cpp:
645         (WebCore::HTMLKeygenElement::type): Ditto
646         * html/HTMLLegendElement.cpp:
647         (WebCore::HTMLLegendElement::type): Ditto
648         * html/HTMLOptGroupElement.cpp:
649         (WebCore::HTMLOptGroupElement::type): Ditto
650         * html/HTMLOptionElement.cpp:
651         (WebCore::HTMLOptionElement::type): Ditto
652         * html/HTMLParser.cpp:
653         (WebCore::HTMLParser::getNode): Ditto
654         (WebCore::HTMLParser::isHeaderTag): Ditto
655         (WebCore::HTMLParser::isResidualStyleTag): Ditto
656         (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
657         * html/HTMLSelectElement.cpp:
658         (WebCore::HTMLSelectElement::type): Ditto
659         * html/HTMLTextAreaElement.cpp:
660         (WebCore::HTMLTextAreaElement::type): Ditto
661         * inspector/InspectorController.cpp:
662         (WebCore::platform): Ditto
663         * inspector/JavaScriptDebugServer.cpp:
664         (WebCore::JavaScriptDebugServer::shared): Ditto
665         * inspector/JavaScriptProfile.cpp:
666         (WebCore::profileCache): Ditto
667         * inspector/JavaScriptProfileNode.cpp:
668         (WebCore::profileNodeCache): Ditto
669         * loader/FrameLoader.cpp:
670         (WebCore::localSchemes): Ditto
671         * loader/appcache/ApplicationCacheStorage.cpp:
672         (WebCore::cacheStorage): Ditto
673         * loader/archive/ArchiveFactory.cpp:
674         (WebCore::archiveMIMETypes): Ditto
675         * loader/icon/IconDatabase.cpp:
676         (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
677         * page/EventHandler.cpp:
678         (WebCore::EventHandler::dragState): Ditto
679         * page/Frame.cpp:
680         (WebCore::createRegExpForLabels): Ditto
681         (WebCore::keepAliveSet): Ditto
682         * page/Page.cpp:
683         (WebCore::Page::groupName): Ditto
684         * page/SecurityOrigin.cpp:
685         (WebCore::isDefaultPortForProtocol): Ditto
686         (WebCore::SecurityOrigin::databaseIdentifier): Ditto
687         * page/mac/FrameMac.mm:
688         (WebCore::regExpForLabels): Ditto
689         * platform/KURL.cpp:
690         (WebCore::blankURL): Ditto
691         * platform/graphics/FontCache.cpp:
692         (WebCore::alternateFamilyName): Ditto
693         * platform/graphics/mac/FontCacheMac.mm:
694         (WebCore::FontCache::getSimilarFontPlatformData): Ditto
695         (WebCore::FontCache::getLastResortFallbackFont): Ditto
696         * platform/mac/ScrollbarThemeMac.mm:
697         (WebCore::ScrollbarTheme::nativeTheme): Ditto
698         * platform/mac/ThemeMac.mm:
699         (WebCore::platformTheme): Ditto
700         * platform/mac/ThreadCheck.mm:
701         (WebCoreReportThreadViolation): Ditto
702         * platform/network/NetworkStateNotifier.cpp:
703         (WebCore::networkStateNotifier): Ditto
704         * platform/network/mac/FormDataStreamMac.mm:
705         (WebCore::getStreamFormDataMap): Ditto
706         (WebCore::getStreamResourceHandleMap): Ditto
707         * platform/network/mac/ResourceResponseMac.mm:
708         (WebCore::ResourceResponse::platformLazyInit): Ditto
709         * platform/text/TextEncoding.cpp:
710         (WebCore::TextEncoding::isJapanese): Ditto
711         * rendering/RenderBlock.cpp:
712         (WebCore::continuationOutlineTable): Ditto
713         * rendering/RenderCounter.cpp:
714         (WebCore::counterMaps): Ditto
715         * rendering/RenderFlexibleBox.cpp:
716         (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
717         * rendering/RenderListItem.cpp:
718         (WebCore::RenderListItem::markerText): Ditto
719         * rendering/RenderScrollbarTheme.cpp:
720         (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
721         * rendering/RenderThemeMac.mm:
722         (WebCore::RenderThemeMac::systemFont): Ditto
723         * rendering/bidi.cpp:
724         (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
725         * rendering/style/RenderStyle.cpp:
726         (WebCore::RenderStyle::initialDashboardRegions): Ditto
727         (WebCore::RenderStyle::noneDashboardRegions): Ditto
728         * storage/LocalStorage.cpp:
729         (WebCore::localStorageMap): Ditto
730         * svg/SVGAnimateMotionElement.cpp:
731         (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
732         * svg/SVGAnimationElement.cpp:
733         (WebCore::SVGAnimationElement::calcMode): Ditto
734         (WebCore::SVGAnimationElement::attributeType): Ditto
735         (WebCore::SVGAnimationElement::isAdditive): Ditto
736         (WebCore::SVGAnimationElement::isAccumulated): Ditto
737         * svg/SVGLangSpace.cpp:
738         (WebCore::SVGLangSpace::xmlspace): Ditto
739         * svg/SVGSVGElement.cpp:
740         (WebCore::SVGSVGElement::contentScriptType): Ditto
741         (WebCore::SVGSVGElement::contentStyleType): Ditto
742         * svg/SVGStyleElement.cpp:
743         (WebCore::SVGStyleElement::type): Ditto
744         (WebCore::SVGStyleElement::media): Ditto
745         * svg/SVGTextContentElement.cpp:
746         (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
747         * svg/animation/SVGSMILElement.cpp:
748         (WebCore::SVGSMILElement::parseClockValue): Ditto
749         (WebCore::SVGSMILElement::restart): Ditto
750         (WebCore::SVGSMILElement::fill): Ditto
751         (WebCore::SVGSMILElement::repeatCount): Ditto
752         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
753         * svg/graphics/SVGResource.cpp:
754         (WebCore::clientMap): Ditto
755         * svg/graphics/SVGResourceMarker.cpp:
756         (WebCore::SVGResourceMarker::draw): Ditto
757         * xml/XMLHttpRequest.cpp:
758         (WebCore::preflightResultCache): Ditto
759         (WebCore::isSafeRequestHeader): Ditto
760         (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
761         * xml/XPathExpressionNode.cpp:
762         (WebCore::XPath::Expression::evaluationContext): Ditto
763         * xml/XPathParser.cpp:
764         (WebCore::XPath::isAxisName): Ditto
765         (WebCore::XPath::isNodeTypeName): Ditto
766         * xml/XPathValue.cpp:
767         (WebCore::XPath::Value::toNodeSet): Ditto
768
769 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
770
771         Rubber-stamped by Simon Hausmann.
772
773         Remove a bunch of unused methods in the Qt media element implementation
774
775         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
776         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
777         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
778
779 2008-11-05  Simon Fraser  <simon.fraser@apple.com>
780
781         Reviewed by Dave Hyatt
782
783         https://bugs.webkit.org/show_bug.cgi?id=21870
784         
785         Implement absoluteToLocal() to convert a point from absolute
786         to local coordinates, optionally taking transforms into account.
787         
788         Use this to set offsetX/offsetY in mouse events, thus fixing
789         offsetX/offsetY in events on elements with transforms.
790
791         Test: fast/events/offsetX-offsetY.html
792
793         * dom/MouseRelatedEvent.cpp:
794         (WebCore::MouseRelatedEvent::receivedTarget):
795         * rendering/RenderBox.cpp:
796         (WebCore::RenderBox::localToAbsolute):
797         (WebCore::RenderBox::absoluteToLocal):
798         (WebCore::RenderBox::offsetFromContainer):
799         * rendering/RenderBox.h:
800         * rendering/RenderObject.cpp:
801         (WebCore::RenderObject::absoluteToLocal):
802         * rendering/RenderObject.h:
803         * rendering/RenderTableCell.cpp:
804         (WebCore::RenderTableCell::localToAbsolute):
805         (WebCore::RenderTableCell::absoluteToLocal):
806         * rendering/RenderTableCell.h:
807         * rendering/RenderView.cpp:
808         (WebCore::RenderView::absoluteToLocal):
809         * rendering/RenderView.h:
810
811 2008-11-06  Alp Toker  <alp@nuanti.com>
812
813         Reviewed by Cameron Zwarich.
814
815         https://bugs.webkit.org/show_bug.cgi?id=22067
816         [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
817
818         null-check symbols loaded from plugin modules, initialize the function
819         table (like Win already does) and update it with the latest
820         additions. Adjust whitespace for easy diff'ing with the Win port code
821         from which it was forked.
822
823         This fixes crashes with libnspr4.so and any other plugins that don't
824         provide the symbols we expect.
825
826         * plugins/gtk/PluginPackageGtk.cpp:
827         (WebCore::PluginPackage::fetchInfo):
828         (WebCore::PluginPackage::load):
829
830 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
831
832         Reviewed by Simon Hausmann.
833
834         Removed dead (and broken) code from an ancient Symbian port.
835
836         * config.h:
837         * platform/text/AtomicString.h:
838         * platform/text/PlatformString.h:
839
840 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
841
842         Reviewed by Simon Hausmann.
843
844         Use QLibrary as PlatformModule when compiling with Qt for S60.
845
846         * platform/FileSystem.h:
847
848 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
849
850         Reviewed by Simon Hausmann.
851
852         Compile fix for Symbian.
853         The snprintf function is defined in stdio.h, the inclusion
854         of snprintf.h inside this PLATFORM(SYMBIAN) block does not
855         compile.
856
857         * config.h:
858
859 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
860
861         Reviewed by Simon Hausmann.
862
863         Disable webkit plugins for Symbian.
864
865         * WebCore.pro:
866
867 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
868
869         Fix build break in debug mode when XSLT is not enabled
870
871         * loader/Cache.cpp:
872         (WebCore::Cache::dumpStats):
873
874 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
875
876         Reviewed by Simon Hausmann.
877
878         Repaint video on UpdateRequest to prevent recursive painting
879
880         Calling QWidget::render() to update the video generates a paint
881         event that's then picked up by the event filter once more :(
882
883         We're really only interested in updates from Phonon, which we
884         get through the UpdateRequest for each new frame.
885
886         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
887         (WebCore::MediaPlayerPrivate::eventFilter):
888
889 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
890
891         Not reviewed.
892
893         Fix the WebCore build for some platforms by changing build scripts to
894         account for the recent move of the create_hash_table script from the kjs
895         subdirectory of JavaScriptCore to the root directory.
896
897         * WebCore.pro:
898         * make-generated-sources.sh:
899
900 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
901
902         Not reviewed.
903
904         Fix a case-sensitivity issue in Mac forwarding headers. Strangely
905         enough, this does not always cause the build to break, even with a
906         case-sensitive filesystem.
907
908         * ForwardingHeaders/runtime/Interpreter.h:
909
910 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
911
912         Reviewed by Maciej Stachowiak.
913
914         https://bugs.webkit.org/show_bug.cgi?id=22083
915         MessageEvents cannot be used across threads
916
917         * dom/Event.idl:
918         * dom/MessageEvent.idl:
919         Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
920         won't work.
921
922         * dom/MessagePort.cpp:
923         (WebCore::MessagePort::EventData::EventData):
924         (WebCore::MessagePort::EventData::~EventData):
925         (WebCore::MessagePort::clone):
926         (WebCore::MessagePort::postMessage):
927         (WebCore::MessagePort::startConversation):
928         (WebCore::MessagePort::dispatchMessages):
929         * dom/MessagePort.h:
930         Don't create a MessageEvent until dispatch time - messages can be posted across threads,
931         but MessageEvents are tied to the thread that they were created in.
932
933 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
934
935         Reviewed by Darin Adler.
936
937         https://bugs.webkit.org/show_bug.cgi?id=22066
938         Implement Worker global object
939
940         * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
941
942         * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
943         support is still disabled by default.
944
945         * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
946
947         * bindings/js/JSMessageChannelConstructor.cpp:
948         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
949
950         * bindings/js/JSWorkerContext.cpp: Added.
951         * bindings/js/JSWorkerContext.h: Added.
952         * bindings/js/WorkerScriptController.cpp: Added.
953         * bindings/js/WorkerScriptController.h: Added.
954         * dom/WorkerContext.cpp: Added.
955         * dom/WorkerContext.h: Added.
956         Added an implementation of worker contexts.
957
958         * dom/DedicatedWorker.cpp:
959         (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
960         (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
961         and lifetime is not clear at all.
962
963         * dom/WorkerLocation.cpp: Added.
964         * dom/WorkerLocation.h: Added.
965         * dom/WorkerLocation.idl: Added.
966         Added WorkerLocation, which is one of the objects available to workers.
967
968         * dom/WorkerThread.cpp: Added.
969         (WebCore::WorkerThread::WorkerThread):
970         (WebCore::WorkerThread::start):
971         (WebCore::WorkerThread::workerThreadStart):
972         (WebCore::WorkerThread::workerThread):
973         * dom/WorkerThread.h: Added.
974         (WebCore::WorkerThread::create):
975         Run some code in a worker thread (no message loop yet).
976
977 2008-11-05  Antti Koivisto  <antti@apple.com>
978
979         Reviewed by Dan Bernstein.
980         
981         https://bugs.webkit.org/show_bug.cgi?id=22093
982         Don't keep decoded stylesheet data in cache
983         
984         <rdar://problem/6343588>
985
986         Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
987         performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
988         style sheet data in cache by 2/3 in common case.  
989
990         * loader/CachedCSSStyleSheet.cpp:
991         (WebCore::CachedCSSStyleSheet::sheetText):
992         (WebCore::CachedCSSStyleSheet::data):
993         * loader/CachedCSSStyleSheet.h:
994
995 2008-11-05  David Kilzer  <ddkilzer@apple.com>
996
997         Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
998
999         <https://bugs.webkit.org/show_bug.cgi?id=21596>
1000
1001         Reviewed by Antti.
1002
1003         This patch adds real parsing for Pragma and Cache-Control headers
1004         based on RFC 2616, Sections 2, 14.9 and 14.32.  It also adds some
1005         new String and StringImpl methods to assist with the parsing.
1006
1007         * loader/Cache.cpp:
1008         (WebCore::Cache::dumpStats): Added.  Convenience method for dumping
1009         stats outside of Safari.
1010         * loader/Cache.h: Declared dumpStats().
1011
1012         * loader/CachedResource.cpp:
1013         (WebCore::CachedResource::mustRevalidate): Updated to use
1014         ResourceResponseBase::cacheControlDirectives() instead of substring
1015         matching of the entire Cache-Control header.
1016
1017         * loader/loader.cpp:
1018         (WebCore::Loader::Host::didReceiveResponse): Used the local
1019         'resource' variable instead of 'request->cachedResource()'.
1020
1021         * platform/network/ResourceResponseBase.cpp:
1022         (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
1023         m_haveParsedCacheControlHeader to false when a "Cache-Control"
1024         header is set.  Ditto for m_haveParsedPragmaHeader and "Pragma".
1025         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
1026         Provides parsed Pragma header directives.
1027         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
1028         Provides parsed Cache-Control header directives.
1029         (WebCore::isCacheHeaderSeparator): Added.  Returns true if a
1030         character is a separator character per RFC 2616, Section 2.2, else
1031         returns false.
1032         (WebCore::isControlCharacter): Added.  Returns true if a character
1033         is a control character per RFC 2616 Section 2.2, else returns false.
1034         (WebCore::trimToNextSeparator): Added.  Returns a string truncated
1035         at the first separator character per isCacheHeaderSeparator().
1036         (WebCore::parseCacheHeader): Added.  This is the main parsing
1037         routine for both Cache-Control and Pragma headers.
1038         (WebCore::parseCacheControlDirectiveValues): Added.  This splits
1039         certain Cache-Control directive values into a vector of strings.
1040         * platform/network/ResourceResponseBase.h:
1041         (WebCore::CacheControlDirectiveMap): Added.  Typedef for a parsed
1042         Cache-Control header.
1043         (WebCore::PragmaDirectiveMap): Added.  Typedef for a parsed Pragma
1044         header.
1045         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
1046         declaration.
1047         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
1048         (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
1049         Added.  Boolean to describe when the "Cache-Control" header needs to
1050         be reparsed.
1051         (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader):  Added.
1052         Boolean to describe when the "Pragma" header needs to be reparsed.
1053         (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
1054         Cached map to hold parsed "Cache-Control" headers.
1055         (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
1056         Cached map to hold parsed "Pragma" headers.
1057
1058         * platform/text/PlatformString.h:
1059         (WebCore::String::find): Added.  Returns the first match based on
1060         the character-matching function pointer passed in.
1061         (WebCore::String::removeCharacters): Added declaration.
1062         (WebCore::find): Added.  Inline method that takes a character-
1063         matching function pointer.  Called by StringImpl::find().
1064         * platform/text/String.cpp:
1065         (WebCore::String::removeCharacters): Added.  Calls
1066         StringImpl::removeCharacters().
1067         * platform/text/StringImpl.cpp:
1068         (WebCore::StringImpl::removeCharacters): Added.  Returns a string
1069         with all characters removed that match the character-matching
1070         function pointer passed in.  If there is no change to the string, it
1071         returns itself.  Based heavily on StringImpl::simplifyWhitespace().
1072         (WebCore::StringImpl::find): Added.  Calls WebCore::find().
1073         * platform/text/StringImpl.h:
1074         (WebCore::FindMatchFunctionPtr): Added.  Typedef for a character-
1075         matching function pointer.
1076         (WebCore::StringImpl::removeCharacters): Added declaration.
1077         (WebCore::StringImpl::find): Ditto.
1078
1079 2008-11-05  Justin Garcia  <justin.garcia@apple.com>
1080
1081         Reviewed by Beth Dakin.
1082
1083         <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
1084         
1085         As a rule, we don't allow merges out of blockquotes.  In the bug, we are inserting a text node 
1086         between two blockquotes.  Because the start merge moves the text node into a blockquote, when we
1087         determine whether or not we should do the end merge, it incorrectly appears as though the end merge 
1088         is merging out of a blockquote.  The fix is to determine whether or not we should do the end merge
1089         before we do the start merge, so that the start merge doesn't effect our decision.
1090
1091         * editing/ReplaceSelectionCommand.cpp:
1092         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
1093         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
1094         (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
1095         * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
1096
1097 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1098
1099         Not reviewed.
1100
1101         Speculatively fix the Windows build, even though these changes may not
1102         actually matter for anything in the build, because the Windows bots are
1103         behind.
1104
1105         * WebCore.vcproj/WebCore.vcproj:
1106
1107 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1108
1109         Not reviewed.
1110
1111         Fix the Qt build.
1112
1113         * bridge/qt/qt_class.cpp:
1114         * bridge/qt/qt_runtime.h:
1115
1116 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1117
1118         Rubber-stamped by Sam Weinig.
1119
1120         Move more files to the runtime subdirectory of JavaScriptCore.
1121
1122         * ForwardingHeaders/kjs/collector.h: Removed.
1123         * ForwardingHeaders/kjs/completion.h: Removed.
1124         * ForwardingHeaders/kjs/identifier.h: Removed.
1125         * ForwardingHeaders/kjs/interpreter.h: Removed.
1126         * ForwardingHeaders/kjs/lookup.h: Removed.
1127         * ForwardingHeaders/kjs/operations.h: Removed.
1128         * ForwardingHeaders/kjs/protect.h: Removed.
1129         * ForwardingHeaders/kjs/ustring.h: Removed.
1130         * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
1131         * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
1132         * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
1133         * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
1134         * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
1135         * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
1136         * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
1137         * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
1138         * bindings/js/GCController.cpp:
1139         * bindings/js/JSCustomPositionCallback.h:
1140         * bindings/js/JSCustomPositionErrorCallback.h:
1141         * bindings/js/JSCustomSQLStatementCallback.h:
1142         * bindings/js/JSCustomSQLStatementErrorCallback.h:
1143         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1144         * bindings/js/JSCustomVoidCallback.h:
1145         * bindings/js/JSDOMBinding.h:
1146         * bindings/js/JSDOMWindowBase.h:
1147         * bindings/js/JSEventListener.h:
1148         * bindings/js/ScheduledAction.h:
1149         * bindings/js/ScriptController.cpp:
1150         * bindings/js/ScriptController.h:
1151         * bindings/objc/WebScriptObject.mm:
1152         * bindings/scripts/CodeGeneratorJS.pm:
1153         * bridge/NP_jsobject.cpp:
1154         * bridge/c/c_class.cpp:
1155         * bridge/jni/jni_class.cpp:
1156         * bridge/jni/jni_jsobject.mm:
1157         * bridge/npruntime.cpp:
1158         * bridge/runtime_root.h:
1159         * history/CachedPage.h:
1160         * html/CanvasRenderingContext2D.cpp:
1161         * html/HTMLCanvasElement.cpp:
1162         * inspector/InspectorController.cpp:
1163         * inspector/JavaScriptCallFrame.cpp:
1164         * page/Console.cpp:
1165         * page/Page.cpp:
1166         * platform/text/AtomicString.cpp:
1167         * platform/text/PlatformString.h:
1168
1169 2008-11-05  Sam Weinig  <sam@webkit.org>
1170
1171         Reviewed by Anders Carlsson.
1172
1173         Fix https://bugs.webkit.org/show_bug.cgi?id=22085
1174         The Plugin JS object should expose item() and namedItem() methods to match Firefox
1175
1176         * bindings/js/JSPluginCustom.cpp:
1177         (WebCore::JSPlugin::nameGetter):
1178         * plugins/Plugin.cpp:
1179         (WebCore::Plugin::namedItem):
1180         * plugins/Plugin.h:
1181         * plugins/Plugin.idl:
1182
1183 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
1184
1185         Reviewed by Maciej Stachowiak.
1186
1187         https://bugs.webkit.org/show_bug.cgi?id=21060
1188         Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
1189
1190         Test: fast/dom/Range/surroundContents-check-boundary-points.html
1191
1192         * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
1193
1194 2008-11-05  Anders Carlsson  <andersca@apple.com>
1195
1196         Reviewed by Dan Bernstein.
1197
1198         Remove two global destructors from CoreTextController.
1199         
1200         * platform/graphics/mac/CoreTextController.cpp:
1201         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
1202
1203 2008-11-05  Darin Fisher  <darin@chromium.org>
1204
1205         Reviewed by Darin Adler.
1206
1207         CRASH at Scrollbar::invalidateRect due to null m_client
1208         https://bugs.webkit.org/show_bug.cgi?id=22080
1209
1210         * platform/Scrollbar.cpp:
1211         (WebCore::Scrollbar::isWindowActive):
1212         (WebCore::Scrollbar::invalidateRect):
1213
1214 2008-11-04  Sam Weinig  <sam@webkit.org>
1215
1216         Reviewed by Simon Hausmann.
1217
1218         Fix https://bugs.webkit.org/show_bug.cgi?id=21648
1219         navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
1220
1221         - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
1222
1223         * bindings/js/JSMimeTypeArrayCustom.cpp:
1224         (WebCore::JSMimeTypeArray::nameGetter):
1225         * bindings/js/JSPluginArrayCustom.cpp:
1226         (WebCore::JSPluginArray::nameGetter):
1227         * page/DOMWindow.idl:
1228         * plugins/MimeType.idl:
1229         * plugins/MimeTypeArray.cpp:
1230         (WebCore::MimeTypeArray::namedItem):
1231         * plugins/MimeTypeArray.h:
1232         * plugins/MimeTypeArray.idl:
1233         * plugins/Plugin.idl:
1234         * plugins/PluginArray.cpp:
1235         (WebCore::PluginArray::namedItem):
1236         * plugins/PluginArray.h:
1237         * plugins/PluginArray.idl:
1238
1239 2008-11-05  Steve Falkenburg  <sfalken@apple.com>
1240
1241         Build fix.
1242
1243         * plugins/PluginPackage.cpp:
1244
1245 2008-11-05  Jeff Cook  <cookiecaper@gmail.com>
1246
1247         Reviewed by Simon Hausmann and Tor Arne.
1248
1249         Fix crash in the Qt port when unloading swfdec and Flash 10
1250         by reordering window destruction and plugin stop.
1251
1252         See https://bugs.webkit.org/show_bug.cgi?id=20779
1253
1254         * plugins/qt/PluginViewQt.cpp:
1255         (WebCore::PluginView::stop):
1256
1257 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
1258
1259         Reviewed by Tor Arne Vestbø
1260
1261         Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
1262
1263         Otherwise Flash refuses to load and function :(
1264
1265         * plugins/PluginPackage.cpp:
1266         (WebCore::PluginPackage::determineQuirks):
1267         * plugins/PluginQuirkSet.h:
1268         (WebCore::):
1269         * plugins/qt/PluginViewQt.cpp:
1270         (WebCore::PluginView::getValue):
1271
1272 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
1273
1274         Reviewed by Tor Arne Vestbø
1275
1276         Unify determineQuirks between the Qt and the Gtk PluginPackage.
1277         Share the code for parsing the module version from the description.
1278         This is currently used to determine Flash based quirks.
1279
1280         * plugins/PluginPackage.cpp:
1281         (WebCore::PluginPackage::createPackage):
1282         (WebCore::PluginPackage::determineQuirks):
1283         (WebCore::PluginPackage::determineModuleVersionFromDescription):
1284         * plugins/PluginPackage.h:
1285         * plugins/gtk/PluginPackageGtk.cpp:
1286         (WebCore::PluginPackage::fetchInfo):
1287         * plugins/qt/PluginPackageQt.cpp:
1288         (WebCore::PluginPackage::fetchInfo):
1289
1290 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1291
1292         Rubber-stamped by Sam Weinig.
1293
1294         Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
1295
1296         * ForwardingHeaders/kjs/dtoa.h: Removed.
1297         * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
1298         * css/CSSParser.cpp:
1299         * platform/text/String.cpp:
1300         * platform/text/StringImpl.cpp:
1301
1302 2008-11-04  Jonathan Haas  <myrdred@gmail.com>
1303
1304         Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
1305
1306         Reviewed by Darin Adler.
1307
1308         Fixed an issue which could cause memory corruption using ToT libxml.
1309         See https://bugs.webkit.org/show_bug.cgi?id=15715
1310
1311         Test: fast/xsl/xslt-nested-stylesheets.xml
1312
1313         * xml/XSLImportRule.cpp:
1314         (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
1315         * xml/XSLStyleSheet.cpp:
1316         (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
1317         (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
1318         (WebCore::XSLStyleSheet::setParentStyleSheet): Added
1319         * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
1320
1321 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
1322
1323         No review.
1324
1325         Improved buid fix: include MathExtras.h to get roundf on all platforms.
1326
1327         * platform/graphics/FloatPoint.h:
1328
1329 2008-11-04  Brady Eidson  <beidson@apple.com>
1330
1331         Reviewed by John Sullivan
1332
1333         Add a simple "visited" method to HistoryItem for use by global history
1334
1335         * WebCore.base.exp:
1336
1337         * history/HistoryItem.cpp:
1338         (WebCore::HistoryItem::visited):  Update the title on the item, set last visited time,
1339           and bump the visit count.  All things that should happen when a url is visited again!
1340         * history/HistoryItem.h:
1341
1342 2008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
1343
1344         Build fix. Not reviewed.
1345
1346         * platform/graphics/FloatPoint.h: include math.h.
1347         reported by zdobersek in #webkit.
1348
1349 2008-11-04  Darin Fisher  <darin@chromium.org>
1350  
1351         Reviewed by Anders Carlsson.
1352  
1353         No need to clobber all ResourceRequest fields in FrameLoader::reload()
1354         https://bugs.webkit.org/show_bug.cgi?id=21949
1355  
1356         * loader/FrameLoader.cpp:
1357         (WebCore::FrameLoader::reload):
1358
1359 2008-11-04  Darin Adler  <darin@apple.com>
1360
1361         Reviewed by Tim Hatcher.
1362
1363         * storage/Database.cpp:
1364         (WebCore::databaseVersionKey): Tweaked formatting.
1365
1366 2008-11-03  Darin Adler  <darin@apple.com>
1367
1368         Reviewed by Tim Hatcher.
1369
1370         - https://bugs.webkit.org/show_bug.cgi?id=22061
1371           create script to check for exit-time destructors
1372
1373         * WebCore.xcodeproj/project.pbxproj: Added a script
1374         phase that runs the check-for-exit-time-destructors script.
1375
1376         * html/HTMLAttributeNames.in: Removed some unused attribute names.
1377
1378         * html/HTMLEmbedElement.cpp:
1379         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
1380         sets the write-only m_pluginPage.
1381         * html/HTMLEmbedElement.h: Ditto.
1382
1383         * platform/mac/CursorMac.mm:
1384         (WebCore::leakNamedCursor): Changed to return a Cursor&.
1385         (WebCore::pointerCursor): Changed to leak an object to avoid an
1386         exit-time destructor.
1387         (WebCore::crossCursor): Ditto.
1388         (WebCore::handCursor): Ditto.
1389         (WebCore::moveCursor): Ditto.
1390         (WebCore::verticalTextCursor): Ditto.
1391         (WebCore::cellCursor): Ditto.
1392         (WebCore::contextMenuCursor): Ditto.
1393         (WebCore::aliasCursor): Ditto.
1394         (WebCore::zoomInCursor): Ditto.
1395         (WebCore::zoomOutCursor): Ditto.
1396         (WebCore::copyCursor): Ditto.
1397         (WebCore::noneCursor): Ditto.
1398         (WebCore::progressCursor): Ditto.
1399         (WebCore::noDropCursor): Ditto.
1400         (WebCore::notAllowedCursor): Ditto.
1401         (WebCore::iBeamCursor): Ditto.
1402         (WebCore::waitCursor): Ditto.
1403         (WebCore::helpCursor): Ditto.
1404         (WebCore::eastResizeCursor): Ditto.
1405         (WebCore::northResizeCursor): Ditto.
1406         (WebCore::northEastResizeCursor): Ditto.
1407         (WebCore::northWestResizeCursor): Ditto.
1408         (WebCore::southResizeCursor): Ditto.
1409         (WebCore::southEastResizeCursor): Ditto.
1410         (WebCore::southWestResizeCursor): Ditto.
1411         (WebCore::westResizeCursor): Ditto.
1412         (WebCore::northSouthResizeCursor): Ditto.
1413         (WebCore::eastWestResizeCursor): Ditto.
1414         (WebCore::northEastSouthWestResizeCursor): Ditto.
1415         (WebCore::northWestSouthEastResizeCursor): Ditto.
1416         (WebCore::columnResizeCursor): Ditto.
1417         (WebCore::rowResizeCursor): Ditto.
1418         (WebCore::grabCursor): Ditto.
1419         (WebCore::grabbingCursor): Ditto.
1420
1421         * storage/Database.cpp:
1422         (WebCore::guidMutex): Changed to leak an object to avoid an
1423         exit-time destructor. Also added a comment explaining why it's
1424         thread safe.
1425         (WebCore::guidToVersionMap): Ditto.
1426         (WebCore::guidToDatabaseMap): Ditto.
1427         (WebCore::Database::databaseInfoTableName): Ditto.
1428         (WebCore::databaseVersionKey): Ditto.
1429         (WebCore::Database::getVersionFromDatabase): Ditto.
1430         (WebCore::Database::setVersionInDatabase): Ditto.
1431         (WebCore::guidForOriginAndName): Ditto.
1432         * storage/DatabaseTracker.cpp:
1433         (WebCore::DatabaseTracker::tracker): Ditto.
1434         (WebCore::notificationMutex): Ditto.
1435         (WebCore::notificationQueue): Ditto.
1436         (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
1437
1438 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
1439
1440         Reviewed by Dave Hyatt
1441
1442         https://bugs.webkit.org/show_bug.cgi?id=21941
1443
1444         Rename absolutePosition() to localToAbsolute(), and add the ability
1445         to optionally take transforms into account (which will eventually be the
1446         default behavior).
1447
1448         * WebCore.base.exp:
1449         * WebCore.xcodeproj/project.pbxproj:
1450         * dom/ContainerNode.cpp:
1451         (WebCore::ContainerNode::getUpperLeftCorner):
1452         (WebCore::ContainerNode::getLowerRightCorner):
1453         (WebCore::ContainerNode::getRect):
1454         * dom/ContainerNode.h:
1455         * dom/MouseRelatedEvent.cpp:
1456         (WebCore::MouseRelatedEvent::receivedTarget):
1457         * dom/Node.cpp:
1458         (WebCore::Node::getRect):
1459         * editing/SelectionController.cpp:
1460         (WebCore::SelectionController::layout):
1461         (WebCore::SelectionController::caretRect):
1462         * editing/visible_units.cpp:
1463         (WebCore::previousLinePosition):
1464         (WebCore::nextLinePosition):
1465         * html/HTMLAnchorElement.cpp:
1466         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1467         (WebCore::HTMLAnchorElement::defaultEventHandler):
1468         * html/HTMLAreaElement.cpp:
1469         (WebCore::HTMLAreaElement::getRect):
1470         * html/HTMLImageElement.cpp:
1471         (WebCore::HTMLImageElement::x):
1472         (WebCore::HTMLImageElement::y):
1473         * html/HTMLInputElement.cpp:
1474         (WebCore::HTMLInputElement::defaultEventHandler):
1475         * html/HTMLInputElement.h:
1476         * page/AccessibilityRenderObject.cpp:
1477         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1478         * page/EventHandler.cpp:
1479         (WebCore::EventHandler::handleDrag):
1480         * platform/graphics/FloatPoint.h:
1481         (WebCore::roundedIntPoint):
1482         * platform/graphics/IntSize.h:
1483         (WebCore::IntSize::expand):
1484         * rendering/LayoutState.cpp:
1485         (WebCore::LayoutState::LayoutState):
1486         * rendering/RenderBlock.cpp:
1487         (WebCore::RenderBlock::layoutBlock):
1488         (WebCore::RenderBlock::paintObject):
1489         (WebCore::RenderBlock::selectionGapRects):
1490         (WebCore::RenderBlock::fillBlockSelectionGaps):
1491         (WebCore::RenderBlock::nodeAtPoint):
1492         (WebCore::RenderBlock::positionForCoordinates):
1493         * rendering/RenderBox.cpp:
1494         (WebCore::RenderBox::localToAbsolute):
1495         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1496         (WebCore::RenderBox::caretRect):
1497         * rendering/RenderBox.h:
1498         (WebCore::RenderBox::relativePositionOffset):
1499         * rendering/RenderContainer.cpp:
1500         (WebCore::RenderContainer::addLineBoxRects):
1501         * rendering/RenderFlow.cpp:
1502         (WebCore::RenderFlow::absoluteClippedOverflowRect):
1503         (WebCore::RenderFlow::caretRect):
1504         (WebCore::RenderFlow::addFocusRingRects):
1505         * rendering/RenderLayer.cpp:
1506         (WebCore::RenderLayer::updateLayerPosition):
1507         (WebCore::RenderLayer::convertToLayerCoords):
1508         (WebCore::RenderLayer::addScrolledContentOffset):
1509         (WebCore::RenderLayer::subtractScrolledContentOffset):
1510         (WebCore::RenderLayer::scrollRectToVisible):
1511         * rendering/RenderLayer.h:
1512         (WebCore::RenderLayer::scrolledContentOffset):
1513         (WebCore::RenderLayer::relativePositionOffset):
1514         * rendering/RenderListBox.cpp:
1515         (WebCore::RenderListBox::panScroll):
1516         (WebCore::RenderListBox::scrollToward):
1517         * rendering/RenderListMarker.cpp:
1518         (WebCore::RenderListMarker::selectionRect):
1519         * rendering/RenderObject.cpp:
1520         (WebCore::RenderObject::absoluteBoundingBoxRect):
1521         (WebCore::RenderObject::computeAbsoluteRepaintRect):
1522         (WebCore::RenderObject::localToAbsolute):
1523         (WebCore::RenderObject::addDashboardRegions):
1524         (WebCore::RenderObject::absoluteContentBox):
1525         (WebCore::RenderObject::absoluteOutlineBox):
1526         * rendering/RenderObject.h:
1527         (WebCore::RenderObject::localToAbsoluteForContent):
1528         * rendering/RenderPart.cpp:
1529         (WebCore::RenderPart::updateWidgetPosition):
1530         * rendering/RenderReplaced.cpp:
1531         (WebCore::RenderReplaced::selectionRect):
1532         * rendering/RenderSVGInlineText.cpp:
1533         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
1534         * rendering/RenderSVGText.cpp:
1535         (WebCore::RenderSVGText::absoluteRects):
1536         * rendering/RenderTableCell.cpp:
1537         (WebCore::RenderTableCell::localToAbsolute):
1538         * rendering/RenderTableCell.h:
1539         * rendering/RenderText.cpp:
1540         (WebCore::RenderText::addLineBoxRects):
1541         (WebCore::RenderText::caretRect):
1542         (WebCore::RenderText::selectionRect):
1543         * rendering/RenderVideo.cpp:
1544         (WebCore::RenderVideo::updatePlayer):
1545         * rendering/RenderView.cpp:
1546         (WebCore::RenderView::localToAbsolute):
1547         * rendering/RenderView.h:
1548         * rendering/RenderWidget.cpp:
1549         (WebCore::RenderWidget::updateWidgetPosition):
1550         * svg/SVGSVGElement.cpp:
1551         (WebCore::SVGSVGElement::getScreenCTM):
1552
1553 2008-11-03  Yael Aharon  <yael.aharon@nokia.com>
1554
1555         Reviewed by Simon Hausmann.
1556
1557         Add methods for getting and setting user data on History Item.
1558         This change is limited to QT port only. Tests were added in
1559         the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
1560
1561         Minor change by Simon: made the functions inline and added a missing
1562         const.
1563
1564         * history/HistoryItem.h:
1565
1566 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
1567
1568         Reviewed by Darin Adler.
1569
1570         https://bugs.webkit.org/show_bug.cgi?id=22030
1571         Make EventNames usable from multiple threads
1572
1573         * platform/text/AtomicString.cpp:
1574         (WebCore::stringTable):
1575         (WebCore::AtomicString::add):
1576         (WebCore::AtomicString::remove):
1577         (WebCore::AtomicString::find):
1578         (WebCore::AtomicString::init):
1579         * platform/text/AtomicString.h:
1580         Atomic string table is now per-thread. Individual strings cannot be shared between threads,
1581         so global AtomicString constants cannot be used from threads other than the main one.
1582
1583         * dom/EventNames.cpp:
1584         (WebCore::EventNames::EventNames):
1585         (WebCore::eventNames):
1586         (WebCore::EventNames::init):
1587         * dom/EventNames.h:
1588         Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
1589         eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
1590         threads.
1591
1592         * WebCore.base.exp:
1593         * bindings/js/JSDOMWindowBase.cpp:
1594         * bindings/js/JSEventListener.cpp:
1595         * bindings/js/ScriptController.cpp:
1596         (WebCore::ScriptController::processingUserGesture):
1597         * dom/BeforeTextInsertedEvent.cpp:
1598         (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
1599         * dom/BeforeUnloadEvent.cpp:
1600         (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
1601         * dom/CharacterData.cpp:
1602         (WebCore::CharacterData::dispatchModifiedEvent):
1603         * dom/ContainerNode.cpp:
1604         (WebCore::dispatchChildInsertionEvents):
1605         (WebCore::dispatchChildRemovalEvents):
1606         * dom/DedicatedWorker.cpp:
1607         (WebCore::DedicatedWorker::dispatchErrorEvent):
1608         * dom/Document.cpp:
1609         (WebCore::Document::implicitClose):
1610         (WebCore::Document::setFocusedNode):
1611         (WebCore::Document::addListenerTypeIfNeeded):
1612         (WebCore::Document::removeWindowInlineEventListenerForType):
1613         (WebCore::Document::addWindowEventListener):
1614         (WebCore::Document::removeWindowEventListener):
1615         (WebCore::Document::finishedParsing):
1616         * dom/EventTargetNode.cpp:
1617         (WebCore::EventTargetNode::dispatchGenericEvent):
1618         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
1619         (WebCore::EventTargetNode::dispatchWindowEvent):
1620         (WebCore::EventTargetNode::dispatchUIEvent):
1621         (WebCore::EventTargetNode::dispatchSimulatedClick):
1622         (WebCore::EventTargetNode::dispatchMouseEvent):
1623         (WebCore::EventTargetNode::dispatchFocusEvent):
1624         (WebCore::EventTargetNode::dispatchBlurEvent):
1625         (WebCore::EventTargetNode::defaultEventHandler):
1626         (WebCore::EventTargetNode::on*): (multiple methods)
1627         (WebCore::EventTargetNode::setOn*): (multiple methods)
1628         * dom/KeyboardEvent.cpp:
1629         (WebCore::eventTypeForKeyboardEventType):
1630         (WebCore::KeyboardEvent::keyCode):
1631         (WebCore::KeyboardEvent::charCode):
1632         * dom/MessageEvent.cpp:
1633         (WebCore::MessageEvent::MessageEvent):
1634         * dom/MessagePort.cpp:
1635         (WebCore::MessagePort::dispatchMessages):
1636         (WebCore::MessagePort::dispatchCloseEvent):
1637         * dom/MouseEvent.cpp:
1638         (WebCore::MouseEvent::isDragEvent):
1639         (WebCore::MouseEvent::toElement):
1640         (WebCore::MouseEvent::fromElement):
1641         * dom/OverflowEvent.cpp:
1642         (WebCore::OverflowEvent::OverflowEvent):
1643         * dom/TextEvent.cpp:
1644         (WebCore::TextEvent::TextEvent):
1645         * dom/WebKitAnimationEvent.cpp:
1646         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
1647         (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
1648         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
1649         (WebCore::WebKitAnimationEvent::animationName):
1650         (WebCore::WebKitAnimationEvent::elapsedTime):
1651         * dom/WebKitTransitionEvent.cpp:
1652         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
1653         (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
1654         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
1655         (WebCore::WebKitTransitionEvent::propertyName):
1656         (WebCore::WebKitTransitionEvent::elapsedTime):
1657         * dom/WheelEvent.cpp:
1658         (WebCore::WheelEvent::WheelEvent):
1659         (WebCore::WheelEvent::initWheelEvent):
1660         * dom/XMLTokenizerLibxml2.cpp:
1661         * dom/XMLTokenizerQt.cpp:
1662         * editing/DeleteButton.cpp:
1663         (WebCore::DeleteButton::defaultEventHandler):
1664         * editing/EditCommand.cpp:
1665         * editing/Editor.cpp:
1666         (WebCore::Editor::canDHTMLCut):
1667         (WebCore::Editor::canDHTMLCopy):
1668         (WebCore::Editor::canDHTMLPaste):
1669         (WebCore::Editor::tryDHTMLCopy):
1670         (WebCore::Editor::tryDHTMLCut):
1671         (WebCore::Editor::tryDHTMLPaste):
1672         (WebCore::dispatchEditableContentChangedEvents):
1673         * editing/ReplaceSelectionCommand.cpp:
1674         (WebCore::ReplacementFragment::ReplacementFragment):
1675         * editing/SelectionController.cpp:
1676         (WebCore::SelectionController::setFocused):
1677         * html/HTMLAnchorElement.cpp:
1678         (WebCore::HTMLAnchorElement::defaultEventHandler):
1679         * html/HTMLBodyElement.cpp:
1680         (WebCore::HTMLBodyElement::parseMappedAttribute):
1681         * html/HTMLButtonElement.cpp:
1682         (WebCore::HTMLButtonElement::parseMappedAttribute):
1683         (WebCore::HTMLButtonElement::defaultEventHandler):
1684         * html/HTMLElement.cpp:
1685         (WebCore::HTMLElement::parseMappedAttribute):
1686         * html/HTMLFormControlElement.cpp:
1687         (WebCore::HTMLFormControlElement::onChange):
1688         * html/HTMLFormElement.cpp:
1689         (WebCore::HTMLFormElement::handleLocalEvents):
1690         (WebCore::HTMLFormElement::prepareSubmit):
1691         (WebCore::HTMLFormElement::reset):
1692         (WebCore::HTMLFormElement::parseMappedAttribute):
1693         * html/HTMLFrameElementBase.cpp:
1694         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1695         * html/HTMLFrameSetElement.cpp:
1696         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1697         * html/HTMLImageElement.cpp:
1698         (WebCore::HTMLImageElement::parseMappedAttribute):
1699         * html/HTMLImageLoader.cpp:
1700         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1701         * html/HTMLInputElement.cpp:
1702         (WebCore::HTMLInputElement::parseMappedAttribute):
1703         (WebCore::HTMLInputElement::setValueFromRenderer):
1704         (WebCore::HTMLInputElement::preDispatchEventHandler):
1705         (WebCore::HTMLInputElement::postDispatchEventHandler):
1706         (WebCore::HTMLInputElement::defaultEventHandler):
1707         (WebCore::HTMLInputElement::onSearch):
1708         * html/HTMLLabelElement.cpp:
1709         (WebCore::HTMLLabelElement::defaultEventHandler):
1710         * html/HTMLMediaElement.cpp:
1711         (WebCore::HTMLMediaElement::load):
1712         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
1713         (WebCore::HTMLMediaElement::setReadyState):
1714         (WebCore::HTMLMediaElement::progressEventTimerFired):
1715         (WebCore::HTMLMediaElement::seek):
1716         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
1717         (WebCore::HTMLMediaElement::setPlaybackRate):
1718         (WebCore::HTMLMediaElement::play):
1719         (WebCore::HTMLMediaElement::pause):
1720         (WebCore::HTMLMediaElement::setVolume):
1721         (WebCore::HTMLMediaElement::setMuted):
1722         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1723         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
1724         * html/HTMLObjectElement.cpp:
1725         (WebCore::HTMLObjectElement::parseMappedAttribute):
1726         * html/HTMLOptionElement.cpp:
1727         * html/HTMLScriptElement.cpp:
1728         (WebCore::HTMLScriptElement::parseMappedAttribute):
1729         (WebCore::HTMLScriptElement::dispatchLoadEvent):
1730         (WebCore::HTMLScriptElement::dispatchErrorEvent):
1731         * html/HTMLSelectElement.cpp:
1732         (WebCore::HTMLSelectElement::parseMappedAttribute):
1733         (WebCore::HTMLSelectElement::defaultEventHandler):
1734         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1735         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1736         * html/HTMLTextAreaElement.cpp:
1737         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1738         (WebCore::HTMLTextAreaElement::defaultEventHandler):
1739         * html/HTMLTokenizer.cpp:
1740         (WebCore::HTMLTokenizer::notifyFinished):
1741         * loader/FrameLoader.cpp:
1742         (WebCore::FrameLoader::stopLoading):
1743         (WebCore::FrameLoader::canCachePage):
1744         * loader/ImageDocument.cpp:
1745         (WebCore::ImageEventListener::handleEvent):
1746         * loader/ImageLoader.cpp:
1747         * loader/MediaDocument.cpp:
1748         (WebCore::MediaDocument::defaultEventHandler):
1749         * loader/appcache/DOMApplicationCache.cpp:
1750         (WebCore::DOMApplicationCache::callCheckingListener):
1751         (WebCore::DOMApplicationCache::callErrorListener):
1752         (WebCore::DOMApplicationCache::callNoUpdateListener):
1753         (WebCore::DOMApplicationCache::callDownloadingListener):
1754         (WebCore::DOMApplicationCache::callProgressListener):
1755         (WebCore::DOMApplicationCache::callUpdateReadyListener):
1756         (WebCore::DOMApplicationCache::callCachedListener):
1757         * page/AccessibilityObject.cpp:
1758         * page/AccessibilityRenderObject.cpp:
1759         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1760         * page/ContextMenuController.cpp:
1761         (WebCore::ContextMenuController::handleContextMenuEvent):
1762         * page/DOMWindow.cpp:
1763         (WebCore::DOMWindow::on*): (multiple methods)
1764         (WebCore::DOMWindow::setOn*): (multiple methods)
1765         * page/EventHandler.cpp:
1766         (WebCore::EventHandler::handleMousePressEvent):
1767         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1768         (WebCore::EventHandler::handleMouseMoveEvent):
1769         (WebCore::EventHandler::handleMouseReleaseEvent):
1770         (WebCore::EventHandler::updateDragAndDrop):
1771         (WebCore::EventHandler::cancelDragAndDrop):
1772         (WebCore::EventHandler::performDragAndDrop):
1773         (WebCore::EventHandler::updateMouseEventTargetNode):
1774         (WebCore::EventHandler::dispatchMouseEvent):
1775         (WebCore::EventHandler::sendContextMenuEvent):
1776         (WebCore::EventHandler::canMouseDownStartSelect):
1777         (WebCore::EventHandler::canMouseDragExtendSelect):
1778         (WebCore::EventHandler::defaultKeyboardEventHandler):
1779         (WebCore::EventHandler::dragSourceMovedTo):
1780         (WebCore::EventHandler::dragSourceEndedAt):
1781         (WebCore::EventHandler::handleDrag):
1782         (WebCore::EventHandler::handleTextInputEvent):
1783         * page/FocusController.cpp:
1784         * page/Frame.cpp:
1785         (WebCore::Frame::sendResizeEvent):
1786         (WebCore::Frame::sendScrollEvent):
1787         * page/Page.cpp:
1788         (WebCore::networkStateChanged):
1789         * page/animation/AnimationBase.cpp:
1790         (WebCore::AnimationBase::updateStateMachine):
1791         (WebCore::AnimationBase::animationTimerCallbackFired):
1792         (WebCore::AnimationBase::primeEventTimers):
1793         * page/animation/ImplicitAnimation.cpp:
1794         (WebCore::ImplicitAnimation::onAnimationEnd):
1795         (WebCore::ImplicitAnimation::sendTransitionEvent):
1796         * page/animation/KeyframeAnimation.cpp:
1797         (WebCore::KeyframeAnimation::onAnimationStart):
1798         (WebCore::KeyframeAnimation::onAnimationIteration):
1799         (WebCore::KeyframeAnimation::onAnimationEnd):
1800         (WebCore::KeyframeAnimation::sendAnimationEvent):
1801         * page/gtk/EventHandlerGtk.cpp:
1802         * page/mac/EventHandlerMac.mm:
1803         (WebCore::isKeyboardOptionTab):
1804         * page/mac/FrameMac.mm:
1805         * page/qt/EventHandlerQt.cpp:
1806         (WebCore::isKeyboardOptionTab):
1807         * plugins/PluginView.cpp:
1808         * plugins/gtk/PluginViewGtk.cpp:
1809         * plugins/qt/PluginViewQt.cpp:
1810         * plugins/win/PluginViewWin.cpp:
1811         (WebCore::PluginView::handleKeyboardEvent):
1812         (WebCore::PluginView::handleMouseEvent):
1813         * rendering/MediaControlElements.cpp:
1814         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
1815         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
1816         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
1817         (WebCore::MediaControlTimelineElement::defaultEventHandler):
1818         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
1819         * rendering/RenderFrameSet.cpp:
1820         (WebCore::RenderFrameSet::userResize):
1821         * rendering/RenderLayer.cpp:
1822         (WebCore::RenderLayer::scrollToOffset):
1823         * rendering/RenderListBox.cpp:
1824         (WebCore::RenderListBox::valueChanged):
1825         * rendering/RenderMedia.cpp:
1826         (WebCore::RenderMedia::forwardEvent):
1827         * rendering/RenderObject.cpp:
1828         * rendering/RenderSlider.cpp:
1829         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1830         * rendering/RenderTextControl.cpp:
1831         (WebCore::RenderTextControl::forwardEvent):
1832         (WebCore::RenderTextControl::selectionChanged):
1833         * rendering/RenderWidget.cpp:
1834         * rendering/TextControlInnerElements.cpp:
1835         (WebCore::TextControlInnerTextElement::defaultEventHandler):
1836         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
1837         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
1838         * storage/LocalStorageArea.cpp:
1839         (WebCore::LocalStorageArea::dispatchStorageEvent):
1840         * storage/SessionStorageArea.cpp:
1841         (WebCore::SessionStorageArea::dispatchStorageEvent):
1842         * svg/SVGAElement.cpp:
1843         (WebCore::SVGAElement::defaultEventHandler):
1844         * svg/SVGDocument.cpp:
1845         (WebCore::SVGDocument::dispatchZoomEvent):
1846         (WebCore::SVGDocument::dispatchScrollEvent):
1847         * svg/SVGElement.cpp:
1848         (WebCore::SVGElement::parseMappedAttribute):
1849         (WebCore::hasLoadListener):
1850         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
1851         * svg/SVGElementInstance.cpp:
1852         (WebCore::SVGElementInstance::on*): (multiple methods)
1853         (WebCore::SVGElementInstance::setOn*): (multiple methods)
1854         * svg/SVGImageLoader.cpp:
1855         (WebCore::SVGImageLoader::dispatchLoadEvent):
1856         * svg/SVGSVGElement.cpp:
1857         (WebCore::SVGSVGElement::parseMappedAttribute):
1858         * svg/SVGScriptElement.cpp:
1859         (WebCore::SVGScriptElement::dispatchErrorEvent):
1860         * xml/XMLHttpRequest.cpp:
1861         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
1862         (WebCore::XMLHttpRequest::dispatchAbortEvent):
1863         (WebCore::XMLHttpRequest::dispatchErrorEvent):
1864         (WebCore::XMLHttpRequest::dispatchLoadEvent):
1865         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
1866         (WebCore::XMLHttpRequest::dispatchProgressEvent):
1867         * xml/XMLHttpRequestUpload.cpp:
1868         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
1869         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
1870         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
1871         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
1872         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1873         * xml/XPathResult.cpp:
1874         (WebCore::XPathResult::XPathResult):
1875         (WebCore::XPathResult::~XPathResult):
1876         (WebCore::XPathResult::invalidateIteratorState):
1877         Access event names via eventNames() function.
1878
1879 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1880
1881         Reviewed by Mark Rowe.
1882
1883         Delete unused forwarding headers.
1884
1885         * ForwardingHeaders/kjs/Activation.h: Removed.
1886         * ForwardingHeaders/kjs/Register.h: Removed.
1887         * ForwardingHeaders/kjs/RegisterID.h: Removed.
1888
1889 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1890
1891         Not reviewed.
1892
1893         Fix stupid typo in previous build fix.
1894
1895         * bindings/js/JSStorageCustom.cpp:
1896         * bindings/scripts/CodeGeneratorJS.pm:
1897         * bridge/NP_jsobject.cpp:
1898
1899 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1900
1901         Not reviewed.
1902
1903         Fix the build for all non-Mac platforms.
1904
1905         * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
1906         * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
1907         * bindings/js/JSStorageCustom.cpp:
1908         * bindings/scripts/CodeGeneratorJS.pm:
1909         * bridge/NP_jsobject.cpp:
1910
1911 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1912
1913         Not reviewed.
1914
1915         Fix the wxWindows build.
1916
1917         * bridge/c/c_instance.cpp:
1918
1919 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1920
1921         Rubber-stamped by Maciej Stachowiak.
1922
1923         Move more files into the runtime subdirectory of JavaScriptCore.
1924
1925         * ForwardingHeaders/kjs/ArgList.h: Removed.
1926         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
1927         * ForwardingHeaders/kjs/ExecState.h: Removed.
1928         * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
1929         * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
1930         * ForwardingHeaders/kjs/JSLock.h: Removed.
1931         * ForwardingHeaders/kjs/SymbolTable.h: Removed.
1932         * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
1933         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
1934         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1935         * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
1936         * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
1937         * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
1938         * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
1939         * bindings/js/GCController.cpp:
1940         * bindings/js/JSCustomPositionCallback.cpp:
1941         * bindings/js/JSCustomPositionErrorCallback.cpp:
1942         * bindings/js/JSCustomSQLStatementCallback.cpp:
1943         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1944         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1945         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1946         * bindings/js/JSCustomVoidCallback.cpp:
1947         * bindings/js/JSCustomXPathNSResolver.cpp:
1948         * bindings/js/JSDOMWindowBase.cpp:
1949         * bindings/js/JSEventCustom.cpp:
1950         * bindings/js/JSEventListener.cpp:
1951         * bindings/js/JSNodeFilterCondition.cpp:
1952         * bindings/js/ScheduledAction.cpp:
1953         * bindings/js/ScriptController.cpp:
1954         * bindings/js/ScriptControllerMac.mm:
1955         * bindings/objc/WebScriptObject.mm:
1956         * bridge/NP_jsobject.cpp:
1957         * bridge/c/c_class.cpp:
1958         * bridge/c/c_instance.cpp:
1959         * bridge/c/c_runtime.cpp:
1960         * bridge/c/c_utility.cpp:
1961         * bridge/jni/jni_class.cpp:
1962         * bridge/jni/jni_instance.cpp:
1963         * bridge/jni/jni_jsobject.mm:
1964         * bridge/jni/jni_objc.mm:
1965         * bridge/jni/jni_runtime.cpp:
1966         * bridge/jni/jni_runtime.h:
1967         * bridge/jni/jni_utility.cpp:
1968         * bridge/npruntime.cpp:
1969         * bridge/objc/objc_instance.mm:
1970         * bridge/objc/objc_runtime.mm:
1971         * bridge/objc/objc_utility.mm:
1972         * bridge/runtime.cpp:
1973         * dom/Document.cpp:
1974         * dom/Node.cpp:
1975         * dom/NodeFilter.cpp:
1976         * dom/NodeIterator.cpp:
1977         * dom/TreeWalker.cpp:
1978         * history/CachedPage.cpp:
1979         * inspector/InspectorController.cpp:
1980         * inspector/JavaScriptCallFrame.cpp:
1981         * inspector/JavaScriptCallFrame.h:
1982         * inspector/JavaScriptDebugServer.cpp:
1983         * inspector/JavaScriptProfileNode.cpp:
1984         * loader/FrameLoader.cpp:
1985         * loader/icon/IconDatabase.cpp:
1986         * page/Console.cpp:
1987         * page/Page.cpp:
1988         * page/mac/FrameMac.mm:
1989         * plugins/PluginView.cpp:
1990         * plugins/gtk/PluginViewGtk.cpp:
1991         * plugins/qt/PluginViewQt.cpp:
1992         * plugins/win/PluginViewWin.cpp:
1993         * storage/Database.cpp:
1994         * xml/XMLHttpRequest.cpp:
1995
1996 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
1997
1998         Reviewed by Sam Weinig.
1999
2000         Remove the forwarding header for FunctionCallProfile, because it was
2001         renamed to ProfileNode in r33466.
2002
2003         * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
2004
2005 2008-11-03  Simon Fraser  <simon.fraser@apple.com>
2006
2007         Reviewed by Dave Hyatt
2008
2009         https://bugs.webkit.org/show_bug.cgi?id=22026
2010
2011         When computing the bounds of the transparency layer, we need to
2012         map the clipRect through the enclosing transform.
2013         
2014         Test: fast/layers/opacity-transforms.html
2015
2016         * rendering/RenderLayer.cpp:
2017         (WebCore::transparencyClipBox):
2018
2019 2008-11-03  Kevin Decker  <kdecker@apple.com>
2020
2021         Reviewed by Anders Carlsson.
2022
2023         https://bugs.webkit.org/show_bug.cgi?id=22053
2024
2025         Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 
2026
2027         * bridge/npapi.h:
2028
2029 2008-11-03  Xan Lopez  <xan@gnome.org>
2030
2031         Reviewed by Alp Toker.
2032
2033         Update parseDataUrl() function in the libsoup http backend with
2034         the one from the curl backend which has recent correctness and crash
2035         fixes.
2036
2037         * platform/network/soup/ResourceHandleSoup.cpp:
2038         (WebCore::parseDataUrl):
2039
2040 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2041
2042         Reviewed by Alp Toker.
2043
2044         https://bugs.webkit.org/show_bug.cgi?id=22041
2045         Fix CURL crashes on the test suite
2046
2047         Fix segfault with setDefersLoading(). Do not call into curl when we
2048         don't have a CURL handle.
2049
2050         It is attempted to defer the loading before the load has been
2051         started (no curl handle was allocated yet). If that happens then
2052         just remember that. ResourceHandleManager::startJob is already taking
2053         care of this and in initResourceHandle the the downloading will
2054         be paused if needed.
2055
2056         Fixes fast/loader/simultaneous-reloads-assert.html
2057
2058         * platform/network/curl/ResourceHandleCurl.cpp:
2059         (WebCore::ResourceHandle::setDefersLoading):
2060
2061 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2062
2063         Reviewed by Alp Toker.
2064
2065         https://bugs.webkit.org/show_bug.cgi?id=22041
2066         Fix CURL crashes on the test suite
2067
2068         Do not send "no data" to WebCore in parseDataUrl().
2069
2070         Fixes assert on fast/tokenizer/image-empty-crash.html
2071
2072         * platform/network/curl/ResourceHandleManager.cpp:
2073         (WebCore::parseDataUrl):
2074
2075 2008-11-02  Xan Lopez  <xan@gnome.org>
2076
2077         Reviewed by Holger Freyther.
2078
2079         https://bugs.webkit.org/show_bug.cgi?id=22009
2080         HTML5 Video with GStreamer pulls gnome-vfs without using it
2081
2082         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2083         Remove gnome-vfs include.
2084
2085 2008-11-01  Adam Barth  <abarth@webkit.org>
2086
2087         Reviewed by Sam Weinig.
2088
2089         Be sure to check the final URLs of requested resources to make sure we
2090         don't get fooled by HTTP redirects.
2091
2092         https://bugs.webkit.org/show_bug.cgi?id=21963
2093
2094         Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
2095                http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
2096
2097         * dom/XMLTokenizerLibxml2.cpp:
2098         (WebCore::openFunc):
2099         * loader/DocLoader.cpp:
2100         (WebCore::DocLoader::canRequest):
2101         (WebCore::DocLoader::requestResource):
2102         * loader/DocLoader.h:
2103         * xml/XSLTProcessor.cpp:
2104         (WebCore::docLoaderFunc):
2105
2106 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
2107
2108         Reviewed by Darin Adler.
2109
2110         https://bugs.webkit.org/show_bug.cgi?id=22001
2111         AtomicStringImpl* keys of event listener maps can outlive their strings
2112
2113         Test: fast/events/destroyed-atomic-string.html
2114
2115         * dom/MessagePort.cpp:
2116         (WebCore::MessagePort::addEventListener):
2117         (WebCore::MessagePort::removeEventListener):
2118         (WebCore::MessagePort::dispatchEvent):
2119         * dom/MessagePort.h:
2120         * loader/appcache/DOMApplicationCache.cpp:
2121         (WebCore::DOMApplicationCache::addEventListener):
2122         (WebCore::DOMApplicationCache::removeEventListener):
2123         (WebCore::DOMApplicationCache::dispatchEvent):
2124         * loader/appcache/DOMApplicationCache.h:
2125         * xml/XMLHttpRequest.cpp:
2126         (WebCore::XMLHttpRequest::addEventListener):
2127         (WebCore::XMLHttpRequest::removeEventListener):
2128         (WebCore::XMLHttpRequest::dispatchEvent):
2129         * xml/XMLHttpRequest.h:
2130         * xml/XMLHttpRequestUpload.cpp:
2131         (WebCore::XMLHttpRequestUpload::addEventListener):
2132         (WebCore::XMLHttpRequestUpload::removeEventListener):
2133         (WebCore::XMLHttpRequestUpload::dispatchEvent):
2134         * xml/XMLHttpRequestUpload.h:
2135         Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
2136
2137 2008-10-31  Alexey Proskuryakov  <ap@webkit.org>
2138
2139         Reviewed by Darin Adler.
2140
2141         https://bugs.webkit.org/show_bug.cgi?id=21998
2142         Use JSDOMGlobalObject in EventListener-related bindings
2143
2144         * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
2145
2146         * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
2147         bindings for inline event handlers.
2148
2149         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2150         (WebCore::JSDOMApplicationCache::addEventListener):
2151         (WebCore::JSDOMApplicationCache::removeEventListener):
2152         * bindings/js/JSEventTargetNodeCustom.cpp:
2153         (WebCore::JSEventTargetNode::addEventListener):
2154         (WebCore::JSEventTargetNode::removeEventListener):
2155         * bindings/js/JSMessagePortCustom.cpp:
2156         (WebCore::JSMessagePort::removeEventListener):
2157         * bindings/js/JSSVGElementInstanceCustom.cpp:
2158         (WebCore::JSSVGElementInstance::addEventListener):
2159         (WebCore::JSSVGElementInstance::removeEventListener):
2160         * bindings/js/JSXMLHttpRequestCustom.cpp:
2161         (WebCore::JSXMLHttpRequest::addEventListener):
2162         (WebCore::JSXMLHttpRequest::removeEventListener):
2163         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2164         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2165         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2166         Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
2167
2168         * dom/EventTarget.h:
2169         * dom/EventTargetNode.cpp:
2170         (WebCore::EventTargetNode::scriptExecutionContext):
2171         * dom/EventTargetNode.h:
2172         * dom/MessagePort.cpp:
2173         * dom/MessagePort.h:
2174         (WebCore::MessagePort::scriptExecutionContext):
2175         * loader/appcache/DOMApplicationCache.cpp:
2176         (WebCore::DOMApplicationCache::scriptExecutionContext):
2177         * loader/appcache/DOMApplicationCache.h:
2178         * svg/SVGElementInstance.cpp:
2179         (WebCore::SVGElementInstance::scriptExecutionContext):
2180         * svg/SVGElementInstance.h:
2181         * xml/XMLHttpRequest.cpp:
2182         (WebCore::XMLHttpRequest::scriptExecutionContext):
2183         * xml/XMLHttpRequest.h:
2184         * xml/XMLHttpRequestUpload.cpp:
2185         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
2186         * xml/XMLHttpRequestUpload.h:
2187         Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
2188         available yet.
2189
2190 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
2191
2192         Rubber-stamped by Geoff Garen.
2193
2194         Rename SourceRange.h to SourceCode.h.
2195
2196         * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
2197         * ForwardingHeaders/kjs/SourceRange.h: Removed.
2198         * bindings/js/StringSourceProvider.h:
2199         * bridge/NP_jsobject.cpp:
2200
2201 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
2202
2203         Reviewed by Darin Adler.
2204
2205         Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
2206         <https://bugs.webkit.org/show_bug.cgi?id=22019>
2207
2208         * WebCore.base.exp:
2209         * page/Console.cpp:
2210         (WebCore::printToStandardOut):
2211         (WebCore::Console::shouldPrintExceptions):
2212         (WebCore::Console::setShouldPrintExceptions):
2213         * page/Console.h:
2214
2215 2008-10-31  Dan Bernstein  <mitz@apple.com>
2216
2217         Reviewed by John Sullivan.
2218
2219         - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
2220
2221         * dom/Document.cpp:
2222         (WebCore::Document::cookie): Added checking if cookies are disabled.
2223         (WebCore::Document::setCookie): Ditto.
2224         * page/Navigator.cpp:
2225         (WebCore::Navigator::cookieEnabled): Ditto.
2226         * page/Page.cpp:
2227         (WebCore::Page::Page): Initialize m_cookieEnabled to true.
2228         * page/Page.h:
2229         (WebCore::Page::cookieEnabled): Added.
2230         (WebCore::Page::setCookieEnabled): Added.
2231
2232 2008-10-31  Adele Peterson  <adele@apple.com>
2233
2234         Reviewed by Darin Adler.
2235
2236         WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
2237         https://bugs.webkit.org/show_bug.cgi?id=22008
2238
2239         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
2240         Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
2241         * platform/graphics/Icon.h: ditto.
2242         * platform/graphics/gtk/IconGtk.cpp:
2243         (WebCore::Icon::createIconForFile): ditto.
2244         (WebCore::Icon::createIconForFiles): ditto.
2245         * platform/graphics/mac/IconMac.mm:
2246         (WebCore::Icon::createIconForFile): ditto.
2247         (WebCore::Icon::createIconForFiles): ditto.
2248         * platform/graphics/qt/IconQt.cpp:
2249         (WebCore::Icon::createIconForFile): ditto.
2250         (WebCore::Icon::createIconForFiles): ditto.
2251         * platform/wx/TemporaryLinkStubs.cpp:
2252         (Icon::createIconForFile): ditto.
2253         (Icon::createIconForFiles): ditto.
2254         * platform/graphics/win/IconWin.cpp:
2255         (WebCore::Icon::createIconForFile): ditto.
2256         (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
2257
2258         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
2259         Improve icon creation code to match new code in Icon::createIconForFiles
2260         
2261 2008-10-31  Timothy Hatcher  <timothy@apple.com>
2262
2263         Add manual tests that check breakpoints on a blockless body of "for" loops.
2264
2265         https://bugs.webkit.org/show_bug.cgi?id=22004
2266
2267         Reviewed by Darin Adler.
2268
2269         * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
2270         * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
2271
2272 2008-10-31  Darin Adler  <darin@apple.com>
2273
2274         - fix build
2275
2276         * platform/win/WCDataObject.cpp: Added missing include of "config.h".
2277
2278 2008-10-30  Alexey Proskuryakov  <ap@webkit.org>
2279
2280         Reviewed by Darin Adler.
2281
2282         https://bugs.webkit.org/show_bug.cgi?id=21970
2283         Make MessagePort event dispatch work in workers
2284
2285         * bindings/js/JSDOMGlobalObject.cpp:
2286         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2287         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
2288         (WebCore::JSDOMGlobalObject::findJSEventListener):
2289         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
2290         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
2291         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
2292         (WebCore::JSDOMGlobalObject::jsEventListeners):
2293         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
2294         (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
2295         (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
2296         (WebCore::JSDOMGlobalObject::setCurrentEvent):
2297         (WebCore::JSDOMGlobalObject::currentEvent):
2298         (WebCore::toJSDOMGlobalObject):
2299         * bindings/js/JSDOMGlobalObject.h:
2300         * bindings/js/JSDOMWindowBase.cpp:
2301         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2302         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2303         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
2304         * bindings/js/JSDOMWindowBase.h:
2305         Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
2306
2307         * bindings/js/JSEventListener.cpp:
2308         (WebCore::JSAbstractEventListener::handleEvent):
2309         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2310         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2311         (WebCore::JSUnprotectedEventListener::globalObject):
2312         (WebCore::JSUnprotectedEventListener::clearGlobalObject):
2313         (WebCore::JSEventListener::JSEventListener):
2314         (WebCore::JSEventListener::~JSEventListener):
2315         (WebCore::JSEventListener::globalObject):
2316         (WebCore::JSEventListener::clearGlobalObject):
2317         (WebCore::JSLazyEventListener::JSLazyEventListener):
2318         (WebCore::JSLazyEventListener::parseCode):
2319         * bindings/js/JSEventListener.h:
2320         (WebCore::JSUnprotectedEventListener::create):
2321         (WebCore::JSEventListener::create):
2322         (WebCore::JSLazyEventListener::create):
2323         Changed to use JSDOMGlobalObject and ScriptExecutionContext.
2324
2325         * bindings/js/JSMessagePortCustom.cpp:
2326         (WebCore::JSMessagePort::startConversation):
2327         (WebCore::JSMessagePort::addEventListener):
2328         (WebCore::JSMessagePort::removeEventListener):
2329         (WebCore::JSMessagePort::setOnmessage):
2330         (WebCore::JSMessagePort::setOnclose):
2331         Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
2332         such code, and stop using a custom implementation for JSMessagePort inline event handler
2333         getters and setters.
2334
2335         * dom/Document.cpp:
2336         (WebCore::Document::virtualURL):
2337         * dom/Document.h:
2338         * dom/ScriptExecutionContext.h:
2339         Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
2340         JSLazyEventListener).
2341
2342 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
2343
2344         Not reviewed.
2345
2346         Speculative wxWindows build fix.
2347
2348         * webcore-base.bkl:
2349
2350 2008-10-30  Mark Rowe  <mrowe@apple.com>
2351
2352         Reviewed by Jon Homeycutt.
2353
2354         Explicitly default to building for only the native architecture in debug and release builds.
2355
2356         * Configurations/DebugRelease.xcconfig:
2357
2358 2008-10-30  Cameron Zwarich  <zwarich@apple.com>
2359
2360         Rubber-stamped by Sam Weinig.
2361
2362         Create a debugger directory in JavaScriptCore and move the relevant
2363         files to it.
2364
2365         * ForwardingHeaders/debugger: Added.
2366         * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
2367         * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
2368         * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
2369         * ForwardingHeaders/kjs/debugger.h: Removed.
2370         * WebCore.pro:
2371         * bindings/js/ScriptController.cpp:
2372         * inspector/JavaScriptCallFrame.cpp:
2373         * inspector/JavaScriptCallFrame.h:
2374         * inspector/JavaScriptDebugServer.cpp:
2375         * inspector/JavaScriptDebugServer.h:
2376
2377 2008-10-30  Tony Chang <tony@chromium.org>
2378
2379         Fix 2 Windows theme bugs:
2380         1) Checkboxes marked readonly were rendered incorrectly
2381         2) If a button has focus and is pressed, it was rendered
2382            as focused rather than pressed.
2383
2384         https://bugs.webkit.org/show_bug.cgi?id=21859
2385
2386         Reviewed by Dave Hyatt.
2387
2388         * rendering/RenderThemeWin.cpp:
2389         (WebCore::RenderThemeWin::determineState):
2390         (WebCore::RenderThemeWin::determineButtonState):
2391
2392 2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
2393
2394         gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
2395         warnings; add some parentheses to disambiguate things. No functional
2396         changes, so no tests.
2397
2398         https://bugs.webkit.org/show_bug.cgi?id=21973
2399         Add parentheses to clean up some gcc warnings
2400
2401         Reviewed by Dan Bernstein.
2402
2403         * platform/graphics/Font.h:
2404         (WebCore::Font::treatAsZeroWidthSpace):
2405
2406 2008-10-30  Aaron Boodman  <aa@chromium.org>
2407
2408         Added an explicit dependency on HashMap.h. It was getting pulled in via
2409         <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
2410
2411         Reviewed by Darin Adler.
2412
2413         * platform/text/PlatformString.h:
2414
2415 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
2416
2417         Reviewed by Sam Weinig
2418
2419         https://bugs.webkit.org/show_bug.cgi?id=21967
2420         
2421         For some platforms the GeolocationService must be suspended and resumed.
2422
2423         * page/Geolocation.cpp:
2424         (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
2425         (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
2426         (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
2427         (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
2428         * page/Geolocation.h:
2429         (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
2430         * platform/GeolocationService.h:
2431         (WebCore::GeolocationService::suspend): empty implementation
2432         (WebCore::GeolocationService::resume): empty implementation
2433
2434 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
2435
2436         Reviewed by Sam Weinig
2437
2438         https://bugs.webkit.org/show_bug.cgi?id=21966
2439         
2440         The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
2441         http://dev.w3.org/geo/api/spec-source.html
2442
2443         * page/Geolocation.cpp:
2444         (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
2445         * page/Geoposition.cpp: velocity is now called speed
2446         (WebCore::Geoposition::toString):
2447         * page/Geoposition.h: velocity is now called speed
2448         (WebCore::Geoposition::create):
2449         (WebCore::Geoposition::speed):
2450         (WebCore::Geoposition::Geoposition):
2451         * page/Geoposition.idl: velocity is now called speed
2452         * page/PositionOptions.h: timeout is now unsigned
2453         (WebCore::PositionOptions::create):
2454         (WebCore::PositionOptions::timeout):
2455         (WebCore::PositionOptions::setTimeout):
2456         (WebCore::PositionOptions::PositionOptions):
2457         * page/PositionOptions.idl: timeout is now unsigned long
2458
2459 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
2460
2461         Also handle preserved newlines.
2462
2463         * editing/BreakBlockquoteCommand.cpp:
2464         (WebCore::BreakBlockquoteCommand::doApply):
2465
2466 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
2467
2468         Reviewed by Beth Dakin.
2469
2470         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
2471
2472         * editing/BreakBlockquoteCommand.cpp:
2473         (WebCore::BreakBlockquoteCommand::doApply): 
2474         Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
2475         needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
2476         Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
2477         we now use visiblePos (in order to avoid VisiblePosition creation).
2478         Set pos after we delete the current selection (if there is one), and be consistent about what we set 
2479         pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
2480         ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
2481         in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
2482         where the caret is between text and a br work correctly.
2483
2484 2008-10-30  Yael Aharon  <yael.aharon@nokia.com>
2485
2486         Reviewed by Darin Adler.
2487
2488         Fix the Qt build.
2489
2490         https://bugs.webkit.org/show_bug.cgi?id=21969
2491
2492         * inspector/front-end/WebKit.qrc:
2493         * platform/graphics/qt/ImageBufferQt.cpp:
2494         (WebCore::ImageBufferData::ImageBufferData):
2495         (WebCore::ImageBuffer::ImageBuffer):
2496         (WebCore::ImageBuffer::context):
2497         (WebCore::ImageBuffer::image):
2498         (WebCore::ImageBuffer::toDataURL):
2499
2500 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
2501
2502         Reviewed by Darin Adler.
2503
2504         More preparation for:
2505         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
2506
2507         * editing/BreakBlockquoteCommand.cpp:
2508         (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
2509         startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
2510         This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
2511         doesn't really fix a bug, since we can't really get into a situation where we move to a different 
2512         topBlockquote, but it simplifies the code.
2513
2514 2008-10-30  Dirk Schulze  <vbs85@gmx.de>
2515
2516         Reviewed by Alp Toker.
2517
2518         https://bugs.webkit.org/show_bug.cgi?id=21883
2519         [CAIRO] globalAlpha has to be stored and restored
2520
2521         Cairo's globalAlpha has to be stored and reloaded on calling
2522         save() and restore(). We use the power of GraphicsContextState for this.
2523
2524         * platform/graphics/GraphicsContextPrivate.h:
2525         (WebCore::GraphicsContextState::GraphicsContextState):
2526         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2527         (WebCore::GraphicsContext::fillPath):
2528         (WebCore::GraphicsContext::strokePath):
2529         (WebCore::GraphicsContext::setAlpha):
2530         (WebCore::GraphicsContext::getAlpha):
2531         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2532         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2533
2534 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2535
2536         Reviewed by Maciej Stachowiak.
2537
2538         Rename "attachedToEventTargetNode" to "isInline".
2539
2540         Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
2541         XMLHttpRequest, MessagePort et al.
2542
2543         Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
2544         attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
2545         And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
2546         "inlineEventListenerForType", as they work with inline listeners.
2547
2548         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2549         (WebCore::JSDOMApplicationCache::addEventListener):
2550         (WebCore::JSDOMApplicationCache::removeEventListener):
2551         * bindings/js/JSMessagePortCustom.cpp:
2552         (WebCore::JSMessagePort::setOnmessage):
2553         (WebCore::JSMessagePort::setOnclose):
2554         * bindings/js/JSXMLHttpRequestCustom.cpp:
2555         (WebCore::JSXMLHttpRequest::addEventListener):
2556         (WebCore::JSXMLHttpRequest::removeEventListener):
2557         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2558         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2559         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2560         Pass a correct value for this argument - callers used to be confused, because they didn't
2561         consider themselves event target nodes. This doesn't affect behavior however, as the only
2562         difference between inline and non-inline event handlers is that the former treat
2563         "return false" as "event.preventDefault()", which is not important to any of these objects.
2564
2565         * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
2566         Assert that isInline is true instead of checking its value, as the constructor of this class
2567         always sets it to true.
2568
2569         * bindings/js/JSDOMWindowBase.cpp:
2570         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2571         (WebCore::JSDOMWindowBase::findJSEventListener):
2572         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
2573         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
2574         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
2575         (WebCore::JSDOMWindowBase::jsInlineEventListeners):
2576         (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
2577         * bindings/js/JSDOMWindowBase.h:
2578         * bindings/js/JSEventListener.cpp:
2579         (WebCore::JSAbstractEventListener::handleEvent):
2580         (WebCore::JSAbstractEventListener::isInline):
2581         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2582         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2583         (WebCore::JSEventListener::JSEventListener):
2584         (WebCore::JSEventListener::~JSEventListener):
2585         (WebCore::JSLazyEventListener::parseCode):
2586         * bindings/js/JSEventListener.h:
2587         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
2588         (WebCore::JSUnprotectedEventListener::create):
2589         (WebCore::JSEventListener::create):
2590         * bindings/js/ScriptController.cpp:
2591         (WebCore::ScriptController::createInlineEventHandler):
2592         * bindings/js/ScriptController.h:
2593         * dom/Document.cpp:
2594         (WebCore::Document::setWindowInlineEventListenerForType):
2595         (WebCore::Document::windowInlineEventListenerForType):
2596         (WebCore::Document::removeWindowInlineEventListenerForType):
2597         (WebCore::Document::createEventListener):
2598         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
2599         * dom/Document.h:
2600         * dom/EventListener.h:
2601         (WebCore::EventListener::isInline):
2602         * dom/EventTargetNode.cpp:
2603         (WebCore::EventTargetNode::removeInlineEventListenerForType):
2604         (WebCore::EventTargetNode::setInlineEventListenerForType):
2605         (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
2606         (WebCore::EventTargetNode::inlineEventListenerForType):
2607         (WebCore::EventTargetNode::on*): (many methods)
2608         (WebCore::EventTargetNode::setOn*): (many methods)
2609         * dom/EventTargetNode.h:
2610         * editing/ReplaceSelectionCommand.cpp:
2611         (WebCore::ReplacementFragment::ReplacementFragment):
2612         * html/HTMLBodyElement.cpp:
2613         (WebCore::HTMLBodyElement::parseMappedAttribute):
2614         * html/HTMLButtonElement.cpp:
2615         (WebCore::HTMLButtonElement::parseMappedAttribute):
2616         * html/HTMLElement.cpp:
2617         (WebCore::HTMLElement::parseMappedAttribute):
2618         * html/HTMLFormElement.cpp:
2619         (WebCore::HTMLFormElement::parseMappedAttribute):
2620         * html/HTMLFrameElementBase.cpp:
2621         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2622         * html/HTMLFrameSetElement.cpp:
2623         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2624         * html/HTMLImageElement.cpp:
2625         (WebCore::HTMLImageElement::parseMappedAttribute):
2626         * html/HTMLInputElement.cpp:
2627         (WebCore::HTMLInputElement::parseMappedAttribute):
2628         * html/HTMLObjectElement.cpp:
2629         (WebCore::HTMLObjectElement::parseMappedAttribute):
2630         * html/HTMLScriptElement.cpp:
2631         (WebCore::HTMLScriptElement::parseMappedAttribute):
2632         * html/HTMLSelectElement.cpp:
2633         (WebCore::HTMLSelectElement::parseMappedAttribute):
2634         * html/HTMLTextAreaElement.cpp:
2635         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2636         * page/AccessibilityRenderObject.cpp:
2637         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2638         * page/DOMWindow.cpp:
2639         (WebCore::DOMWindow::setInlineEventListenerForType):
2640         (WebCore::DOMWindow::inlineEventListenerForType):
2641         (WebCore::DOMWindow::on*): (many methods)
2642         (WebCore::DOMWindow::setOn*): (many methods)
2643         * page/DOMWindow.h:
2644         * svg/SVGElement.cpp:
2645         (WebCore::SVGElement::parseMappedAttribute):
2646         * svg/SVGElementInstance.cpp:
2647         (WebCore::SVGElementInstance::on*): (many methods)
2648         (WebCore::SVGElementInstance::setOn*): (many methods)
2649         * svg/SVGSVGElement.cpp:
2650         (WebCore::SVGSVGElement::parseMappedAttribute):
2651         Rename things, as described above.
2652
2653 2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
2654
2655         Reviewed and slightly changed by Holger Freyther.
2656
2657         Added all the files that need to be installed for the Inspector to
2658         work.
2659
2660         * GNUmakefile.am: Invoke the shell to get the files.
2661
2662 2008-10-29  Andrew Scherkus  <scherkus@chromium.org>
2663
2664         Reviewed by Darin Adler
2665
2666         Add MediaPlayerPrivateChromium to MediaPlayer
2667         https://bugs.webkit.org/show_bug.cgi?id=21930
2668
2669         * platform/graphics/MediaPlayer.cpp:
2670
2671 2008-10-29  Justin Garcia  <justin.garcia@apple.com>
2672
2673         Reviewed by Darin Adler.
2674
2675         Some preparation for:
2676         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
2677         
2678         Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
2679         need to rebalance whitespace before the early return but for now don't risk any change in behavior
2680         I'll revisit that later.
2681
2682         * editing/BreakBlockquoteCommand.cpp:
2683         (WebCore::BreakBlockquoteCommand::doApply):
2684
2685 2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
2686
2687         wx build fixes after addition of runtime and ImageBuffer changes.
2688         
2689         * platform/graphics/wx/ImageBufferData.h: Added.
2690         * platform/graphics/wx/ImageBufferWx.cpp:
2691         (WebCore::ImageBufferData::ImageBufferData):
2692         (WebCore::ImageBuffer::ImageBuffer):
2693         (WebCore::ImageBuffer::context):
2694         * webcore-base.bkl:
2695
2696 2008-10-29  Brett Wilson  <brettw@chromium.org>
2697
2698         Reviewed by Darin Adler
2699         https://bugs.webkit.org/attachment.cgi?id=24745
2700
2701         Allow Skia implementations to get text style changed notifications.
2702
2703         * platform/graphics/GraphicsContext.cpp:
2704
2705 2008-10-29  Timothy Hatcher  <timothy@apple.com>
2706
2707         Add a manual test that checks breakpoints on a blockless body of
2708         an "else" statement.
2709
2710         https://bugs.webkit.org/show_bug.cgi?id=21944
2711
2712         Reviewed by Maciej Stachowiak.
2713
2714         * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
2715
2716 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2717
2718         Reviewed by Darin Adler.
2719
2720         https://bugs.webkit.org/show_bug.cgi?id=21921
2721         MessagePort messages are dispatched to documents that are not fully active
2722
2723         Covered by corrected fast/events/message-port-inactive-document.html
2724
2725         * bindings/js/JSEventListener.cpp:
2726         (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
2727         that are not fully active.
2728
2729 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2730
2731         Reviewed by Sam Weinig.
2732
2733         https://bugs.webkit.org/show_bug.cgi?id=21922
2734         Expose MessagePort global constructor
2735
2736         Covered by existing dumper tests.
2737
2738         * dom/MessagePort.idl:
2739         * page/DOMWindow.idl:
2740
2741 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
2742
2743         Reviewed by Darin Adler.
2744
2745         https://bugs.webkit.org/show_bug.cgi?id=21924
2746         HashTable internal index is not always deleted
2747
2748         * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
2749         Call deleteTable for HashTables that are being deleted.
2750
2751 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
2752
2753         Reviewed by Darin Adler.
2754
2755         https://bugs.webkit.org/show_bug.cgi?id=21923
2756         Create an abstraction for script execution context
2757
2758         * GNUmakefile.am:
2759         * WebCore.pro:
2760         * WebCore.vcproj/WebCore.vcproj:
2761         * WebCore.xcodeproj/project.pbxproj:
2762         * WebCoreSources.bkl:
2763         Added ScriptExecutionContext.{h,cpp}.
2764
2765         * bindings/js/JSAudioConstructor.cpp:
2766         (WebCore::JSAudioConstructor::JSAudioConstructor):
2767         * bindings/js/JSAudioConstructor.h:
2768         * bindings/js/JSImageConstructor.cpp:
2769         (WebCore::JSImageConstructor::JSImageConstructor):
2770         * bindings/js/JSImageConstructor.h:
2771         * bindings/js/JSOptionConstructor.cpp:
2772         (WebCore::JSOptionConstructor::JSOptionConstructor):
2773         * bindings/js/JSOptionConstructor.h:
2774         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2775         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2776         * bindings/js/JSXMLHttpRequestConstructor.h:
2777         Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
2778         Since these objects can only work within documents now, it is immediately converted back
2779         to Document.
2780
2781         * bindings/js/JSMessageChannelConstructor.cpp:
2782         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
2783         (WebCore::JSMessageChannelConstructor::construct):
2784         * bindings/js/JSMessageChannelConstructor.h:
2785         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
2786         MessageChannel needs to be supported in workers right away, so the constructor operates with
2787         it directly.
2788
2789         * dom/ActiveDOMObject.cpp:
2790         (WebCore::ActiveDOMObject::ActiveDOMObject):
2791         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2792         (WebCore::ActiveDOMObject::contextDestroyed):
2793         * dom/ActiveDOMObject.h:
2794         (WebCore::ActiveDOMObject::scriptExecutionContext):
2795         * bindings/js/JSDOMBinding.cpp:
2796         (WebCore::markActiveObjectsForContext):
2797         (WebCore::markCrossHeapDependentObjectsForContext):
2798         Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
2799         tracking is handled by ScriptExecutionContext.
2800
2801         * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
2802
2803         * bindings/js/JSDOMGlobalObject.h:
2804         (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
2805         Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
2806         to worker context implementation.
2807         (WebCore::scriptExecutionContext): Added a pure virtual method to access
2808         ScriptExecutionContext, implemented by subclasses.
2809
2810         * bindings/js/JSDOMWindowBase.h:
2811         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
2812         Implement by returning the associated document. Note that this method currently gives bogus
2813         results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
2814         that is currently in the frame, not the one associated with this window.
2815
2816         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
2817
2818         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
2819         Call markActiveObjectsForContext() by its new name.
2820
2821         * dom/DedicatedWorker.cpp:
2822         (WebCore::DedicatedWorker::DedicatedWorker):
2823         (WebCore::DedicatedWorker::document):
2824         * dom/DedicatedWorker.h:
2825         * xml/XMLHttpRequest.cpp:
2826         (WebCore::XMLHttpRequest::document):
2827         * xml/XMLHttpRequest.h:
2828         Added a document() function that upcasts ScriptExecutionContext, as these objects only work
2829         within documents currently (at least for XMLHttpRequest, this will change soon though).
2830
2831         * dom/Document.cpp:
2832         (WebCore::Document::Document):
2833         (WebCore::Document::~Document):
2834         Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
2835         with workers.
2836         
2837         * dom/Document.h:
2838         (WebCore::Document::isDocument):
2839         (WebCore::Document::refScriptExecutionContext):
2840         (WebCore::Document::derefScriptExecutionContext):
2841         Inherit from ScriptExecutionContext.
2842
2843         * dom/MessageChannel.cpp:
2844         (WebCore::MessageChannel::MessageChannel):
2845         * dom/MessageChannel.h:
2846         (WebCore::MessageChannel::create):
2847         Use ScriptExecutionContext instead of Document.
2848
2849         * dom/MessagePort.cpp:
2850         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
2851         MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
2852         unrelated issue that was causing random crashes in layout tests).
2853         (WebCore::MessagePort::MessagePort):
2854         (WebCore::MessagePort::~MessagePort):
2855         (WebCore::MessagePort::associatedFrame):
2856         (WebCore::MessagePort::clone):
2857         (WebCore::MessagePort::postMessage):
2858         (WebCore::MessagePort::startConversation):
2859         (WebCore::MessagePort::start):
2860         (WebCore::MessagePort::contextDestroyed):
2861         (WebCore::MessagePort::dispatchMessages):
2862         * dom/MessagePort.h:
2863         (WebCore::MessagePort::create):
2864         (WebCore::MessagePort::scriptExecutionContext):
2865         Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
2866         work in worker contexts - we need to also make some its method thread safe for cross-thread
2867         messaging, and make event dispatching thread safe.
2868
2869         * dom/ScriptExecutionContext.cpp: Added.
2870         * dom/ScriptExecutionContext.h: Added.
2871         ActiveDOMObject and MessagePort tracking is moved from Document.
2872         It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
2873         but as I'm just moving Document code, and it is Document that is the main context object
2874         in our implementation currently.
2875         Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
2876         seem non-trivial to fix, and isn't really a part of this task.
2877
2878 2008-10-28  Alp Toker  <alp@nuanti.com>
2879
2880         List newly-added ImageBufferData.h in build system.
2881
2882         * GNUmakefile.am:
2883
2884 2008-10-28  Alp Toker  <alp@nuanti.com>
2885
2886         Reviewed by Cameron Zwarich.
2887
2888         De-list unused WebCore ForwardingHeaders to fix the dist target.
2889
2890         * GNUmakefile.am:
2891
2892 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2893
2894         Not reviewed.
2895
2896         Attempt to fix the Windows build by generating Forwardingheaders for the
2897         runtime directory in JavaScriptCore.
2898
2899         * WebCore.vcproj/WebCore.vcproj:
2900
2901 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
2902
2903         Reviewed by Darin Adler.
2904
2905         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
2906
2907         * editing/Editor.cpp:
2908         (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
2909         (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 
2910         will probably require a change more complicated than just marking the learned word as 
2911         misspelled.  I'll address it with a separate patch.
2912         * editing/EditorCommand.cpp:
2913         (WebCore::executeIgnoreSpelling): Added.
2914         (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
2915
2916 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
2917
2918         Reviewed by Mark Rowe.
2919
2920         Move ForwardingHeaders to their correct location after the creation of
2921         the runtime directory in JavaScriptCore.
2922
2923         * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
2924         * ForwardingHeaders/kjs/BooleanObject.h: Removed.
2925         * ForwardingHeaders/kjs/CallData.h: Removed.
2926         * ForwardingHeaders/kjs/ConstructData.h: Removed.
2927         * ForwardingHeaders/kjs/DateInstance.h: Removed.
2928         * ForwardingHeaders/kjs/Error.h: Removed.
2929         * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
2930         * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
2931         * ForwardingHeaders/kjs/InternalFunction.h: Removed.
2932         * ForwardingHeaders/kjs/JSArray.h: Removed.
2933         * ForwardingHeaders/kjs/JSFunction.h: Removed.
2934         * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
2935         * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
2936         * ForwardingHeaders/kjs/JSObject.h: Removed.
2937         * ForwardingHeaders/kjs/JSString.h: Removed.
2938         * ForwardingHeaders/kjs/JSValue.h: Removed.
2939         * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
2940         * ForwardingHeaders/kjs/PropertyMap.h: Removed.
2941         * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
2942         * ForwardingHeaders/kjs/StringObject.h: Removed.
2943         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
2944         * ForwardingHeaders/kjs/StringPrototype.h: Removed.
2945         * ForwardingHeaders/kjs/StructureID.h: Removed.
2946         * ForwardingHeaders/runtime: Added.
2947         * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
2948         * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
2949         * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
2950         * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
2951         * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
2952         * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
2953         * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
2954         * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
2955         * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
2956         * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
2957         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
2958         * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
2959         * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
2960         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
2961         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
2962         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
2963         * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
2964         * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
2965         * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
2966         * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
2967         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
2968         * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
2969         * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
2970         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2971         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2972         * bindings/js/JSClipboardCustom.cpp:
2973         * bindings/js/JSConsoleCustom.cpp:
2974         * bindings/js/JSCustomPositionCallback.h:
2975         * bindings/js/JSCustomPositionErrorCallback.h:
2976         * bindings/js/JSCustomSQLStatementCallback.h:
2977         * bindings/js/JSCustomSQLStatementErrorCallback.h:
2978         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2979         * bindings/js/JSCustomVoidCallback.h:
2980         * bindings/js/JSCustomXPathNSResolver.h:
2981         * bindings/js/JSDOMBinding.cpp:
2982         * bindings/js/JSDOMBinding.h:
2983         * bindings/js/JSDOMGlobalObject.h:
2984         * bindings/js/JSDOMWindowBase.cpp:
2985         * bindings/js/JSDOMWindowCustom.cpp:
2986         * bindings/js/JSDOMWindowShell.cpp:
2987         * bindings/js/JSDatabaseCustom.cpp:
2988         * bindings/js/JSEventListener.cpp:
2989         * bindings/js/JSEventTarget.h:
2990         * bindings/js/JSHTMLDocumentCustom.cpp:
2991         * bindings/js/JSHistoryCustom.cpp:
2992         * bindings/js/JSInspectedObjectWrapper.cpp:
2993         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2994         * bindings/js/JSLocationCustom.cpp:
2995         * bindings/js/JSNodeFilterCondition.h:
2996         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2997         * bindings/js/JSQuarantinedObjectWrapper.h:
2998         * bindings/js/JSXMLHttpRequestCustom.cpp:
2999         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3000         * bindings/objc/WebScriptObject.mm:
3001         * bindings/objc/WebScriptObjectPrivate.h:
3002         * bindings/scripts/CodeGeneratorJS.pm:
3003         * bridge/NP_jsobject.cpp:
3004         * bridge/c/c_instance.cpp:
3005         * bridge/c/c_utility.cpp:
3006         * bridge/c/c_utility.h:
3007         * bridge/jni/jni_instance.cpp:
3008         * bridge/jni/jni_jsobject.h:
3009         * bridge/jni/jni_jsobject.mm:
3010         * bridge/jni/jni_runtime.cpp:
3011         * bridge/jni/jni_utility.cpp:
3012         * bridge/jni/jni_utility.h:
3013         * bridge/objc/objc_instance.mm:
3014         * bridge/objc/objc_runtime.h:
3015         * bridge/objc/objc_runtime.mm:
3016         * bridge/objc/objc_utility.h:
3017         * bridge/objc/objc_utility.mm:
3018         * bridge/runtime.h:
3019         * bridge/runtime_array.cpp:
3020         * bridge/runtime_array.h:
3021         * bridge/runtime_method.cpp:
3022         * bridge/runtime_method.h:
3023         * bridge/runtime_object.cpp:
3024         * bridge/runtime_object.h:
3025         * bridge/runtime_root.cpp:
3026         * inspector/JavaScriptCallFrame.cpp:
3027         * inspector/JavaScriptProfile.cpp:
3028         * inspector/JavaScriptProfile.h:
3029         * inspector/JavaScriptProfileNode.cpp:
3030         * inspector/JavaScriptProfileNode.h:
3031         * loader/FrameLoader.cpp:
3032         * page/Console.cpp:
3033         * plugins/PluginView.cpp:
3034         * plugins/gtk/PluginViewGtk.cpp:
3035         * plugins/qt/PluginViewQt.cpp:
3036         * plugins/win/PluginViewWin.cpp:
3037
3038 2008-10-28  Adele Peterson  <adele@apple.com>
3039
3040         Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
3041
3042         * WebCore.vcproj/WebCore.vcproj:
3043
3044 2008-10-28  Adele Peterson  <adele@apple.com>
3045
3046         Windows build fix.
3047
3048         * platform/graphics/ImageBuffer.h:
3049         (WebCore::ImageBuffer::create):
3050
3051 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3052
3053         Not reviewed.
3054
3055         Roll out a mistaken attempt at fixing the GTK build in r37947.
3056
3057         * GNUmakefile.am:
3058
3059 2008-10-28  Adele Peterson  <adele@apple.com>
3060
3061         Reviewed by John Sullivan.
3062
3063         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
3064         "files" string for multifile uploads needs to be localized
3065
3066         * page/mac/WebCoreViewFactory.h:
3067         * platform/LocalizedStrings.h:
3068         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
3069         * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
3070         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
3071         * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
3072         * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
3073         * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
3074
3075 2008-10-28  Brett Wilson  <brettw@chromium.org>
3076
3077         Reviewed by Darin Adler.
3078
3079         https://bugs.webkit.org/show_bug.cgi?id=21816
3080
3081         Remove platform ifdefs in ImageBuffer.h by moving platform specific code
3082         into a new PlatformImageBuffer class. Move the static create function
3083         into the header because it can be cross-platform. Initialization now
3084         happens in the cunstructor which sets a flag that create uses to know
3085         whether it should return null or not. I also made passing of IntSize
3086         more consistent (always by reference).
3087
3088         This change also changes the ifdefs in GraphicsContext to allow Skia
3089         ports to implement text drawing modes.
3090
3091         * platform/graphics/ImageBuffer.h:
3092         (WebCore::ImageBuffer::create):
3093         (WebCore::ImageBuffer::size):
3094         * platform/graphics/cairo/ImageBufferCairo.cpp:
3095         (WebCore::ImageBufferData::ImageBufferData):
3096         (WebCore::ImageBuffer::ImageBuffer):
3097         (WebCore::ImageBuffer::~ImageBuffer):
3098         (WebCore::ImageBuffer::image):
3099         (WebCore::ImageBuffer::getImageData):
3100         (WebCore::ImageBuffer::putImageData):
3101         * platform/graphics/cairo/ImageBufferData.h:
3102         * platform/graphics/cg/ImageBufferCG.cpp:
3103         (WebCore::ImageBufferData::ImageBufferData):
3104         (WebCore::ImageBuffer::ImageBuffer):
3105         (WebCore::ImageBuffer::~ImageBuffer):
3106         (WebCore::ImageBuffer::getImageData):
3107         (WebCore::ImageBuffer::putImageData):
3108         * platform/graphics/cg/ImageBufferData.h:
3109         * platform/graphics/qt/ImageBufferData.h:
3110         * platform/graphics/qt/ImageBufferQt.cpp:
3111         (WebCore::ImageBufferData::ImageBufferData):
3112         (WebCore::ImageBuffer::ImageBuffer):
3113         (WebCore::ImageBuffer::~ImageBuffer):
3114
3115 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3116
3117         Not reviewed.
3118
3119         Fix the GTK build.
3120
3121         * GNUmakefile.am:
3122
3123 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3124
3125         Not reviewed.
3126
3127         Another Qt build fix.
3128
3129         * WebCore.pro:
3130
3131 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
3132
3133         Reviewed by David Kilzer.
3134
3135         https://bugs.webkit.org/show_bug.cgi?id=21932
3136         Add non-pointer constant lookups to SoftLinking.h
3137
3138         * platform/mac/SoftLinking.h:
3139
3140 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
3141
3142         Reviewed by David Kilzer.
3143
3144         https://bugs.webkit.org/show_bug.cgi?id=2192
3145         Missing semi-colons in Geoposition.idl
3146
3147         * page/Geoposition.idl: Add missing semi-colons
3148
3149 2008-10-28  Timothy Hatcher  <timothy@apple.com>
3150
3151         Make the Profiles panel in the Web Inspector have an enable screen.
3152         Profiling now needs to be enabled before console.profile() works.
3153
3154         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
3155         not slow down JavaScript all the time
3156
3157         Reviewed by Darin Adler and Kevin McCullough.
3158
3159         * English.lproj/localizedStrings.js: New strings.
3160         * WebCore.base.exp: New and changed exports.
3161         * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
3162         * bindings/js/JSDOMWindowBase.cpp:
3163         (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
3164         * inspector/InspectorController.cpp:
3165         (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
3166         Timer to call InspectorController::startUserInitiatedProfiling.
3167         (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
3168         that calls InspectorController::startUserInitiatedProfiling.
3169         (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
3170         and enable the profiler if the profiler was not enabled.
3171         (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
3172         (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
3173         if the skipRecompile argument is false. Call the profilerWasEnabled script function.
3174         (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
3175         Call the profilerWasEnabled script function.
3176         (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
3177         so it won't be started later.
3178         * inspector/InspectorController.h:
3179         (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
3180         * inspector/front-end/Images/debuggingButtons.png: Remove.
3181         * inspector/front-end/Images/enableButtons.png: Added.
3182         * inspector/front-end/Images/profilesSilhouette.png: Added.
3183         * inspector/front-end/Images/scriptsSilhouette.png: Added.
3184         * inspector/front-end/PanelEnablerView.js: Added.
3185         (WebInspector.PanelEnablerView):
3186         (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
3187         event so listeners can do their thing.
3188         (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
3189         * inspector/front-end/ProfilesPanel.js:
3190         (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
3191         (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
3192         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
3193         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
3194         (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
3195         (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
3196         (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
3197         show/hide other buttons. Also show/hide the PanelEnablerView.
3198         (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
3199         (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
3200         disableProfiler or enableProfiler.
3201         * inspector/front-end/ScriptsPanel.js:
3202         (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
3203         debuggingButton with the enableToggleButton.
3204         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
3205         the enableToggleButton.
3206         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
3207         when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
3208         with the enableToggleButton.
3209         (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
3210         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
3211         since reset is called from debuggerWasEnabled and debuggerWasDisabled.
3212         * inspector/front-end/View.js: Inherit from WebInspector.Object.
3213         * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
3214         * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
3215         * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
3216         * inspector/front-end/inspector.js:
3217         (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
3218         (WebInspector.profilerWasDisabled): Ditto.
3219         * page/Console.cpp:
3220         (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
3221         (WebCore::Console::info): Ditto.
3222         (WebCore::Console::log): Ditto.
3223         (WebCore::Console::assertCondition): Ditto.
3224         (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
3225         (WebCore::Console::count): Ditto.
3226         (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
3227         (WebCore::Console::profileEnd): Ditto.
3228         (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
3229         * page/Settings.cpp:
3230         (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
3231         (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
3232         Now just sets the member boolean.
3233         * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
3234
3235 2008-10-28  Timothy Hatcher  <timothy@apple.com>
3236
3237         Rename a few methods related to attaching and detaching the debugger. Also
3238         adds stub methods for enabling and disabling the profiler.
3239
3240         * Rename attachDebugger to enableDebugger.
3241         * Rename detachDebugger to disableDebugger.
3242         * Rename the debuggerAttached getter to debuggerEnabled.
3243         * Rename the debuggerAttached callback to debuggerWasEnabled.
3244         * Rename the debuggerDetached callback to debuggerWasDisabled.
3245
3246         Reviewed by Darin Adler.
3247
3248         * WebCore.base.exp:
3249         * inspector/InspectorController.cpp:
3250         (WebCore::InspectorController::InspectorController):
3251         (WebCore::InspectorController::setWindowVisible):
3252         (WebCore::InspectorController::windowScriptObjectAvailable):
3253         (WebCore::InspectorController::close):
3254         (WebCore::InspectorController::enableProfiler):
3255         (WebCore::InspectorController::disableProfiler):
3256         (WebCore::InspectorController::enableDebugger):
3257         (WebCore::InspectorController::disableDebugger):
3258         (WebCore::InspectorController::pauseInDebugger):
3259         (WebCore::InspectorController::resumeDebugger):
3260         (WebCore::InspectorController::stepOverStatementInDebugger):
3261         (WebCore::InspectorController::stepIntoStatementInDebugger):
3262         (WebCore::InspectorController::stepOutOfFunctionInDebugger):
3263         * inspector/InspectorController.h:
3264         (WebCore::InspectorController::profilerEnabled):
3265         (WebCore::InspectorController::debuggerEnabled):
3266         * inspector/front-end/BreakpointsSidebarPane.js:
3267         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
3268         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
3269         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
3270         * inspector/front-end/Object.js:
3271         * inspector/front-end/ProfilesPanel.js:
3272         (WebInspector.ProfilesPanel):
3273         * inspector/front-end/ScriptsPanel.js:
3274         (WebInspector.ScriptsPanel):
3275         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
3276         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
3277         (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
3278         (WebInspector.ScriptsPanel.prototype.reset):
3279         (WebInspector.ScriptsPanel.prototype.canShowResource):
3280         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
3281         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3282         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
3283         * inspector/front-end/View.js:
3284         * inspector/front-end/inspector.css:
3285         * inspector/front-end/inspector.html:
3286         * inspector/front-end/inspector.js:
3287         (WebInspector.addResource):
3288         (WebInspector.debuggerWasEnabled):
3289         (WebInspector.debuggerWasDisabled):
3290
3291 2008-10-28  Timothy Hatcher  <timothy@apple.com>
3292
3293         Fix an exception when searching the Resources panel while there
3294         and resources queued to be added to the list.
3295
3296         Reviewed by Kevin McCullough.
3297
3298         * inspector/front-end/ResourcesPanel.js:
3299         (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
3300         the _resourcesTreeElement property.
3301         (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
3302
3303 2008-10-28  Alp Toker  <alp@nuanti.com>
3304
3305         GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
3306         isn't defined.
3307
3308         * platform/graphics/gtk/FontGtk.cpp:
3309         (WebCore::getDefaultPangoLayout):
3310         * platform/graphics/gtk/FontPlatformDataPango.cpp:
3311
3312 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
3313
3314         Reviewed by Darin Adler.
3315
3316         https://bugs.webkit.org/show_bug.cgi?id=21893
3317         Character set is incorrect for external scripts in XHTML pages
3318
3319         <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
3320
3321         Test: fast/encoding/external-script-charset.xhtml
3322
3323         Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
3324
3325         * dom/ScriptElement.h:
3326         * dom/XMLTokenizerLibxml2.cpp:
3327         (WebCore::XMLTokenizer::endElementNs):
3328         * dom/XMLTokenizerQt.cpp:
3329         (WebCore::XMLTokenizer::parseEndElement):
3330         * html/HTMLScriptElement.h:
3331         * svg/SVGScriptElement.cpp:
3332         (WebCore::SVGScriptElement::scriptCharset):
3333         * svg/SVGScriptElement.h:
3334
3335 2008-10-28  Alp Toker  <alp@nuanti.com>
3336
3337         Include copyright license files in the autotools dist target and
3338         exclude unused zlib headers.
3339
3340         Change suggested by Mike Hommey.
3341
3342         * GNUmakefile.am:
3343
3344 2008-10-27  Sam Weinig  <sam@webkit.org>
3345
3346         Reviewed by Maciej Stachowiak.
3347
3348         Clear the window shell when destroying a page to allow documents
3349         which have no way of being reached anymore, to be torn down.
3350
3351         * page/Frame.cpp:
3352         (WebCore::Frame::pageDestroyed):
3353
3354 2008-10-27  Kevin Watters  <kevinwatters@gmail.com>
3355
3356         Reviewed by Kevin Ollivier.
3357         
3358         Update the active state as well as the focused state as both need to be true
3359         for the caret to be drawn.
3360         
3361         https://bugs.webkit.org/show_bug.cgi?id=21900
3362
3363         * WebView.cpp:
3364         (wxWebView::OnSetFocus):
3365         (wxWebView::OnKillFocus):
3366
3367 2008-10-27  Kevin Ollivier  <kevino@theolliviers.com>
3368
3369         wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
3370
3371         * webcore-wx.bkl:
3372
3373 2008-10-27  Michael Knaup  <michael.knaup@mac.com>
3374
3375         Reviewed and tweaked by Darin Adler.
3376
3377         - https://bugs.webkit.org/show_bug.cgi?id=8988
3378
3379         Bug 8988: Add support for Mozilla CSS custom cursors.
3380         Added -webkit-grab and -webkit-grabbing cursor suppport
3381         for the Mac, dummy implementations for other platforms.
3382
3383         * css/CSSParser.cpp:
3384         (WebCore::CSSParser::parseValue): Updated since the
3385         -webkit-grabbing cursor is now the last one.
3386
3387         * css/CSSPrimitiveValueMappings.h:
3388         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
3389         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
3390
3391         * css/CSSValueKeywords.in: Added -webkit-grab and
3392         -webkit-grabbing.
3393
3394         * manual-tests/cursor.html: Added -webkit-zoom-in,
3395         webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
3396
3397         * page/EventHandler.cpp:
3398         (WebCore::EventHandler::selectCursor): Added
3399         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
3400
3401         * platform/Cursor.h: Added grabCursor and grabbingCursor.
3402
3403         * platform/gtk/CursorGtk.cpp:
3404         (WebCore::grabCursor): Added.
3405         (WebCore::grabbingCursor): Added.
3406         * platform/mac/CursorMac.mm:
3407         (WebCore::grabCursor): Added.
3408         (WebCore::grabbingCursor): Added.
3409         * platform/qt/CursorQt.cpp:
3410         (WebCore::grabCursor): Added.
3411         (WebCore::grabbingCursor): Added.
3412         * platform/win/CursorWin.cpp:
3413         (WebCore::grabCursor): Added.
3414         (WebCore::grabbingCursor): Added.
3415         * platform/wx/CursorWx.cpp:
3416         (WebCore::grabCursor): Added.
3417         (WebCore::grabbingCursor): Added.
3418
3419         * rendering/style/RenderStyleConstants.h:
3420         Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
3421         Also broke ECursor out into a single constant per line.
3422         Also added a couple of comments.
3423
3424 2008-10-27  Dimitri Glazkov  <dglazkov@chromium.org>
3425
3426         Reviewed by Darin Adler.
3427
3428         * svg/SVGAnimatedTemplate.h: needed a HashMap define
3429
3430 2008-10-21  Eric Seidel  <eric@webkit.org>
3431
3432         Reviewed by Dave Hyatt.
3433
3434         Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
3435         https://bugs.webkit.org/show_bug.cgi?id=20400
3436
3437         Test: svg/custom/stop-crash.svg
3438
3439         * WebCore.xcodeproj/project.pbxproj:
3440         * rendering/RenderSVGGradientStop.h:
3441         (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
3442
3443 2008-10-27  Anders Carlsson  <andersca@apple.com>
3444
3445         Reviewed by Sam Weinig.
3446
3447         No need to call release if the connection is null.
3448         
3449         * platform/network/mac/ResourceHandleMac.mm:
3450         (WebCore::ResourceHandle::start):
3451
3452 2008-10-27  Anders Carlsson  <andersca@apple.com>
3453
3454         Reviewed by Kevin Decker.
3455
3456         <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
3457         
3458         Make sure to null check the NSURLConnection object.
3459         
3460         * platform/network/mac/ResourceHandleMac.mm:
3461         (WebCore::ResourceHandle::start):
3462         (WebCore::ResourceHandle::setDefersLoading):
3463
3464 2008-10-27  Alexey Proskuryakov  <ap@webkit.org>
3465
3466         Fix non-Mac builds.
3467
3468         * GNUmakefile.am:
3469         * WebCore.pro:
3470         * WebCore.vcproj/WebCore.vcproj:
3471         * WebCoreSources.bkl:
3472         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
3473
3474 2008-10-26  Alexey Proskuryakov  <ap@webkit.org>
3475
3476         Reviewed by Sam Weinig.
3477
3478         https://bugs.webkit.org/show_bug.cgi?id=21886
3479         window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
3480
3481         Test: fast/dom/HTMLOptionElement/option-prototype.html
3482
3483         We now have separate objects for window.Option and window.HTMLOptionElement - the latter
3484         "constructor" cannot be used to construct anything. This matches Firefox behavior.
3485
3486         * WebCore.xcodeproj/project.pbxproj:
3487         * bindings/js/JSDOMWindowBase.cpp:
3488         (jsDOMWindowBaseOption):
3489         * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
3490         * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
3491         * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
3492         * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
3493         * html/HTMLOptionElement.idl:
3494         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
3495
3496         * html/HTMLOptionElement.idl: Generate a constructor.
3497
3498 2008-10-25  Geoffrey Garen  <ggaren@apple.com>
3499
3500         Not reviewed.
3501         
3502         Try to fix Mac debug build on the buildbot.
3503
3504         * platform/FileChooser.cpp:
3505         (WebCore::FileChooserClient::~FileChooserClient):
3506         * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
3507         weak exported symbol.
3508
3509 2008-10-25  Jade Han  <jade.han@nokia.com>
3510
3511         Reviewed by Anders.
3512
3513         Enable custom properties for Qt runtime objects in QtWebKit
3514
3515         https://bugs.webkit.org/show_bug.cgi?id=21813
3516
3517         * bridge/runtime_object.cpp:
3518         (JSC::RuntimeObjectImp::getOwnPropertySlot):
3519         (JSC::RuntimeObjectImp::put):
3520
3521 2008-10-24  Sam Weinig  <sam@webkit.org>
3522
3523         Fix windows build.
3524
3525         * page/Chrome.cpp:
3526         * page/Chrome.h:
3527
3528 2008-10-24  Sam Weinig  <sam@webkit.org>
3529
3530         Fix Qt build.
3531
3532         * platform/qt/FileChooserQt.cpp:
3533
3534 2008-10-24  Sam Weinig  <sam@webkit.org>
3535
3536         Reviewed by Dan Bernstein.
3537
3538         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
3539         Layering violation: FileChooser should not depend on Document/Frame/Page
3540
3541         Move file choosing into WebKit ChromeClient.
3542
3543         * loader/EmptyClients.h:
3544         (WebCore::EmptyChromeClient::runOpenPanel):
3545         * page/Chrome.cpp:
3546         (WebCore::Chrome::runOpenPanel):
3547         * page/Chrome.h:
3548         * page/ChromeClient.h:
3549         * page/mac/ChromeMac.mm:
3550         * platform/FileChooser.h:
3551         * platform/mac/FileChooserMac.mm:
3552         * platform/qt/FileChooserQt.cpp:
3553         * platform/win/FileChooserWin.cpp:
3554         * platform/wx/TemporaryLinkStubs.cpp:
3555         * rendering/RenderFileUploadControl.cpp:
3556         (WebCore::RenderFileUploadControl::click):
3557
3558 2008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
3559
3560         wx build fix - add newIconForFiles stub.
3561
3562         * platform/wx/TemporaryLinkStubs.cpp:
3563         (Icon::newIconForFiles):
3564
3565 2008-10-24  Kevin Watters  <kevinwatters@gmail.com>
3566
3567         Reviewed by Kevin Ollivier.
3568
3569         Use the CGFont metrics APIs for more accurate measurements, and tweak the y
3570         value the text is drawn at (it was a couple pixels off before because wx
3571         internally adds to the y value.
3572
3573         https://bugs.webkit.org/show_bug.cgi?id=21853
3574
3575         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
3576         (wxFontProperties::wxFontProperties):
3577         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
3578         (WebCore::drawTextWithSpacing):
3579
3580 2008-10-24  Eric Seidel  <eric@webkit.org>
3581
3582         Reviewed by Sam Weinig.
3583
3584         Generate missing constructors and add test to prevent missing ones in the future
3585         https://bugs.webkit.org/show_bug.cgi?id=21846
3586
3587         Test: fast/js/global-constructors.html
3588
3589         * css/CSSStyleSheet.idl:
3590         * css/RGBColor.idl:
3591         * dom/NodeIterator.idl:
3592         * dom/TreeWalker.idl:
3593    &nbs