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