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