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