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