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