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