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