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