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