Reviewed by Sam.
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
2
3         Reviewed by Sam.
4
5         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
6         Prepare SVGAnimatedProperty introduction.
7
8         Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
9         contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
10         See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
11
12         * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
13         * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
14         * svg/svgattrs.in: Export all SVG attributes as strings.
15         * svg/svgtags.in: Export all SVG tags as strings.
16         * svg/xlinkattrs.in: Expose all XLink attributes as strings.
17
18 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
19
20         Reviewed by Eric.
21
22         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
23         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
24
25         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
26
27         * GNUmakefile.am:
28         * WebCore.pro:
29         * WebCore.vcproj/WebCore.vcproj:
30         * WebCore.xcodeproj/project.pbxproj:
31         * bindings/js/JSSVGLengthCustom.cpp: Added.
32         (WebCore::JSSVGLength::value):
33         (WebCore::JSSVGLength::convertToSpecifiedUnits):
34         * bindings/scripts/CodeGeneratorObjC.pm:
35         * css/CSSCursorImageValue.cpp:
36         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
37         * rendering/RenderForeignObject.cpp:
38         (WebCore::RenderForeignObject::translationForAttributes):
39         * rendering/RenderSVGImage.cpp:
40         (WebCore::RenderSVGImage::layout):
41         * rendering/RenderSVGRoot.cpp:
42         (WebCore::RenderSVGRoot::calcViewport):
43         * rendering/RenderSVGText.cpp:
44         (WebCore::RenderSVGText::layout):
45         * rendering/RenderSVGViewportContainer.cpp:
46         (WebCore::RenderSVGViewportContainer::calcViewport):
47         * rendering/SVGCharacterLayoutInfo.cpp:
48         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
49         (WebCore::SVGCharacterLayoutInfo::addStackContent):
50         * rendering/SVGCharacterLayoutInfo.h:
51         * rendering/SVGRootInlineBox.cpp:
52         (WebCore::SVGRootInlineBox::buildTextChunks):
53         * svg/SVGAnimateElement.h:
54         * svg/SVGAnimateMotionElement.h:
55         * svg/SVGAnimateTransformElement.h:
56         * svg/SVGAnimationElement.h:
57         (WebCore::SVGAnimationElement::contextElement):
58         * svg/SVGCircleElement.cpp:
59         (WebCore::SVGCircleElement::SVGCircleElement):
60         (WebCore::SVGCircleElement::parseMappedAttribute):
61         (WebCore::SVGCircleElement::toPathData):
62         * svg/SVGCursorElement.cpp:
63         (WebCore::SVGCursorElement::SVGCursorElement):
64         (WebCore::SVGCursorElement::parseMappedAttribute):
65         * svg/SVGEllipseElement.cpp:
66         (WebCore::SVGEllipseElement::SVGEllipseElement):
67         (WebCore::SVGEllipseElement::parseMappedAttribute):
68         (WebCore::SVGEllipseElement::toPathData):
69         * svg/SVGFilterElement.cpp:
70         (WebCore::SVGFilterElement::SVGFilterElement):
71         (WebCore::SVGFilterElement::parseMappedAttribute):
72         (WebCore::SVGFilterElement::canvasResource):
73         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
74         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
75         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
76         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
77         * svg/SVGForeignObjectElement.cpp:
78         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
79         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
80         * svg/SVGImageElement.cpp:
81         (WebCore::SVGImageElement::SVGImageElement):
82         (WebCore::SVGImageElement::parseMappedAttribute):
83         * svg/SVGLength.cpp:
84         (WebCore::SVGLength::SVGLength):
85         (WebCore::SVGLength::value):
86         (WebCore::SVGLength::convertToSpecifiedUnits):
87         (WebCore::SVGLength::PercentageOfViewport):
88         * svg/SVGLength.h:
89         * svg/SVGLength.idl:
90         * svg/SVGLengthList.cpp:
91         (WebCore::SVGLengthList::parse):
92         * svg/SVGLengthList.h:
93         * svg/SVGLineElement.cpp:
94         (WebCore::SVGLineElement::SVGLineElement):
95         (WebCore::SVGLineElement::parseMappedAttribute):
96         (WebCore::SVGLineElement::toPathData):
97         * svg/SVGLinearGradientElement.cpp:
98         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
99         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
100         * svg/SVGMarkerElement.cpp:
101         (WebCore::SVGMarkerElement::SVGMarkerElement):
102         (WebCore::SVGMarkerElement::parseMappedAttribute):
103         (WebCore::SVGMarkerElement::canvasResource):
104         * svg/SVGMaskElement.cpp:
105         (WebCore::SVGMaskElement::SVGMaskElement):
106         (WebCore::SVGMaskElement::parseMappedAttribute):
107         (WebCore::SVGMaskElement::drawMaskerContent):
108         * svg/SVGPatternElement.cpp:
109         (WebCore::SVGPatternElement::SVGPatternElement):
110         (WebCore::SVGPatternElement::parseMappedAttribute):
111         (WebCore::SVGPatternElement::buildPattern):
112         * svg/SVGRadialGradientElement.cpp:
113         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
114         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
115         * svg/SVGRectElement.cpp:
116         (WebCore::SVGRectElement::SVGRectElement):
117         (WebCore::SVGRectElement::parseMappedAttribute):
118         (WebCore::SVGRectElement::toPathData):
119         * svg/SVGSVGElement.cpp:
120         (WebCore::SVGSVGElement::SVGSVGElement):
121         (WebCore::SVGSVGElement::viewport):
122         (WebCore::SVGSVGElement::parseMappedAttribute):
123         (WebCore::SVGSVGElement::getCTM):
124         (WebCore::SVGSVGElement::getScreenCTM):
125         * svg/SVGTextContentElement.cpp:
126         (WebCore::SVGTextContentElement::SVGTextContentElement):
127         (WebCore::SVGTextContentElement::parseMappedAttribute):
128         * svg/SVGTextPathElement.cpp:
129         (WebCore::SVGTextPathElement::SVGTextPathElement):
130         (WebCore::SVGTextPathElement::parseMappedAttribute):
131         * svg/SVGTextPositioningElement.cpp:
132         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
133         * svg/SVGUseElement.cpp:
134         (WebCore::SVGUseElement::SVGUseElement):
135         (WebCore::SVGUseElement::parseMappedAttribute):
136         (WebCore::SVGUseElement::buildPendingResource):
137         (WebCore::SVGUseElement::buildInstanceTree):
138         (WebCore::SVGUseElement::handleDeepUseReferencing):
139         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
140         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
141         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
142         * svg/SVGUseElement.h:
143         * svg/SynchronizableTypeWrapper.h:
144         * svg/graphics/SVGImage.cpp:
145         (WebCore::SVGImage::size):
146
147 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
148
149         Reviewed by Oliver Hunt.
150
151         Support for JavaScriptCore's first step toward putting doubles in
152         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
153
154         * bindings/js/ScheduledAction.cpp:
155         (WebCore::ScheduledAction::ScheduledAction):
156
157 2008-07-15  Maxime Britto  <britto@apple.com>
158
159         Reviewed by Eric.
160
161         https://bugs.webkit.org/show_bug.cgi?id=17589
162         <rdar://problem/5770893>
163         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
164         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
165         For the other platforms, nothing is changed but if someone want to activate this feature 
166         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
167
168         * ChangeLog:
169         * page/EventHandler.cpp:
170         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
171         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
172         * platform/PlatformWheelEvent.h:
173         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
174         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
175         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
176         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
177         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
178         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
179         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
180         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
181         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
182         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
183         * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
184         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
185         (WebCore::ScrollView::updateScrollbars):
186         (WebCore::ScrollView::wheelEvent):
187         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
188         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
189         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
190         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
191
192 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
193
194         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
195
196         * WebCoreSources.bkl:
197
198 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
199
200         Reviewed by Dan.
201
202         <rdar://problem/5620273> REGRESSION: Apparent caching between form
203         submits twice (on Maconomy) (18401)
204
205         Frames did not set the createdByParser flag even when they were.
206
207         * html/HTMLElementFactory.cpp:
208         (WebCore::frameConstructor):
209         (WebCore::iframeConstructor):
210
211 2008-07-15  Dan Bernstein  <mitz@apple.com>
212
213         Reviewed by Dave Hyatt.
214
215         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
216           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
217
218         Test: fast/reflections/inline-crash.html
219
220         * rendering/RenderInline.cpp:
221         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
222         Inline flows never have reflections.
223
224 2008-07-14  David Hyatt  <hyatt@apple.com>
225
226         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
227         no <body> exists yet though.
228
229         Reviewed by Sam
230
231         Added fast/css/style-parsed-outside-of-head.html
232
233         * html/HTMLElement.cpp:
234         (WebCore::inlineTagList):
235
236 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
237
238         Reviewed by Geoff.
239
240         Rename pageGroupIdentifier to profileGroup to keep mention of a
241         pageGroup out of JavaScriptCore.
242
243         * bindings/js/JSQuarantinedObjectWrapper.cpp:
244         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
245         * bindings/js/ScriptController.cpp:
246         (WebCore::ScriptController::clear):
247         (WebCore::ScriptController::initScript):
248         * history/CachedPage.cpp:
249         (WebCore::CachedPage::restore):
250
251 2008-07-15  Adam Roben  <aroben@apple.com>
252
253         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
254
255         <rdar://6059127>
256
257         Reviewed by John Sullivan.
258
259         * platform/graphics/win/FontCGWin.cpp:
260         (WebCore::Font::drawGlyphs): Pass the result of
261         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
262         * platform/win/WebCoreTextRenderer.cpp:
263         (WebCore::WebCoreSetShouldUseFontSmoothing):
264         (WebCore::WebCoreShouldUseFontSmoothing):
265         Added.
266         * platform/win/WebCoreTextRenderer.h:
267
268 2008-07-15  Adam Roben  <aroben@apple.com>
269
270         Windows build fix
271
272         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
273         to the project.
274
275 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
276
277         Build fix for the Gtk+ and Qt platform.
278
279         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
280         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
281
282 2008-07-14  Dan Bernstein  <mitz@apple.com>
283
284         - Tiger build fix
285
286         * platform/mac/WidgetMac.mm:
287         (WebCore::Widget::paint):
288
289 2008-07-14  Dan Bernstein  <mitz@apple.com>
290
291         Reviewed by John Sullivan.
292
293         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
294
295         * platform/mac/WidgetMac.mm:
296         (WebCore::Widget::paint): Changed to account for the case of drawing
297         into a bitmap context that is not a window's backing store. In that
298         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
299         drawing to the correct context, after setting up the right transform
300         on it. For subframes, additional code ensures that the scroll view will
301         not paint the background behind a transparent frame.
302
303 2008-07-14  chris fleizach  <cfleizach@apple.com>
304
305         Reviewed by Beth Dakin
306
307         <rdar://problem/6038106> AXChildren returned for this web area is null
308         Accessibility of image maps needed to be updated
309
310         Tests: accessibility/image-map1.html
311                accessibility/image-map2.html
312
313         * WebCore.xcodeproj/project.pbxproj:
314         * page/AXObjectCache.cpp:
315         (WebCore::AXObjectCache::get):
316         * page/AccessibilityImageMapLink.cpp: Added.
317         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
318         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
319         (WebCore::AccessibilityImageMapLink::create):
320         (WebCore::AccessibilityImageMapLink::parentObject):
321         (WebCore::AccessibilityImageMapLink::anchorElement):
322         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
323         (WebCore::AccessibilityImageMapLink::title):
324         (WebCore::AccessibilityImageMapLink::elementRect):
325         (WebCore::AccessibilityImageMapLink::size):
326         * page/AccessibilityImageMapLink.h: Added.
327         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
328         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
329         (WebCore::AccessibilityImageMapLink::roleValue):
330         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
331         (WebCore::AccessibilityImageMapLink::isLink):
332         * page/AccessibilityListBoxOption.h:
333         * page/AccessibilityObject.cpp:
334         (WebCore::AccessibilityObject::selectedChildren):
335         (WebCore::AccessibilityObject::visibleChildren):
336         * page/AccessibilityObject.h:
337         (WebCore::):
338         * page/AccessibilityRenderObject.cpp:
339         (WebCore::AccessibilityRenderObject::parentObject):
340         (WebCore::AccessibilityRenderObject::isAnchor):
341         (WebCore::AccessibilityRenderObject::anchorElement):
342         (WebCore::AccessibilityRenderObject::helpText):
343         (WebCore::AccessibilityRenderObject::intValue):
344         (WebCore::AccessibilityRenderObject::stringValue):
345         (WebCore::AccessibilityRenderObject::title):
346         (WebCore::AccessibilityRenderObject::accessibilityDescription):
347         (WebCore::AccessibilityRenderObject::elementRect):
348         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
349         (WebCore::AccessibilityRenderObject::roleValue):
350         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
351         (WebCore::AccessibilityRenderObject::addChildren):
352         * page/AccessibilityRenderObject.h:
353         * page/mac/AccessibilityObjectWrapper.mm:
354         (convertToNSArray):
355         (RoleEntry::):
356
357 2008-07-14  Sam Weinig  <sam@webkit.org>
358
359         Rubber-stamped by David Hyatt.
360
361         Remove unused ExceptionCode parameter from compareDocumentPosition.
362
363         * dom/Document.cpp:
364         (WebCore::Document::addStyleSheetCandidateNode):
365         * dom/Node.cpp:
366         (WebCore::Node::compareDocumentPosition):
367         * dom/Node.h:
368         * dom/Node.idl:
369
370 2008-07-14  David Hyatt  <hyatt@apple.com>
371
372         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
373
374         Reviewed by Sam
375
376         Added fast/css/style-outside-head.html
377         Added fast/css/link-outside-head.html
378
379         * dom/Document.cpp:
380         (WebCore::Document::addStyleSheetCandidateNode):
381         (WebCore::Document::removeStyleSheetCandidateNode):
382         (WebCore::Document::recalcStyleSelector):
383         * dom/Document.h:
384         * dom/Node.cpp:
385         (WebCore::Node::compareDocumentPosition):
386         * dom/ProcessingInstruction.cpp:
387         (WebCore::ProcessingInstruction::checkStyleSheet):
388         (WebCore::ProcessingInstruction::insertedIntoDocument):
389         (WebCore::ProcessingInstruction::removedFromDocument):
390         (WebCore::ProcessingInstruction::finishParsingChildren):
391         * dom/ProcessingInstruction.h:
392         (WebCore::ProcessingInstruction::setCreatedByParser):
393         * dom/StyleElement.cpp:
394         (WebCore::StyleElement::removedFromDocument):
395         * dom/XMLTokenizer.cpp:
396         (WebCore::XMLTokenizer::startElementNs):
397         (WebCore::XMLTokenizer::processingInstruction):
398         (WebCore::):
399         * html/HTMLElementFactory.cpp:
400         (WebCore::linkConstructor):
401         * html/HTMLLinkElement.cpp:
402         (WebCore::HTMLLinkElement::HTMLLinkElement):
403         (WebCore::HTMLLinkElement::insertedIntoDocument):
404         (WebCore::HTMLLinkElement::removedFromDocument):
405         (WebCore::HTMLLinkElement::finishParsingChildren):
406         * html/HTMLLinkElement.h:
407         (WebCore::HTMLLinkElement::setCreatedByParser):
408         * html/HTMLStyleElement.cpp:
409         (WebCore::HTMLStyleElement::insertedIntoDocument):
410         (WebCore::HTMLStyleElement::removedFromDocument):
411         * svg/SVGStyleElement.cpp:
412         (WebCore::SVGStyleElement::insertedIntoDocument):
413         (WebCore::SVGStyleElement::removedFromDocument):
414
415 2008-07-14  Sam Weinig  <sam@webkit.org>
416
417         Reviewed by Mark Rowe.
418
419         Sort interface extended attributes to appease *the* Mark Rowe.
420
421         * page/DOMWindow.idl:
422
423 2008-07-14  Anders Carlsson  <andersca@apple.com>
424
425         Reviewed by Geoff.
426
427         <rdar://problem/6073974>
428         https://bugs.webkit.org/show_bug.cgi?id=18106
429         The "onscroll" event bubbles, which is inconsistent with Firefox and IE
430
431         Don't bubble the scroll event.
432         
433         * rendering/RenderLayer.cpp:
434         (WebCore::RenderLayer::scrollToOffset):
435         * rendering/RenderListBox.cpp:
436         (WebCore::RenderListBox::valueChanged):
437
438 2008-07-14  Adele Peterson  <adele@apple.com>
439
440         Reviewed by Geoff.
441
442         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
443
444         The web server on this particular piece of hardware doesn't handle "text/xml" in the 
445         Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
446         the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
447         server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
448         is being deprecated in favor of "application/xml".  We decided that the best solution is 
449         to match Firefox 3 and stop sending "text/xml" in the Accept header.
450
451         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
452
453         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
454
455 2008-07-14  Sam Weinig  <sam@webkit.org>
456
457         Reviewed by Adele Peterson.
458
459         Fix for <rdar://problem/5769819>
460
461         Test: http/tests/security/cross-frame-access-object-prototype.html
462
463         * bindings/js/JSDOMWindowCustom.cpp:
464         (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
465         (WebCore::JSDOMWindow::defineGetter): Ditto.
466         (WebCore::JSDOMWindow::defineSetter): Ditto.
467         (WebCore::JSDOMWindow::lookupGetter): Ditto.
468         (WebCore::JSDOMWindow::lookupSetter): Ditto.
469         * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
470         of all the core JSObject functionality.
471         * page/DOMWindow.idl: Override remaining core JSObject functionality,
472         to inject security checks.
473
474 2008-07-14  Adam Roben  <aroben@apple.com>
475
476         Windows build fixes
477
478         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
479         path.
480         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
481         bindings to regenerate.
482         * loader/FTPDirectoryDocument.cpp:
483         * loader/FTPDirectoryParser.cpp:
484         Fixed some duplicate macro definitions now that we're including
485         pthread.h again.
486
487 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
488
489         Reviewed by Kevin McCullough.
490
491         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
492         global data.
493
494         * bindings/js/JSDOMWindowBase.cpp:
495         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
496
497 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
498
499         Reviewed by Holger.
500
501         Make listDirectory() in the Qt port work with empty namefilters.
502         Don't include . and .. to avoid scanning the parent directory.
503
504         * platform/qt/FileSystemQt.cpp:
505         (WebCore::listDirectory):
506
507 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
508
509         Reviewed by Geoff Garen.
510
511         Eliminate per-thread JavaScript global data instance support and make arbitrary
512         global data/global object combinations possible.
513
514         * bindings/js/JSDOMWindowBase.h:
515         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
516         WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
517
518         * bindings/js/JSDOMWindowShell.cpp:
519         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
520         (WebCore::JSDOMWindowShell::operator new):
521         * bindings/js/ScriptController.cpp:
522         (WebCore::ScriptController::clear):
523         * bindings/scripts/CodeGeneratorJS.pm:
524         Pass commonJSGlobalData() as an allocator.
525
526         * bridge/c/c_utility.cpp:
527         (KJS::Bindings::identifierFromNPIdentifier):
528         * bridge/jni/jni_class.cpp:
529         (JavaClass::JavaClass):
530         * history/CachedPage.cpp:
531         (WebCore::CachedPage::restore):
532         * storage/Database.cpp:
533         (WebCore::Database::Database):
534         * bindings/js/GCController.cpp:
535         (WebCore::collect):
536         (WebCore::GCController::gcTimerFired):
537         (WebCore::GCController::garbageCollectNow):
538         Use JSDOMWindow::commonJSGlobalData().
539
540         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
541         it need to be accesible outside of JSC).
542
543         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
544
545 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
546
547         Reviewed by Simon.
548
549         MinGW build fixes
550
551         * plugins/win/PluginDatabaseWin.cpp:
552         * plugins/win/PluginViewWin.cpp:
553         (WebCore::PluginView::handleKeyboardEvent):
554         (WebCore::PluginView::handleMouseEvent):
555         * svg/SynchronizableTypeWrapper.h:
556         (WebCore::::SynchronizableTypeWrapper):
557
558 2008-07-13  Sam Weinig  <sam@webkit.org>
559
560         Reviewed by Oliver Hunt and Dan Bernstein.
561
562         Fix for <rdar://problem/5888127>
563         https://bugs.webkit.org/show_bug.cgi?id=18699
564
565         - Match Firefox in restricting the size of custom cursor to images to
566           128x128 px.
567         - Restrict custom cursor hotspots to values within the bounds of the
568           cursor image.
569
570         * manual-tests/cursor-max-size.html: Added.
571         * page/EventHandler.cpp:
572         (WebCore::EventHandler::selectCursor):
573
574 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
575
576         wx build fix.
577
578         * platform/graphics/wx/AffineTransformWx.cpp:
579         (WebCore::AffineTransform::a):
580         (WebCore::AffineTransform::b):
581         (WebCore::AffineTransform::c):
582         (WebCore::AffineTransform::d):
583         (WebCore::AffineTransform::e):
584         (WebCore::AffineTransform::f):
585
586 2008-07-12  Dan Bernstein  <mitz@apple.com>
587
588         Reviewed by Oliver Hunt.
589
590         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
591           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
592
593         Test: fast/block/basic/min-pref-width-nowrap-floats.html
594
595         * rendering/RenderBlock.cpp:
596         (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
597         float's width was added to the minimum preferred widths instead of just
598         acting as a lower bound on the minimum preferred width (since the float
599         can always be pushed down to be the only thing on the line).
600
601 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
602
603         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
604
605         <https://bugs.webkit.org/show_bug.cgi?id=13067>
606
607         Reviewed by Darin.
608
609         Test: WebCore/manual-tests/hash-ref.html
610
611         * loader/FrameLoader.cpp:
612         (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
613              FrameLoadType newLoadType, const String& frameName, Event* event,
614              PassRefPtr<FormState> formState)): Extracted logic into
615         shouldScrollToAnchor() for determining when to scroll to an anchor.
616
617         (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
618              PassRefPtr<FormState> formState)): Added check for
619         shouldScrollToAnchor() to catch cases when the user manually added a
620         hash ref to the URL in the address bar.  This is the bug fix.
621
622         (WebCore::FrameLoader::shouldReload): Simplified early return logic.
623         We only need to check if the destinationURL has a hash ref, not the
624         currentURL, per the comment in the method.
625
626         (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
627         from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
628         of arguments to shouldReload() since they were backwards, although the
629         previous logic in the method made this irrelevant.
630
631         (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
632         we're navigating to a HistoryItem, it doesn't make sense to ask whether
633         we need to reload the page or not.  Additionally, the logic at the end
634         of shouldReload() is also checked in urlsMatchItem(), so there's no need
635         to call the method.  This fixed the fast/css/target-fragment-match.html
636         test from continuously reloading after the other changes.
637
638         * loader/FrameLoader.h:
639         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
640
641         * manual-tests/hash-ref.html: Added.
642         * manual-tests/resources/hash-ref-test.html: Added.
643
644 2008-07-11  Stephanie Lewis  <slewis@apple.com>
645
646         Reviewed by Darin Adler.
647
648         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
649
650         * bindings/js/JSCustomSQLTransactionCallback.cpp:
651         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
652         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
653         * bindings/js/JSEventListener.cpp:
654         (WebCore::JSEventListener::JSEventListener):
655         (WebCore::JSEventListener::~JSEventListener):
656         * dom/Node.cpp:
657         (WebCore::Node::Node):
658         (WebCore::Node::~Node):
659         * dom/Range.cpp:
660         (WebCore::Range::Range):
661         (WebCore::Range::~Range):
662         * history/CachedPage.cpp:
663         (WebCore::CachedPage::CachedPage):
664         (WebCore::CachedPage::~CachedPage):
665         * loader/SubresourceLoader.cpp:
666         (WebCore::SubresourceLoader::SubresourceLoader):
667         (WebCore::SubresourceLoader::~SubresourceLoader):
668         * page/Frame.cpp:
669         (WebCore::Frame::Frame):
670         (WebCore::Frame::~Frame):
671         * page/Page.cpp:
672         (WebCore::Page::Page):
673         (WebCore::Page::~Page):
674         * rendering/RenderObject.cpp:
675         (WebCore::RenderObject::RenderObject):
676         (WebCore::RenderObject::~RenderObject):
677         * rendering/bidi.cpp:
678         (WebCore::throw):
679         (WebCore::BidiRun::operator delete):
680
681 2008-07-11  Sam Weinig  <sam@webkit.org>
682
683         Reviewed by Mark Rowe.
684
685         Update getSubStringLength and selectSubString methods exception throwing conditions
686         based on SVG working group errata.
687
688         Test: svg/custom/selectSubString.html
689
690         * svg/SVGTextContentElement.cpp:
691         (WebCore::SVGTextContentElement::getSubStringLength):
692         (WebCore::SVGTextContentElement::selectSubString):
693
694 2008-07-11  Sam Weinig  <sam@webkit.org>
695
696         Reviewed by Mark Rowe.
697
698         We can only use the Id fast path for querySelector and querySelectorAll
699         if the selector is purely an Id selector.
700
701         Test: fast/dom/SelectorAPI/id-fastpath.html
702
703         * dom/Node.cpp:
704         (WebCore::Node::querySelector):
705         * dom/SelectorNodeList.cpp:
706         (WebCore::createSelectorNodeList):
707
708 2008-07-11  David Hyatt  <hyatt@apple.com>
709
710         Implement the DOM level 3 compareDocumentPosition method on Node.
711
712         Reviewed by Darin
713
714         * dom/Node.cpp:
715         (WebCore::Node::compareDocumentPosition):
716         * dom/Node.h:
717         * dom/Node.idl:
718
719 2008-07-11  Brady Eidson  <beidson@apple.com>
720
721         Rubberstamped by Sam
722
723         Removed unneeded export
724
725         * WebCore.base.exp:
726
727 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
728
729         Reviewed by Geoff.
730
731         <rdar://problem/6067178> REGRESSION: Start profile button in profiler
732         now profiles inspector rather than actual page (19833)
733         - The JSQuarantinedObjectWrapper should use the wrapped exec state
734         so that calls to it execute in its quarantined world.
735
736         * bindings/js/JSQuarantinedObjectWrapper.cpp:
737         (WebCore::JSQuarantinedObjectWrapper::construct):
738         (WebCore::JSQuarantinedObjectWrapper::call):
739
740 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
741
742         Reviewed by Dave Hyatt
743
744         StyleRareNonInheritedData needs to initialize and compare
745         m_maskBoxImage.
746         <https://bugs.webkit.org/show_bug.cgi?id=20005>
747
748         * rendering/style/RenderStyle.cpp:
749         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
750         (WebCore::StyleRareNonInheritedData::operator==):
751
752 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
753
754         Reviewed by Dave Hyatt
755
756         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
757         look for transforms, since transforms create containing
758         blocks.
759         <https://bugs.webkit.org/show_bug.cgi?id=18885>
760
761         Test: fast/transforms/transform-positioned-ancestor.html
762
763         * rendering/RenderLayer.cpp:
764         (WebCore::RenderLayer::stackingContext):
765         (WebCore::RenderLayer::enclosingPositionedAncestor):
766         (WebCore::RenderLayer::enclosingTransformedAncestor):
767
768 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
769
770         Reviewed by Darin Adler
771
772         http://bugs.webkit.org/show_bug.cgi?id=19978
773         GTK port always ends up with # at the end of resource URLs (and hence can't load files)
774
775         - Optimized KURL::removeRef() and used it rather than setRef("")
776           which after r35040 does the wrong thing.
777
778         * platform/KURL.cpp:
779         (WebCore::KURL::removeRef):
780         * platform/network/curl/ResourceHandleManager.cpp:
781         (WebCore::ResourceHandleManager::initializeHandle):
782
783 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
784
785         Fix the Qt/Windows build, include windows.h for HWND directly
786         instead of implicit inclusion through Timer.h.
787
788         * plugins/win/PluginMessageThrottlerWin.h:
789
790 2008-07-11  Dan Bernstein  <mitz@apple.com>
791
792         Reviewed by Darin Adler.
793
794         - fix popularity tracking for cached resources, which regressed in r23923
795
796         * loader/Cache.cpp:
797         (WebCore::Cache::requestResource): Changed to increase the access count
798         whenever this function returns a CachedResource and the cache is
799         enabled, instead of only when creating a new CachedResources. The
800         incorrect behavior resulted in all resources in the cache having an
801         access count of exactly 1 at all times.
802         (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
803
804 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
805
806         Reviewed by Simon.
807
808         Enable Netscape plugins for the Qt/Windows build.
809
810         This required various smaller fixes across a wider set of
811         files described below.
812
813         * WebCore.pro: Add various windows specific files to the build.
814         * page/Page.h: Extend the #ifdeffery for windows types to include the
815         Qt/Windows build.
816         * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
817         the Qt port, as PluginViewWin.cpp uses it.
818         * platform/graphics/qt/GraphicsContextQt.cpp:
819         (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
820         * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
821         are now implemented through *Win.cpp files.
822         * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
823         * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
824         (WebCore::PluginView::setFrameGeometry): Ditto.
825         (WebCore::PluginView::PluginView): Ditto.
826         * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
827         which expands to HWND directly for the Qt/Windows build and
828         PlatformWidget for the remaining platforms. That is because
829         PlatformWidget is QWidget* for the Qt build but for the plugin
830         window we need a native window, aka HWND.
831         * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
832         after config.h.
833         * plugins/win/PluginViewWin.cpp:
834         (windowHandleForPlatformWidget): Added a little helper function to
835         determine the HWND from a PlatformWidget.
836         (WebCore::registerPluginView): For the Qt port we need to set the
837         global application instance handle here in the library, as the
838         browser doesn't do it.
839         (WebCore::PluginView::handleMouseEvent): Mask out
840         ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
841         (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
842         manually just here to avoid compiling in IntRectWin.cpp.
843         (WebCore::PluginView::invalidateRegion): Ditto.
844         (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
845         on containingWindow() to get the correct HWND for the Qt port.
846         (WebCore::PluginView::init): Determine the parent HWND for m_window
847         using windowHandleForPlatformWidget.
848
849 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
850
851         Rubber-stamped by Holger.
852
853         Enable Database and Icondatabase functionality for the Qt/Windows
854         build when building inside Qt, as we can use the builtin copy of
855         sqlite then.
856
857         * WebCore.pro:
858
859 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
860
861         Reviewed by Adam Roben.
862
863         Fix compile with MinGW since it does not like friend static function.
864
865         * plugins/PluginView.h:
866         * plugins/win/PluginViewWin.cpp:
867
868 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
869
870         Reviewed by Simon.
871
872         Fix Qt/Win32 build.
873
874         * platform/graphics/qt/GraphicsContextQt.cpp:
875
876 2008-07-10  Sam Weinig  <sam@webkit.org>
877
878         Reviewed by Oliver Hunt.
879
880         Add support for NSResolver to resolve namespaces for querySelector 
881         and querySelectorAll.
882
883         - Namespace resolution is done after parsing by iterating over all the
884           parts of the CSSSelector.
885
886         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
887                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
888
889         * GNUmakefile.am: Updated with new files.
890         * WebCore.pro: Ditto.
891         * WebCore.vcproj/WebCore.vcproj: Ditto.
892         * WebCore.xcodeproj/project.pbxproj: Ditto.
893         * WebCoreSources.bkl: Ditto.
894
895         * bindings/js/JSDOMBinding.cpp:
896         (WebCore::execStateFromNode):
897         * bindings/js/JSDOMBinding.h:
898         Move execStateFromNode here from NodeFilter.
899
900         * bindings/js/JSDocumentCustom.cpp:
901         (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
902         and instead create one if the argument is not undefined or null.
903         (WebCore::JSDocument::querySelectorAll): Ditto.
904         * bindings/js/JSDocumentFragmentCustom.cpp:
905         (WebCore::JSDocumentFragment::querySelector): Ditto.
906         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
907         * bindings/js/JSElementCustom.cpp:
908         (WebCore::JSElement::querySelector): Ditto.
909         (WebCore::JSElement::querySelectorAll): Ditto.
910
911         * bindings/js/JSNSResolver.cpp: Added.
912         (WebCore::JSNSResolver::JSNSResolver):
913         (WebCore::JSNSResolver::mark):
914         (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
915         from the passed in argument, either the value itself, or the result of
916         getting the lookupNamespaceURI property, and call it.
917         (WebCore::toNSResolver):
918         * bindings/js/JSNSResolver.h: Added.
919         (WebCore::JSNSResolver::create):
920
921         * dom/Document.idl: Update with NSResolver parameter.
922         * dom/DocumentFragment.idl: Ditto.
923         * dom/Element.idl: Ditto.
924
925         * dom/NSResolver.h: Added.
926         (WebCore::NSResolver::~NSResolver):
927         (WebCore::NSResolver::mark):
928         Abstract base class.
929
930         * dom/NSResolver.idl: Added.
931
932         * dom/Node.cpp:
933         (WebCore::forEachTagSelector):
934         (WebCore::forEachSelector):
935         Functions to iterate over all parts of the selector.
936
937         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
938         Functor to be passed to forEachSelector to determine if a selector
939         needs namespace resolution, for the case when no NSResolver is passed
940         and we need to determine whether to throw a NAMESPACE_ERR.
941
942         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
943         (WebCore::ResolveNamespaceFunctor::operator()):
944         Functor to resolve namespaces for the selector.
945
946         (WebCore::selectorNeedsNamespaceResolution):
947         (WebCore::resolveNamespacesForSelector):
948         (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
949         if a NSResolver is passed in.
950         (WebCore::Node::querySelectorAll): Ditto.
951         * dom/Node.h:
952
953         * dom/NodeFilter.cpp:
954         * dom/NodeFilter.h:
955         * dom/NodeIterator.h:
956         (WebCore::NodeIterator::nextNode):
957         (WebCore::NodeIterator::previousNode):
958         * dom/TreeWalker.h:
959         (WebCore::TreeWalker::parentNode):
960         (WebCore::TreeWalker::firstChild):
961         (WebCore::TreeWalker::lastChild):
962         (WebCore::TreeWalker::previousSibling):
963         (WebCore::TreeWalker::nextSibling):
964         (WebCore::TreeWalker::previousNode):
965         (WebCore::TreeWalker::nextNode):
966         Use the version of execStateFromNode in JSDOMBinding.
967
968 2008-07-10  Mark Rowe  <mrowe@apple.com>
969
970         Reviewed by Sam Weinig.
971
972         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
973
974         * Configurations/WebCore.xcconfig:
975
976 2008-07-10  Dean Jackson  <dino@apple.com>
977
978         Reviewed by hyatt.
979
980         Calculate computed style for -webkit-transform property
981         https://bugs.webkit.org/show_bug.cgi?id=19864
982
983         Test: css3/transform-computed-style-001.html
984
985         * css/CSSComputedStyleDeclaration.cpp:
986         (WebCore::computedTransform):
987         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
988             handles -webkit-transform property now
989         * manual-tests/computed-transform-value.html: Added.
990
991 2008-07-10  Dan Bernstein  <mitz@apple.com>
992
993         Reviewed by Adam Roben.
994
995         - fix a parse error in inspector.js
996
997         * page/inspector/inspector.js: Added missing brace.
998
999 2008-07-10  Adam Roben  <aroben@apple.com>
1000
1001         Build fix
1002
1003         * WebCore.vcproj/QTMovieWin.vcproj: Add
1004         OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
1005
1006 2008-07-10  Chris Fleizach  <cfleizach@apple.com>
1007
1008         Reviewed by Dan Bernstein
1009
1010         <rdar://problem/6067408> AX: internal anchors broken
1011
1012         * page/AccessibilityRenderObject.cpp:
1013         (WebCore::AccessibilityRenderObject::internalLinkElement):
1014         * platform/KURL.cpp:
1015         (WebCore::KURL::removeRef):
1016         * platform/KURL.h:
1017
1018 2008-07-10  Mark Rowe  <mrowe@apple.com>
1019
1020         Build fix.
1021
1022         * bridge/npapi.h: Remove extra comma.
1023
1024 2008-07-10  Sam Weinig  <sam@webkit.org>
1025
1026         Reviewed by Mark Rowe.
1027
1028         Remove no-op debug method.
1029
1030         * css/CSSSelector.cpp:
1031         * css/CSSSelector.h:
1032
1033 2008-07-10  Sam Weinig  <sam@webkit.org>
1034
1035         Reviewed by Dave Hyatt and Darin Adler.
1036
1037         Add support for calling querySelector and querySelectorAll on DocumentFragments
1038
1039         - Fixes bug where nodes not in the document tree would not match based on ID due
1040           to over optimization.
1041
1042         Test: fast/dom/SelectorAPI/detached-element.html
1043
1044         * GNUmakefile.am:
1045         * WebCore.pro:
1046         * WebCore.vcproj/WebCore.vcproj:
1047         * WebCore.xcodeproj/project.pbxproj:
1048         * WebCoreSources.bkl:
1049         * bindings/js/JSDocumentFragmentCustom.cpp: Added.
1050         (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
1051         and JSDocument that checks for a 2nd arguments and throws an exception indicating
1052         we do not currently support the optional NSResolver part of the Selectors API spec.
1053         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
1054         * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
1055
1056         * dom/Node.cpp:
1057         (WebCore::Node::querySelector): Make the CSS parser parse the selector
1058         according to the strictness of the document so that mixed case ID selectors
1059         match in quirks mode.  Also, don't use the fast ID path if the root is not
1060         in the DOM tree, as it won't work.
1061         (WebCore::Node::querySelectorAll): Ditto.
1062         * dom/SelectorNodeList.cpp:
1063         (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
1064         in the DOM tree, as it won't work.
1065
1066 2008-07-10  Anthony Ricaud  <rik24d@gmail.com>
1067
1068         Bug 19389: querySelectorAll exception while searching invalid CSS selector
1069         <https://bugs.webkit.org/show_bug.cgi?id=19389>
1070
1071         Reviewed by Tim Hatcher.
1072
1073         * page/inspector/inspector.js: Added a try/catch block.
1074
1075 2008-07-10  Brent Fulgham  <bfulgham@gmail.com>
1076
1077         Correct a build regression due to an uninitialized variable.
1078
1079         <https://bugs.webkit.org/show_bug.cgi?id=19976>
1080
1081         Reviewed by Darin.
1082
1083         * platform/graphics/cairo/FontCairo.cpp:
1084         (WebCore::Font::drawGlyphs):
1085
1086 2008-07-10  Adam Roben  <aroben@apple.com>
1087
1088         Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
1089         HTMLCollection::resetCollectionInfo (codegen issue?)
1090
1091         <https://bugs.webkit.org/show_bug.cgi?id=19580>
1092         <rdar://6029794>
1093
1094         Reviewed by Cameron Zwarich.
1095
1096         * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
1097         which was causing some bad codegen in HTMLFormElement::elements.
1098         * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
1099
1100 2008-07-10  Anders Carlsson  <andersca@apple.com>
1101
1102         Reviewed by Jon.
1103
1104         <rdar://problem/6067135>
1105         WebKit should respond true to a query for NPNVSupportsWindowless.
1106         
1107         Handle NPNVSupportsWindowless and return true.
1108         
1109         * bridge/npapi.h:
1110         * plugins/win/PluginViewWin.cpp:
1111         (WebCore::PluginView::getValue):
1112
1113 2008-07-10  Kevin McCullough  <kmccullough@apple.com>
1114
1115         Reviewed by Darin.
1116
1117         -Minor cleanup. Renamed callTree() to head() and no longer use m_head
1118         directly but instead keep it private and access via a method().
1119
1120         * page/JavaScriptProfile.cpp:
1121         (WebCore::getHeadCallback):
1122
1123 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
1124
1125         When a mask image changes, ensure that elements
1126         that use that mask image are repainted correctly.
1127         
1128         <https://bugs.webkit.org/show_bug.cgi?id=19954>
1129         
1130         Reviewed by Dave Hyatt
1131
1132         * manual-tests/canvas-mask-redraw.html
1133           Manual testcase
1134         * rendering/RenderBox.cpp:
1135         (WebCore::RenderBox::imageChanged):
1136         (WebCore::RenderBox::repaintLayerRectsForImage):
1137         * rendering/RenderBox.h:
1138         Loop through background layers and mask layers, and
1139         if this image is used in a layer, compute a repaint
1140         rect and repaint.
1141         * rendering/RenderImage.cpp:
1142         (WebCore::RenderImage::imageChanged):
1143         If this image has a mask, call the base class method.
1144         * rendering/RenderObject.cpp:
1145         Remove a bogus 'return'.
1146
1147 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
1148
1149         Transforms create a containing block, so
1150         RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
1151         <https://bugs.webkit.org/show_bug.cgi?id=18886>
1152         
1153         Reviewed by Dave Hyatt
1154
1155         Test: fast/transforms/transform-overflow.html
1156
1157         * rendering/RenderLayer.cpp:
1158         (WebCore::RenderLayer::shouldBeOverflowOnly):
1159
1160 2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
1161
1162         Reviewed by Oliver Hunt.
1163
1164         bug 19835: WebKit needs cross-platform filter system
1165         <https://bugs.webkit.org/show_bug.cgi?id=19835>
1166
1167         More class refactoring in preparation for cross-platform filter 
1168         implementation.
1169
1170         * WebCore.xcodeproj/project.pbxproj:
1171         * rendering/SVGRenderTreeAsText.h:
1172         (WebCore::operator<<):
1173         * svg/FilterEffect.cpp:
1174         (WebCore::FilterEffect::externalRepresentation):
1175         * svg/FilterEffect.h:
1176         * svg/SVGFEBlendElement.cpp:
1177         (WebCore::SVGFEBlendElement::build):
1178         * svg/SVGFEBlendElement.h:
1179         * svg/SVGFEColorMatrixElement.cpp:
1180         (WebCore::SVGFEColorMatrixElement::build):
1181         * svg/SVGFEColorMatrixElement.h:
1182         * svg/SVGFEComponentTransferElement.cpp:
1183         (WebCore::SVGFEComponentTransferElement::build):
1184         * svg/SVGFEComponentTransferElement.h:
1185         * svg/SVGFECompositeElement.cpp:
1186         (WebCore::SVGFECompositeElement::build):
1187         * svg/SVGFECompositeElement.h:
1188         * svg/SVGFEDiffuseLightingElement.cpp:
1189         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1190         (WebCore::SVGFEDiffuseLightingElement::build):
1191         (WebCore::SVGFEDiffuseLightingElement::findLights):
1192         * svg/SVGFEDiffuseLightingElement.h:
1193         * svg/SVGFEDisplacementMapElement.cpp:
1194         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1195         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
1196         (WebCore::SVGFEDisplacementMapElement::filterEffect):
1197         (WebCore::SVGFEDisplacementMapElement::build):
1198         * svg/SVGFEDisplacementMapElement.h:
1199         * svg/SVGFEFloodElement.cpp:
1200         (WebCore::SVGFEFloodElement::filterEffect):
1201         (WebCore::SVGFEFloodElement::build):
1202         * svg/SVGFEFloodElement.h:
1203         (WebCore::SVGFEFloodElement::contextElement):
1204         * svg/SVGFEGaussianBlurElement.cpp:
1205         (WebCore::SVGFEGaussianBlurElement::filterEffect):
1206         (WebCore::SVGFEGaussianBlurElement::build):
1207         * svg/SVGFEGaussianBlurElement.h:
1208         * svg/SVGFEImageElement.cpp:
1209         (WebCore::SVGFEImageElement::filterEffect):
1210         (WebCore::SVGFEImageElement::build):
1211         * svg/SVGFEImageElement.h:
1212         * svg/SVGFEMergeElement.cpp:
1213         (WebCore::SVGFEMergeElement::filterEffect):
1214         (WebCore::SVGFEMergeElement::build):
1215         * svg/SVGFEMergeElement.h:
1216         (WebCore::SVGFEMergeElement::contextElement):
1217         * svg/SVGFEOffsetElement.cpp:
1218         (WebCore::SVGFEOffsetElement::filterEffect):
1219         (WebCore::SVGFEOffsetElement::build):
1220         * svg/SVGFEOffsetElement.h:
1221         * svg/SVGFESpecularLightingElement.cpp:
1222         (WebCore::SVGFESpecularLightingElement::filterEffect):
1223         (WebCore::SVGFESpecularLightingElement::findLights):
1224         (WebCore::SVGFESpecularLightingElement::build):
1225         * svg/SVGFESpecularLightingElement.h:
1226         * svg/SVGFETileElement.cpp:
1227         (WebCore::SVGFETileElement::filterEffect):
1228         (WebCore::SVGFETileElement::build):
1229         * svg/SVGFETileElement.h:
1230         * svg/SVGFETurbulenceElement.cpp:
1231         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1232         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
1233         (WebCore::SVGFETurbulenceElement::filterEffect):
1234         (WebCore::SVGFETurbulenceElement::build):
1235         * svg/SVGFETurbulenceElement.h:
1236         * svg/SVGFilterPrimitiveStandardAttributes.h:
1237         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1238         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
1239         (WebCore::FEConvolveMatrix::create):
1240         (WebCore::FEConvolveMatrix::kernelSize):
1241         (WebCore::FEConvolveMatrix::setKernelSize):
1242         (WebCore::FEConvolveMatrix::kernel):
1243         (WebCore::FEConvolveMatrix::setKernel):
1244         (WebCore::FEConvolveMatrix::divisor):
1245         (WebCore::FEConvolveMatrix::setDivisor):
1246         (WebCore::FEConvolveMatrix::bias):
1247         (WebCore::FEConvolveMatrix::setBias):
1248         (WebCore::FEConvolveMatrix::targetOffset):
1249         (WebCore::FEConvolveMatrix::setTargetOffset):
1250         (WebCore::FEConvolveMatrix::edgeMode):
1251         (WebCore::FEConvolveMatrix::setEdgeMode):
1252         (WebCore::FEConvolveMatrix::kernelUnitLength):
1253         (WebCore::FEConvolveMatrix::setKernelUnitLength):
1254         (WebCore::FEConvolveMatrix::preserveAlpha):
1255         (WebCore::FEConvolveMatrix::setPreserveAlpha):
1256         (WebCore::FEConvolveMatrix::apply):
1257         (WebCore::FEConvolveMatrix::dump):
1258         (WebCore::operator<<):
1259         (WebCore::FEConvolveMatrix::externalRepresentation):
1260         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1261         (WebCore::):
1262         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1263         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
1264         (WebCore::FEDiffuseLighting::create):
1265         (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
1266         (WebCore::FEDiffuseLighting::lightingColor):
1267         (WebCore::FEDiffuseLighting::setLightingColor):
1268         (WebCore::FEDiffuseLighting::surfaceScale):
1269         (WebCore::FEDiffuseLighting::setSurfaceScale):
1270         (WebCore::FEDiffuseLighting::diffuseConstant):
1271         (WebCore::FEDiffuseLighting::setDiffuseConstant):
1272         (WebCore::FEDiffuseLighting::kernelUnitLengthX):
1273         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
1274         (WebCore::FEDiffuseLighting::kernelUnitLengthY):
1275         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
1276         (WebCore::FEDiffuseLighting::lightSource):
1277         (WebCore::FEDiffuseLighting::setLightSource):
1278         (WebCore::FEDiffuseLighting::apply):
1279         (WebCore::FEDiffuseLighting::dump):
1280         (WebCore::FEDiffuseLighting::externalRepresentation):
1281         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1282         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1283         (WebCore::FEDisplacementMap::FEDisplacementMap):
1284         (WebCore::FEDisplacementMap::create):
1285         (WebCore::FEDisplacementMap::xChannelSelector):
1286         (WebCore::FEDisplacementMap::setXChannelSelector):
1287         (WebCore::FEDisplacementMap::yChannelSelector):
1288         (WebCore::FEDisplacementMap::setYChannelSelector):
1289         (WebCore::FEDisplacementMap::scale):
1290         (WebCore::FEDisplacementMap::setScale):
1291         (WebCore::FEDisplacementMap::apply):
1292         (WebCore::FEDisplacementMap::dump):
1293         (WebCore::operator<<):
1294         (WebCore::FEDisplacementMap::externalRepresentation):
1295         * svg/graphics/filters/SVGFEDisplacementMap.h:
1296         (WebCore::):
1297         * svg/graphics/filters/SVGFEFlood.cpp:
1298         (WebCore::FEFlood::FEFlood):
1299         (WebCore::FEFlood::create):
1300         (WebCore::FEFlood::floodColor):
1301         (WebCore::FEFlood::setFloodColor):
1302         (WebCore::FEFlood::floodOpacity):
1303         (WebCore::FEFlood::setFloodOpacity):
1304         (WebCore::FEFlood::apply):
1305         (WebCore::FEFlood::dump):
1306         (WebCore::FEFlood::externalRepresentation):
1307         * svg/graphics/filters/SVGFEFlood.h:
1308         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1309         (WebCore::FEGaussianBlur::FEGaussianBlur):
1310         (WebCore::FEGaussianBlur::create):
1311         (WebCore::FEGaussianBlur::stdDeviationX):
1312         (WebCore::FEGaussianBlur::setStdDeviationX):
1313         (WebCore::FEGaussianBlur::stdDeviationY):
1314         (WebCore::FEGaussianBlur::setStdDeviationY):
1315         (WebCore::FEGaussianBlur::apply):
1316         (WebCore::FEGaussianBlur::dump):
1317         (WebCore::FEGaussianBlur::externalRepresentation):
1318         * svg/graphics/filters/SVGFEGaussianBlur.h:
1319         * svg/graphics/filters/SVGFEImage.cpp:
1320         (WebCore::FEImage::FEImage):
1321         (WebCore::FEImage::create):
1322         (WebCore::FEImage::~FEImage):
1323         (WebCore::FEImage::cachedImage):
1324         (WebCore::FEImage::apply):
1325         (WebCore::FEImage::dump):
1326         (WebCore::FEImage::externalRepresentation):
1327         * svg/graphics/filters/SVGFEImage.h:
1328         * svg/graphics/filters/SVGFEMerge.cpp:
1329         (WebCore::FEMerge::FEMerge):
1330         (WebCore::FEMerge::create):
1331         (WebCore::FEMerge::mergeInputs):
1332         (WebCore::FEMerge::setMergeInputs):
1333         (WebCore::FEMerge::apply):
1334         (WebCore::FEMerge::dump):
1335         (WebCore::FEMerge::externalRepresentation):
1336         * svg/graphics/filters/SVGFEMerge.h:
1337         * svg/graphics/filters/SVGFEMorphology.cpp:
1338         (WebCore::FEMorphology::FEMorphology):
1339         (WebCore::FEMorphology::create):
1340         (WebCore::FEMorphology::morphologyOperator):
1341         (WebCore::FEMorphology::setMorphologyOperator):
1342         (WebCore::FEMorphology::radiusX):
1343         (WebCore::FEMorphology::setRadiusX):
1344         (WebCore::FEMorphology::radiusY):
1345         (WebCore::FEMorphology::setRadiusY):
1346         (WebCore::FEMorphology::apply):
1347         (WebCore::FEMorphology::dump):
1348         (WebCore::operator<<):
1349         (WebCore::FEMorphology::externalRepresentation):
1350         * svg/graphics/filters/SVGFEMorphology.h:
1351         (WebCore::):
1352         * svg/graphics/filters/SVGFEOffset.cpp:
1353         (WebCore::FEOffset::FEOffset):
1354         (WebCore::FEOffset::create):
1355         (WebCore::FEOffset::dx):
1356         (WebCore::FEOffset::setDx):
1357         (WebCore::FEOffset::dy):
1358         (WebCore::FEOffset::setDy):
1359         (WebCore::FEOffset::apply):
1360         (WebCore::FEOffset::dump):
1361         (WebCore::FEOffset::externalRepresentation):
1362         * svg/graphics/filters/SVGFEOffset.h:
1363         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1364         (WebCore::FESpecularLighting::FESpecularLighting):
1365         (WebCore::FESpecularLighting::create):
1366         (WebCore::FESpecularLighting::~FESpecularLighting):
1367         (WebCore::FESpecularLighting::lightingColor):
1368         (WebCore::FESpecularLighting::setLightingColor):
1369         (WebCore::FESpecularLighting::surfaceScale):
1370         (WebCore::FESpecularLighting::setSurfaceScale):
1371         (WebCore::FESpecularLighting::specularConstant):
1372         (WebCore::FESpecularLighting::setSpecularConstant):
1373         (WebCore::FESpecularLighting::specularExponent):
1374         (WebCore::FESpecularLighting::setSpecularExponent):
1375         (WebCore::FESpecularLighting::kernelUnitLengthX):
1376         (WebCore::FESpecularLighting::setKernelUnitLengthX):
1377         (WebCore::FESpecularLighting::kernelUnitLengthY):
1378         (WebCore::FESpecularLighting::setKernelUnitLengthY):
1379         (WebCore::FESpecularLighting::lightSource):
1380         (WebCore::FESpecularLighting::setLightSource):
1381         (WebCore::FESpecularLighting::apply):
1382         (WebCore::FESpecularLighting::dump):
1383         (WebCore::FESpecularLighting::externalRepresentation):
1384         * svg/graphics/filters/SVGFESpecularLighting.h:
1385         * svg/graphics/filters/SVGFETile.cpp:
1386         (WebCore::FETile::FETile):
1387         (WebCore::FETile::create):
1388         (WebCore::FETile::apply):
1389         (WebCore::FETile::dump):
1390         (WebCore::FETile::externalRepresentation):
1391         * svg/graphics/filters/SVGFETile.h:
1392         * svg/graphics/filters/SVGFETurbulence.cpp:
1393         (WebCore::FETurbulence::FETurbulence):
1394         (WebCore::FETurbulence::create):
1395         (WebCore::FETurbulence::type):
1396         (WebCore::FETurbulence::setType):
1397         (WebCore::FETurbulence::baseFrequencyY):
1398         (WebCore::FETurbulence::setBaseFrequencyY):
1399         (WebCore::FETurbulence::baseFrequencyX):
1400         (WebCore::FETurbulence::setBaseFrequencyX):
1401         (WebCore::FETurbulence::seed):
1402         (WebCore::FETurbulence::setSeed):
1403         (WebCore::FETurbulence::numOctaves):
1404         (WebCore::FETurbulence::setNumOctaves):
1405         (WebCore::FETurbulence::stitchTiles):
1406         (WebCore::FETurbulence::setStitchTiles):
1407         (WebCore::FETurbulence::apply):
1408         (WebCore::FETurbulence::dump):
1409         (WebCore::operator<<):
1410         (WebCore::FETurbulence::externalRepresentation):
1411         * svg/graphics/filters/SVGFETurbulence.h:
1412         (WebCore::):
1413         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1414         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
1415         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
1416         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
1417         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1418         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1419         (WebCore::getVectorForChannel):
1420         * svg/graphics/filters/cg/SVGFEImageCg.mm:
1421         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
1422         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
1423         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
1424         * svg/graphics/filters/cg/SVGFETileCg.mm:
1425
1426 2008-07-09  Mark Rowe  <mrowe@apple.com>
1427
1428         Reviewed by Geoff Garen.
1429
1430         Don't warn about deprecated functions in production builds.
1431
1432         * Configurations/Base.xcconfig:
1433         * Configurations/DebugRelease.xcconfig:
1434
1435 2008-07-09  Brady Eidson  <beidson@apple.com>
1436
1437         Reviewed by Darin
1438
1439         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
1440         has been installed in a frame tree.
1441
1442         The root of this problem was that calling init() on a new frame could end up calling arbitrary
1443         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
1444         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
1445         destroying the frame.
1446
1447         Test: fast/loader/frame-creation-removal.html
1448
1449         * loader/FrameLoader.cpp:
1450         (WebCore::FrameLoader::endIfNotLoadingMainResource):  If the frame doesn't have a page, don't close up
1451           the document and parser because they don't exist, and this frame is on its way out.
1452         (WebCore::FrameLoader::finishedParsing):  We can't rely on the refCount check to discover "am I being deleted?"
1453           because we no longer store refCounts of 0.  The new check is "do I have a FrameView?" while will always be
1454           false if the Frame is being destroyed.
1455
1456 2008-07-09  Dean Jackson  <dino@apple.com>
1457
1458         Changed to use the correct license in header comment (via Darin)
1459
1460         * css/WebKitCSSTransformValue.idl:
1461
1462 2008-07-09  Dean Jackson  <dino@apple.com>
1463
1464         Add DOM interface for WebKitCSSTransformValue.
1465         https://bugs.webkit.org/show_bug.cgi?id=19863
1466
1467         Reviewed by Hyatt.
1468
1469         * bindings/objc/DOMInternal.h:
1470         * css/WebKitCSSTransformValue.idl: Added.
1471
1472         * bindings/scripts/CodeGeneratorObjC.pm:
1473             make sure new class inherits from CSSValue not Node
1474
1475         * DerivedSources.make:
1476         * GNUmakefile.am:
1477         * WebCore.pro:
1478         * WebCore.vcproj/WebCore.vcproj:
1479         * WebCore.xcodeproj/project.pbxproj:
1480         * WebCoreSources.bkl:
1481             Adding new generated files
1482
1483 2008-07-09  Maxime Britto  <britto@apple.com>
1484
1485         Reviewed by Adele.
1486
1487         http://bugs.webkit.org/show_bug.cgi?id=14227
1488         Add the middle click panning feature to the windows release.
1489         Details on almost each method below.
1490         Manual test is included in the patch.
1491
1492         * ChangeLog:
1493         * WebCore.vcproj/WebCore.vcproj:
1494         * manual-tests/panScroll.html: Added.
1495         * manual-tests/resources/big-page.html: Added.
1496         * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
1497         (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
1498         (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
1499         (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
1500         (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
1501         (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
1502         (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
1503         (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
1504         * page/EventHandler.h:
1505         (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
1506         (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
1507         * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
1508         * platform/gtk/ScrollViewGtk.cpp:
1509         (WebCore::ScrollView::isScrollable): Not implemented : returns true
1510         * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
1511         (WebCore::ScrollView::isScrollable):
1512         * platform/qt/ScrollViewQt.cpp:
1513         (WebCore::ScrollView::isScrollable): Not implemented : returns true
1514         * platform/win/ScrollViewWin.cpp:
1515         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
1516         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
1517         (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method  
1518         (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
1519         (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
1520         (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
1521         (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
1522         (WebCore::ScrollView::paint): Modified to draw the icon if needed.
1523         * platform/wx/ScrollViewWx.cpp:
1524         (WebCore::ScrollView::isScrollable): Not implemented : returns true
1525         * rendering/RenderLayer.cpp:
1526         (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
1527         * rendering/RenderLayer.h:
1528         * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
1529         (WebCore::RenderListBox::panScroll):
1530         (WebCore::RenderListBox::scrollToward):
1531         (WebCore::RenderListBox::autoscroll):
1532         * rendering/RenderListBox.h:
1533         (WebCore::RenderListBox::shouldPanScroll):
1534         * rendering/RenderObject.cpp: 
1535         (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
1536         (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
1537         * rendering/RenderObject.h:
1538         (WebCore::RenderObject::stopPanScroll): 
1539
1540 2008-07-09  Dean Jackson  <dino@apple.com>
1541
1542         Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
1543         the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
1544         https://bugs.webkit.org/show_bug.cgi?id=19861
1545
1546         Reviewed by Hyatt
1547
1548         * css/CSSParser.cpp:
1549         * css/CSSStyleSelector.cpp:
1550         * css/CSSTransformValue.cpp: Removed.
1551         * css/CSSTransformValue.h: Removed.
1552         * css/CSSValueList.h:
1553         * css/WebKitCSSTransformValue.cpp: Added.
1554         * css/WebKitCSSTransformValue.h: Added.
1555
1556         * GNUmakefile.am:
1557         * WebCore.order:
1558         * WebCore.pro:
1559         * WebCore.vcproj/WebCore.vcproj:
1560         * WebCore.xcodeproj/project.pbxproj:
1561         * WebCoreSources.bkl:
1562             updated for new file names
1563         
1564
1565 2008-07-09  David Hyatt  <hyatt@apple.com>
1566
1567         Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
1568         change.  Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
1569         completion.
1570
1571         Reviewed by Dean
1572
1573         * manual-tests/transitions.html:
1574         * manual-tests/transitions2.html:
1575         * page/AnimationController.cpp:
1576         (WebCore::ImplicitAnimation::reset):
1577         (WebCore::CompositeImplicitAnimation::animate):
1578         (WebCore::AnimationControllerPrivate::get):
1579         (WebCore::AnimationController::updateImplicitAnimations):
1580
1581 2008-07-09  Michelangelo De Simone  <m.des@mac.com>
1582
1583         Reviewed by Adele.
1584
1585         Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
1586
1587         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1588         Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
1589         * dom/Node.h: Added base isTextControl().
1590         * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
1591         * html/HTMLTextAreaElement.h: Added isTextControl().
1592
1593 2008-07-09  Rob Buis  <buis@kde.org>
1594
1595         Reviewed by Eric.
1596
1597         https://bugs.webkit.org/show_bug.cgi?id=15431
1598         SVGRenderStyle should store pre-modified resource URIs
1599
1600         Store pre-modified resource URIs to decrease string
1601         operations during layout/rendering.
1602
1603         * css/SVGCSSStyleSelector.cpp:
1604         (WebCore::CSSStyleSelector::applySVGProperty):
1605         * rendering/RenderPath.cpp:
1606         (WebCore::RenderPath::absoluteClippedOverflowRect):
1607         (WebCore::RenderPath::drawMarkersIfNeeded):
1608         * rendering/RenderSVGContainer.cpp:
1609         (WebCore::RenderSVGContainer::selfWillPaint):
1610         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
1611         * rendering/RenderSVGImage.cpp:
1612         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1613         * rendering/RenderSVGRoot.cpp:
1614         (WebCore::RenderSVGRoot::paint):
1615         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
1616         * rendering/RenderSVGText.cpp:
1617         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
1618         * rendering/SVGRenderSupport.cpp:
1619         (WebCore::prepareToRenderSVGContent):
1620
1621 2008-07-09  Anders Carlsson  <andersca@apple.com>
1622
1623         Reviewed by Mitz.
1624
1625         Remove an unused instance variable.
1626
1627         * loader/DocumentLoader.h:
1628
1629 2008-07-09  Dan Bernstein  <mitz@apple.com>
1630
1631         Reviewed by Anders Carlsson.
1632
1633         - remove unused #includes
1634
1635         * dom/XMLTokenizer.cpp:
1636         * html/PreloadScanner.cpp:
1637         * loader/CachedCSSStyleSheet.cpp:
1638         * loader/CachedScript.cpp:
1639         * loader/CachedXBLDocument.cpp:
1640         * loader/CachedXSLStyleSheet.cpp:
1641         * page/mac/FrameMac.mm:
1642         * xml/XSLTProcessor.cpp:
1643
1644 2008-07-08  Geoffrey Garen  <ggaren@apple.com>
1645
1646         Reviewed by Oliver Hunt.
1647         
1648         Only artificially mark JS DOM wrappers if they have custom properties.
1649         
1650         21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
1651         
1652         No, that is not a typo.
1653
1654         * bindings/js/JSDOMBinding.cpp:
1655         (WebCore::ScriptInterpreter::markDOMNodesForDocument):
1656
1657 2008-07-08  Kevin Watters  <kevinwatters@gmail.com>
1658
1659         Reviewed by Kevin Ollivier.
1660
1661         Fix to previous patch for handling mouse up events.
1662         
1663         https://bugs.webkit.org/show_bug.cgi?id=18464
1664
1665         * platform/wx/MouseEventWx.cpp:
1666         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1667
1668 2008-07-08  Dan Bernstein  <mitz@apple.com>
1669
1670         Reviewed by Brady Eidson.
1671
1672         - initialize the Archives log channel's state
1673
1674         * platform/mac/LoggingMac.mm:
1675         (WebCore::InitializeLoggingChannelsIfNecessary):
1676
1677 2008-07-08  Kevin McCullough  <kmccullough@apple.com>
1678
1679         Added manual test for the new heavy view.
1680
1681         * manual-tests/inspector/profiler-test-heavy-view.html: Added.
1682
1683 2008-07-08  Darin Adler  <darin@apple.com>
1684
1685         Reviewed by Mitz.
1686
1687         - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
1688           looks wrong due to OpenCube QuickMenu appVersion check
1689
1690         * page/Navigator.cpp:
1691         (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
1692
1693 2008-07-08  Dan Bernstein  <mitz@apple.com>
1694
1695         Reviewed by John Sullivan.
1696
1697         - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
1698
1699         Added a setting, updatesWhenOffscreen(), which controls whether an
1700         offscreen web view gets marked as needing update when its contents
1701         change (the existing behavior) or not (a new behavior), in which case it
1702         will be marked as needing update just before it goes on screen. The
1703         existing behavior (updating while offscreen) remains the default.
1704
1705         * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
1706         * page/FrameView.cpp:
1707         (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
1708         value from settings.
1709         * page/FrameView.h:
1710         * page/Settings.cpp:
1711         (WebCore::Settings::setUpdatesWhenOffscreen): Added.
1712         * page/Settings.h:
1713         (WebCore::Settings::updatesWhenOffscreen): Added.
1714         * platform/ScrollView.h:
1715         * platform/mac/ScrollViewMac.mm:
1716         (WebCore::ScrollView::updateContents): Added code to return early and
1717         not call -setNeedsDisplayInRect: if the view is not in a visible window
1718         and the setting is not to update when offscreen.
1719
1720 2008-07-08  Simon Hausmann  <hausmann@webkit.org>
1721
1722         Fix the build with enabled SVG filters.
1723
1724         * svg/SVGFESpecularLightingElement.cpp: The last argument to
1725         ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
1726         the attr suffix.
1727
1728 2008-07-07  Sam Weinig  <sam@webkit.org>
1729
1730         Reviewed by Anders Carlsson.
1731
1732         Remove extraneous null check.
1733
1734         * dom/Node.cpp:
1735         (WebCore::Node::querySelector):
1736         (WebCore::Node::querySelectorAll):
1737
1738 2008-07-07  Sam Weinig  <sam@webkit.org>
1739
1740         Reviewed by Anders Carlsson.
1741
1742         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
1743         Use of CSS3 Namespaces syntax in Selectors API should throw an exception
1744
1745         - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
1746           used in a selector passed to querySelector or querySelectorAll.
1747
1748         Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
1749
1750         * dom/Node.cpp:
1751         (WebCore::selectorNeedsNamespaceResolution):
1752         (WebCore::Node::querySelector):
1753         (WebCore::Node::querySelectorAll):
1754
1755 2008-07-07  Simon Fraser  <simon.fraser@apple.com>
1756
1757         Reviewed by Darin.
1758
1759         Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
1760         nodeIterator with filter fails on documents not in a frame
1761
1762         Tests: traversal/node-iterator-009.html
1763                traversal/tree-walker-006.html
1764
1765         * bindings/js/JSNodeFilterCondition.cpp:
1766         * bindings/js/JSNodeFilterCondition.h:
1767         * bindings/js/JSNodeFilterCustom.cpp:
1768         * bindings/js/JSNodeIteratorCustom.cpp:
1769         * bindings/js/JSTreeWalkerCustom.cpp:
1770         * bindings/objc/DOM.mm:
1771         * dom/NodeFilter.cpp:
1772         * dom/NodeFilter.h:
1773         * dom/NodeFilterCondition.cpp:
1774         * dom/NodeFilterCondition.h:
1775         * dom/NodeIterator.cpp:
1776         * dom/NodeIterator.h:
1777         * dom/Traversal.cpp:
1778         * dom/Traversal.h:
1779         * dom/TreeWalker.cpp:
1780         * dom/TreeWalker.h:
1781
1782 2008-07-07  Adele Peterson  <adele@apple.com>
1783
1784         Reviewed by Dan Bernstein.
1785
1786         Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
1787         <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
1788
1789         * page/DragController.cpp: (WebCore::DragController::concludeDrag):
1790         Check that the file control is enabled before taking dropped files.
1791
1792 2008-07-07  Adele Peterson  <adele@apple.com>
1793
1794         Reviewed by Beth.
1795
1796         Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
1797
1798         Change default volume setting to 1.0.
1799
1800         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
1801         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
1802
1803 2008-07-07  Darin Adler  <darin@apple.com>
1804
1805         Reviewed by Mark Rowe.
1806
1807         - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
1808
1809         The old version of the OpenCube QuickMenu library used on this site still has code
1810         that detects Netscape 4 by checking appVersion to see if it has the substring "4."
1811         in it. We decided to special-case the filename of the script and tweak the appVersion
1812         for files with that name.
1813
1814         * bindings/js/ScriptController.cpp:
1815         (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
1816         m_sourceURL. Use false instead of 0 to initialize a boolean.
1817         (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
1818         Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
1819         maintained the value of m_processingInlineCode, since the old code set it to
1820         false rather than restoring it. Renamed a local variable named sourceURL to
1821         exceptionSourceURL for clarity.
1822         (WebCore::ScriptController::processingUserGesture): Code that formerly used
1823         m_processingInlineCode to detect that it was evaluating code with no URL now
1824         uses m_sourceURL to do the same check.
1825
1826         * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
1827         been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
1828         removed m_processingInlineCode.
1829
1830         * page/Navigator.cpp:
1831         (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
1832         a source URL ending in "/dqm_script.js" and if the settings say we should do
1833         site-specific quirks (really JavaScript-library-specific in this case).
1834         (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
1835
1836 2008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1837
1838         Reviewed by Geoff.
1839
1840         Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
1841         <https://bugs.webkit.org/show_bug.cgi?id=19907>
1842
1843         Clear exceptions set on ExecStates before returning from NPAPI
1844         callbacks, in order to avoid causing problems for the next script that
1845         executes.
1846
1847         While fixing this bug, the question was raised of whether we are
1848         correctly propagating exception information back to the caller:
1849
1850         Bug 19936: Correctly propagate exception information from NPAPI callbacks
1851         <https://bugs.webkit.org/show_bug.cgi?id=19936>
1852
1853         * bridge/NP_jsobject.cpp:
1854         (_NPN_InvokeDefault):
1855         (_NPN_Invoke):
1856         (_NPN_Evaluate):
1857         (_NPN_GetProperty):
1858         (_NPN_SetProperty):
1859         (_NPN_RemoveProperty):
1860         (_NPN_HasProperty):
1861         (_NPN_HasMethod):
1862         (_NPN_Enumerate):
1863
1864 2008-07-07  Dan Bernstein  <mitz@apple.com>
1865
1866         Reviewed by Darin Adler.
1867
1868         - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
1869
1870         * css/CSSFontFaceSource.cpp:
1871         (WebCore::CSSFontFaceSource::getFontData): Added a null check because
1872         docLoader() can return 0 now.
1873         * css/CSSFontSelector.cpp:
1874         (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
1875         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
1876         (WebCore::CSSFontSelector::fontLoaded): Ditto.
1877         (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
1878         (WebCore::fontDataForGenericFamily): Added a null check of document.
1879         * css/CSSFontSelector.h:
1880         (WebCore::CSSFontSelector::clearDocument): Added.
1881         * css/CSSStyleSelector.cpp:
1882         (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
1883         CSSFontSelector::clearDocument(). When the style selector is destroyed,
1884         there is no guarantee that the document will continue to exist.
1885
1886 2008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
1887
1888         Not reviewed.
1889
1890         No svg build fix.
1891
1892         * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
1893         * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
1894
1895 2008-07-07  Michelangelo De Simone  <m.des@mac.com>
1896
1897         Reviewed by Adele.
1898
1899         Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
1900
1901         URL: http://www.w3.org/TR/web-forms-2/#relation
1902
1903         Tests: fast/css/readonly-pseudoclass-opera-001.html
1904                fast/css/readonly-pseudoclass-opera-002.html
1905                fast/css/readonly-pseudoclass-opera-003.html
1906                fast/css/readonly-pseudoclass-opera-004.html
1907                fast/css/readonly-pseudoclass-opera-005.html
1908
1909         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
1910         Added "read-only" and "read-write" values for PseudoType extraction.
1911         * css/CSSSelector.h: (WebCore::CSSSelector::):
1912         Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
1913         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1914         Checks to determine whether to match :read-only and :read-write pseudoclasses on
1915         text controls.
1916
1917 2008-07-07  Sam Weinig  <sam@webkit.org>
1918
1919         Reviewed by Geoffrey Garen.
1920
1921         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
1922         querySelectorAll should throw an exception if a NSResolver is passed in.
1923
1924         - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
1925           as the second argument to querySelector or querySelectorAll.
1926
1927         Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
1928
1929         * bindings/js/JSDocumentCustom.cpp:
1930         (WebCore::JSDocument::querySelector):
1931         (WebCore::JSDocument::querySelectorAll):
1932         * bindings/js/JSElementCustom.cpp:
1933         (WebCore::JSElement::querySelector):
1934         (WebCore::JSElement::querySelectorAll):
1935         * dom/Document.idl:
1936         * dom/Element.idl:
1937
1938 2008-07-07  Brady Eidson  <beidson@apple.com>
1939
1940         Reviewed by Mitz and Geoff
1941
1942         Test: fast/loader/empty-ref-versus-no-ref.html
1943
1944         Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
1945         "all DOM operations stop working when location.hash set to '#'"
1946
1947         The underlying problem is that KURL didn't really know the difference between "empty ref"
1948         and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
1949         affecting removal of the ref, which ended up causing an infinite load load, also killing
1950         javascript.
1951
1952         * platform/KURL.cpp:
1953         (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
1954           meaning of "no ref at all" while empty means "empty ref"
1955
1956 2008-07-07  Kevin McCullough  <kmccullough@apple.com>
1957
1958         Reviewed by Darin.
1959
1960         Because profiler.h no longer #includes profile.h we need to explicitly
1961         include it in console.cpp.
1962
1963         * page/Console.cpp:
1964
1965 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
1966
1967         Not reviewed. Build fix.
1968
1969         Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
1970
1971         * svg/SVGFEColorMatrixElement.cpp:
1972         * svg/SVGFEDiffuseLightingElement.cpp:
1973         * svg/SVGFEImageElement.cpp:
1974         * svg/SVGFELightElement.cpp:
1975         * svg/SVGFESpecularLightingElement.cpp:
1976
1977 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
1978
1979         Reviewed by Antti.
1980
1981         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
1982
1983         Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
1984         Remove unneccessary parameters of all macros.
1985
1986         SVG Errata states: "All SVG DOM objects that directly correspond to an
1987         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
1988         means that any changes made to the attribute are immediately reflected in the
1989         corresponding SVG DOM object." (see linked URL on bug report)
1990
1991         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
1992         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
1993
1994         Add a new synchronization layer to handle SVG DOM -> XML changes.
1995
1996         Added test: svg/custom/svg-xml-dom-sync.html
1997         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
1998
1999         * dom/Element.cpp:
2000         (WebCore::Element::Element): Initialize the two new bits.
2001         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
2002         (WebCore::Element::getAttribute): Ditto.
2003         (WebCore::Element::hasAttributes): Ditto.
2004         * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
2005         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
2006         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
2007         * svg/SVGAElement.cpp:
2008         * svg/SVGAElement.h:
2009         * svg/SVGAnimatedTemplate.h:
2010         (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
2011         * svg/SVGCircleElement.cpp:
2012         (WebCore::SVGCircleElement::SVGCircleElement):
2013         * svg/SVGCircleElement.h:
2014         * svg/SVGClipPathElement.cpp:
2015         * svg/SVGClipPathElement.h:
2016         * svg/SVGComponentTransferFunctionElement.cpp:
2017         * svg/SVGComponentTransferFunctionElement.h:
2018         * svg/SVGCursorElement.cpp:
2019         (WebCore::SVGCursorElement::SVGCursorElement):
2020         * svg/SVGCursorElement.h:
2021         * svg/SVGElement.cpp:
2022         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
2023         (WebCore::SVGElement::setSynchronizedSVGAttributes):
2024         * svg/SVGElement.h:
2025         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
2026         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
2027         (WebCore::SVGElement::addSVGPropertySynchronizer):
2028         * svg/SVGEllipseElement.cpp:
2029         * svg/SVGEllipseElement.h:
2030         * svg/SVGExternalResourcesRequired.cpp:
2031         * svg/SVGExternalResourcesRequired.h:
2032         * svg/SVGFEBlendElement.cpp:
2033         * svg/SVGFEBlendElement.h:
2034         * svg/SVGFEColorMatrixElement.cpp:
2035         * svg/SVGFEColorMatrixElement.h:
2036         * svg/SVGFEComponentTransferElement.cpp:
2037         * svg/SVGFEComponentTransferElement.h:
2038         * svg/SVGFECompositeElement.cpp:
2039         * svg/SVGFECompositeElement.h:
2040         * svg/SVGFEDiffuseLightingElement.cpp:
2041         * svg/SVGFEDiffuseLightingElement.h:
2042         * svg/SVGFEDisplacementMapElement.cpp:
2043         * svg/SVGFEDisplacementMapElement.h:
2044         * svg/SVGFEGaussianBlurElement.cpp:
2045         * svg/SVGFEGaussianBlurElement.h:
2046         * svg/SVGFEImageElement.cpp:
2047         * svg/SVGFEImageElement.h:
2048         * svg/SVGFELightElement.cpp:
2049         * svg/SVGFELightElement.h:
2050         * svg/SVGFEMergeNodeElement.cpp:
2051         * svg/SVGFEMergeNodeElement.h:
2052         * svg/SVGFEOffsetElement.cpp:
2053         * svg/SVGFEOffsetElement.h:
2054         * svg/SVGFESpecularLightingElement.cpp:
2055         * svg/SVGFESpecularLightingElement.h:
2056         * svg/SVGFETileElement.cpp:
2057         * svg/SVGFETileElement.h:
2058         * svg/SVGFETurbulenceElement.cpp:
2059         * svg/SVGFETurbulenceElement.h:
2060         * svg/SVGFilterElement.cpp:
2061         * svg/SVGFilterElement.h:
2062         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2063         * svg/SVGFilterPrimitiveStandardAttributes.h:
2064         * svg/SVGFitToViewBox.cpp:
2065         * svg/SVGFitToViewBox.h:
2066         * svg/SVGForeignObjectElement.cpp:
2067         * svg/SVGForeignObjectElement.h:
2068         * svg/SVGGradientElement.cpp:
2069         * svg/SVGGradientElement.h:
2070         * svg/SVGImageElement.cpp:
2071         * svg/SVGImageElement.h:
2072         * svg/SVGLineElement.cpp:
2073         * svg/SVGLineElement.h:
2074         * svg/SVGLinearGradientElement.cpp:
2075         * svg/SVGLinearGradientElement.h:
2076         * svg/SVGMarkerElement.cpp:
2077         * svg/SVGMarkerElement.h:
2078         * svg/SVGMaskElement.cpp:
2079         * svg/SVGMaskElement.h:
2080         * svg/SVGPathElement.cpp:
2081         * svg/SVGPathElement.h:
2082         * svg/SVGPatternElement.cpp:
2083         * svg/SVGPatternElement.h:
2084         * svg/SVGRadialGradientElement.cpp:
2085         * svg/SVGRadialGradientElement.h:
2086         * svg/SVGRectElement.cpp:
2087         * svg/SVGRectElement.h:
2088         * svg/SVGSVGElement.cpp:
2089         * svg/SVGSVGElement.h:
2090         * svg/SVGScriptElement.h:
2091         * svg/SVGStopElement.cpp:
2092         * svg/SVGStopElement.h:
2093         * svg/SVGStyledElement.cpp:
2094         * svg/SVGStyledElement.h:
2095         * svg/SVGStyledTransformableElement.cpp:
2096         * svg/SVGStyledTransformableElement.h:
2097         * svg/SVGSymbolElement.h:
2098         * svg/SVGTextContentElement.cpp:
2099         * svg/SVGTextContentElement.h:
2100         * svg/SVGTextElement.cpp:
2101         * svg/SVGTextElement.h:
2102         * svg/SVGTextPathElement.cpp:
2103         * svg/SVGTextPathElement.h:
2104         * svg/SVGTextPositioningElement.cpp:
2105         * svg/SVGTextPositioningElement.h:
2106         * svg/SVGURIReference.cpp:
2107         * svg/SVGURIReference.h:
2108         * svg/SVGUseElement.cpp:
2109         * svg/SVGUseElement.h:
2110         * svg/SVGViewElement.h:
2111         * svg/SynchronizableTypeWrapper.h: Added.
2112
2113 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
2114
2115         Reviewed by Oliver.
2116
2117         Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
2118
2119         Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
2120
2121         Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
2122         Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
2123         in SVGAnimatedTemplate.
2124
2125         * svg/SVGAnimatedTemplate.h:
2126         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
2127         (WebCore::lookupOrCreateWrapper):
2128         (WebCore::SVGAnimatedTypeValue::null):
2129         (WebCore::SVGAnimatedTypeValue::toString):
2130         (WebCore::):
2131         * svg/SVGDocumentExtensions.h:
2132         (WebCore::SVGDocumentExtensions::baseValue):
2133         * svg/SVGLengthList.cpp:
2134         (WebCore::SVGLengthList::valueAsString):
2135         * svg/SVGLengthList.h:
2136         * svg/SVGNumberList.cpp:
2137         (WebCore::SVGNumberList::valueAsString):
2138         * svg/SVGNumberList.h:
2139         * svg/SVGPreserveAspectRatio.cpp:
2140         (WebCore::SVGPreserveAspectRatio::valueAsString):
2141         * svg/SVGPreserveAspectRatio.h:
2142         * svg/SVGTransformList.cpp:
2143         (SVGTransformList::valueAsString):
2144         * svg/SVGTransformList.h:
2145
2146 2008-07-06  Sam Weinig  <sam@webkit.org>
2147
2148         Reviewed by Dan Bernstein.
2149
2150         Rename "Access-Contol-Origin" to "Origin" to match the latest
2151         Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
2152
2153         * xml/XMLHttpRequest.cpp:
2154         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
2155         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2156         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
2157
2158 2008-07-06  Dan Bernstein  <mitz@apple.com>
2159
2160         - try to fix the Windows build
2161
2162         * WebCore.vcproj/WebCore.vcproj:
2163
2164 2008-07-06  Dan Bernstein  <mitz@apple.com>
2165
2166         - add missing brace
2167
2168         * platform/graphics/qt/FontCacheQt.cpp:
2169
2170 2008-07-06  Dan Bernstein  <mitz@apple.com>
2171
2172         - try to fix the Qt build
2173
2174         * platform/graphics/qt/FontCacheQt.cpp:
2175         (WebCore::FontCache::addClient):
2176         (WebCore::FontCache::removeClient):
2177
2178 2008-07-06  Sam Weinig  <sam@webkit.org>
2179
2180         Reviewed by Cameron Zwarich.
2181
2182         Add #include for kjs/protect.h.
2183
2184         * xml/XMLHttpRequest.cpp:
2185         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2186
2187 2008-07-06  David Kilzer  <ddkilzer@apple.com>
2188
2189         Save a few more bits in RenderStyle
2190
2191         Reviewed by Darin.
2192
2193         No test cases added since there is no change in behavior.
2194
2195         This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
2196         WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
2197         and WebCore::RenderStyle::noninherited_flags from using 49 bits to
2198         47 bits.
2199
2200         * rendering/style/RenderStyle.h:
2201         (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
2202         since EMarqueeBehavior has 4 items.
2203         (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
2204         4 bits to 3 bits since ETextAlign has 8 items.
2205         (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
2206         4 bits to 3 bits since EOverflow has 6 items.
2207         (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
2208
2209 2008-07-06  Dan Bernstein  <mitz@apple.com>
2210
2211         Reviewed by Darin Adler.
2212
2213         - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
2214
2215         * css/CSSFontSelector.cpp:
2216         (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
2217         FontCache::addClient().
2218         (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
2219         FontCache::removeClient().
2220         (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
2221         font cache when it is invalidated, and ensures that the document is
2222         updated.
2223
2224         * css/CSSFontSelector.h:
2225
2226         * platform/graphics/Font.cpp:
2227         (WebCore::Font::operator==): Added code to compare the font fallback
2228         lists' font cache generations.
2229
2230         * platform/graphics/FontCache.cpp:
2231         (WebCore::FontCache::addClient): Added.
2232         (WebCore::FontCache::removeClient): Added.
2233         (WebCore::FontCache::generation): Added.
2234         (WebCore::FontCache::invalidate): Added. Deletes the platform data
2235         cache, increments the generation counter, and notifies all clients.
2236
2237         * platform/graphics/FontCache.h:
2238
2239         * platform/graphics/FontFallbackList.cpp:
2240         (WebCore::FontFallbackList::FontFallbackList): Added initialization of
2241         m_generation.
2242         (WebCore::FontFallbackList::invalidate): Added code to reset
2243         m_generation.
2244         (WebCore::FontFallbackList::fontDataAt): Added an assertion.
2245         (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
2246         (WebCore::FontFallbackList::setPlatformFont): Ditto.
2247
2248         * platform/graphics/FontFallbackList.h:
2249         (WebCore::FontFallbackList::generation): Added. Returns the font cache
2250         generation used to populate the list.
2251
2252         * platform/graphics/FontSelector.h:
2253         (WebCore::FontSelector::fontCacheInvalidated): Added.
2254
2255         * platform/graphics/mac/FontCacheMac.mm:
2256         (WebCore::fontCacheATSNotificationCallback): Added. Calls
2257         FontCache::invalidate().
2258         (WebCore::FontCache::platformInit): Added code to register for ATS
2259         notifications.
2260
2261         * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
2262
2263 2008-07-05  Sam Weinig  <sam@webkit.org>
2264
2265         Rubber-stamped by Cameron Zwarich.
2266
2267         Rename list.h/cpp to ArgList.h/cpp.
2268
2269         * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
2270         * ForwardingHeaders/kjs/list.h: Removed.
2271         * WebCore.vcproj/WebCore.vcproj:
2272         * bridge/qt/qt_instance.cpp:
2273         * page/Console.cpp:
2274
2275 2008-07-05  Sam Weinig  <sam@webkit.org>
2276
2277         Rubber-stamped by Cameron Zwarich.
2278
2279         Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 
2280         the functions on the global object out of JSFunction.h/cpp.
2281
2282         * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
2283         * bindings/js/JSDOMBinding.cpp:
2284
2285 2008-07-05  Dan Bernstein  <mitz@apple.com>
2286
2287         Rubber-stamped by Sam Weinig.
2288
2289         - rename BidiIterator and BidiState
2290
2291         Renamed BidiIterator to InlineIterator and BidiState
2292         to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
2293         to "resolver".
2294
2295         * rendering/RenderBlock.h:
2296         * rendering/RootInlineBox.h:
2297         * rendering/bidi.cpp:
2298         (WebCore::InlineIterator::InlineIterator):
2299         (WebCore::operator==):
2300         (WebCore::operator!=):
2301         (WebCore::bidiNext):
2302         (WebCore::bidiFirst):
2303         (WebCore::InlineIterator::increment):
2304         (WebCore::InlineBidiResolver::increment):
2305         (WebCore::InlineIterator::atEnd):
2306         (WebCore::InlineIterator::current):
2307         (WebCore::InlineIterator::direction):
2308         (WebCore::chopMidpointsAt):
2309         (WebCore::checkMidpoints):
2310         (WebCore::addMidpoint):
2311         (WebCore::appendRunsForObject):
2312         (WebCore::InlineBidiResolver::appendRun):
2313         (WebCore::RenderBlock::bidiReorderLine):
2314         (WebCore::buildCompactRuns):
2315         (WebCore::RenderBlock::layoutInlineChildren):
2316         (WebCore::RenderBlock::determineStartPosition):
2317         (WebCore::RenderBlock::determineEndPosition):
2318         (WebCore::RenderBlock::matchedEndLine):
2319         (WebCore::skipNonBreakingSpace):
2320         (WebCore::requiresLineBox):
2321         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
2322         (WebCore::RenderBlock::skipWhitespace):
2323         (WebCore::shouldSkipWhitespaceAfterStartObject):
2324         (WebCore::RenderBlock::findNextLineBreak):
2325
2326 2008-07-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
2327
2328         Rubber-stamped by Oliver Hunt
2329
2330         Coding style fix
2331
2332         * html/CanvasRenderingContext2D.cpp: Indentation fix
2333
2334 2008-07-04  Oliver Hunt  <oliver@apple.com>
2335
2336         Fix windows build
2337
2338         * WebCore.vcproj/WebCore.vcproj:
2339
2340 2008-07-04  Sam Weinig  <sam@webkit.org>
2341
2342         Fix Qt build.
2343
2344         * bridge/qt/qt_instance.cpp:
2345
2346 2008-07-04  Sam Weinig  <sam@webkit.org>
2347
2348         Rubber-stamped by Dan Bernstein.
2349
2350         Split Error and GetterSetter out of JSObject.h.
2351
2352         * ForwardingHeaders/kjs/Error.h: Added.
2353         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2354         * bindings/js/JSClipboardCustom.cpp:
2355         * bindings/js/JSDOMWindowBase.cpp:
2356         * bindings/js/JSEventTargetBase.cpp:
2357         * bindings/js/JSHTMLDocumentCustom.cpp:
2358         * bindings/js/JSXMLHttpRequestCustom.cpp:
2359         * bindings/scripts/CodeGeneratorJS.pm:
2360         * bridge/NP_jsobject.cpp:
2361         * bridge/jni/jni_instance.cpp:
2362         * bridge/jni/jni_runtime.cpp:
2363         * bridge/objc/objc_instance.mm:
2364         * bridge/objc/objc_runtime.mm:
2365         * bridge/objc/objc_utility.h:
2366         * bridge/runtime_array.cpp:
2367         * bridge/runtime_method.cpp:
2368         * bridge/runtime_object.cpp:
2369
2370 2008-07-04  David D. Kilzer  <ddkilzer@webkit.org>
2371
2372         Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
2373
2374         <https://bugs.webkit.org/show_bug.cgi?id=15290>
2375         <rdar://problem/5509173>
2376
2377         Reviewed by Dan Bernstein.
2378
2379         Tests: webarchive/archive-empty-frame-dom.html
2380                webarchive/doctype.html
2381
2382         * editing/markup.cpp:
2383         (WebCore::createFullMarkup): If the Node is a Document or a
2384         DocumentType, don't prepend the <!DOCTYPE> tag since that will
2385         cause it to be duplicated.
2386         * loader/archive/cf/LegacyWebArchive.cpp:
2387         (WebCore::LegacyWebArchive::create): Ditto.
2388
2389 2008-07-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
2390
2391         Gtk build fix
2392
2393         * GNUmakefile.am:
2394
2395 2008-07-04  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2396
2397         Reviewed by Eric Seidel.
2398
2399         Bring our implementation of the Netscape plugin API closer to current
2400         code style guidelines.
2401
2402         * bridge/NP_jsobject.cpp:
2403         (getListFromVariantArgs):
2404         (jsAllocate):
2405         (jsDeallocate):
2406         (_NPN_CreateScriptObject):
2407         (_NPN_CreateNoScriptObject):
2408         (_NPN_InvokeDefault):
2409         (_NPN_Invoke):
2410         (_NPN_Evaluate):
2411         (_NPN_GetProperty):
2412         (_NPN_SetProperty):
2413         (_NPN_RemoveProperty):
2414         (_NPN_HasProperty):
2415         (_NPN_HasMethod):
2416         (_NPN_Enumerate):
2417         * bridge/npruntime_impl.h:
2418
2419 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2420
2421         Fix the Qt/Windows build.
2422
2423         * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
2424         sources, so that it is always compiled.
2425         * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
2426         Windows header.
2427         * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
2428         that are defined by Windows already.
2429         * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
2430         that are now platform-independent in plugin/PluginDatabase.cpp.
2431
2432 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2433
2434         Fix the Mac build for real, don't define listDirectory() twice.
2435
2436         * platform/mac/FileSystemMac.mm:
2437
2438 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2439
2440         Prospective Mac build fix.
2441
2442         * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
2443         * platform/posix/FileSystemPOSIX.cpp: Ditto.
2444
2445 2008-07-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
2446
2447         Reviewed by Simon.
2448
2449         Move duplicated code from each PluginDatabaseXX-implementation
2450         to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
2451         compiling plugins for.
2452
2453         This make the code cleaner and we can share common patterns.
2454         The only implementation left which is specific is the Win
2455         implementation (also used by QtWebKit/Win), but we might
2456         want to move that too.
2457
2458         * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
2459         * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
2460         * plugins/PluginDatabase.cpp:
2461         (WebCore::PluginDatabase::defaultPluginDirectories):
2462         (WebCore::PluginDatabase::isPreferredPluginDirectory):
2463         (WebCore::PluginDatabase::getPluginPathsInDirectories):
2464         * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
2465         * plugins/qt/PluginDatabaseQt.cpp: Removed.
2466         * plugins/wx/PluginDatabaseWx.cpp: Removed.
2467         * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
2468
2469 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2470
2471         Fix the Wx build.
2472
2473         * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
2474         build.
2475         * page/FocusController.cpp:
2476         (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
2477         layoutIfNeededRecursive does not exist for the Wx port.
2478
2479 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2480
2481         Fix the Gtk build, adapt to renamed files.
2482
2483         * GNUmakefile.am:
2484
2485 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2486
2487         Fix the Qt build, adapt to renamed files.
2488
2489         * WebCore.pro:
2490
2491 2008-07-03  Oliver Hunt  <oliver@apple.com>
2492
2493         Reviewed by Eric Seidel.
2494
2495         Move filter implementations to platform directory.
2496
2497         * WebCore.vcproj/WebCore.vcproj
2498         * WebCore.xcodeproj/project.pbxproj:
2499         * svg/SVGComponentTransferFunctionElement.h:
2500         * svg/SVGFEBlendElement.h:
2501         * svg/SVGFEColorMatrixElement.h:
2502         * svg/SVGFEComponentTransferElement.h:
2503         * svg/SVGFECompositeElement.h:
2504         * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
2505         * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
2506         * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
2507         * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
2508         * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
2509         * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
2510         * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
2511         * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
2512
2513 2008-07-03  Alex Mathews  <possessedpenguinbob@gmail.com>
2514
2515         Reviewed by Oliver Hunt.
2516
2517         Bug 19835: WebKit needs cross-platform filter system
2518         <https://bugs.webkit.org/show_bug.cgi?id=19835>
2519
2520         More class refactoring in preparation for cross-platform filter
2521         implementation.
2522
2523         * WebCore.xcodeproj/project.pbxproj:
2524         * svg/FilterEffect.h:
2525         * svg/SVGComponentTransferFunctionElement.cpp:
2526         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2527         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
2528         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
2529         * svg/SVGComponentTransferFunctionElement.h:
2530         * svg/SVGFEColorMatrixElement.cpp:
2531         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2532         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
2533         (WebCore::SVGFEColorMatrixElement::filterEffect):
2534         (WebCore::SVGFEColorMatrixElement::build):
2535         * svg/SVGFEColorMatrixElement.h:
2536         * svg/SVGFEComponentTransferElement.cpp:
2537         (WebCore::SVGFEComponentTransferElement::filterEffect):
2538         (WebCore::SVGFEComponentTransferElement::build):
2539         * svg/SVGFEComponentTransferElement.h:
2540         * svg/SVGFECompositeElement.cpp:
2541         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2542         (WebCore::SVGFECompositeElement::parseMappedAttribute):
2543         (WebCore::SVGFECompositeElement::filterEffect):
2544         (WebCore::SVGFECompositeElement::build):
2545         * svg/SVGFECompositeElement.h:
2546         * svg/graphics/filters/SVGFEBlend.cpp:
2547         * svg/graphics/filters/SVGFEBlend.h:
2548         * svg/graphics/filters/SVGFEColorMatrix.cpp:
2549         (WebCore::FEColorMatrix::FEColorMatrix):
2550         (WebCore::FEColorMatrix::create):
2551         (WebCore::FEColorMatrix::type):
2552         (WebCore::FEColorMatrix::setType):
2553         (WebCore::FEColorMatrix::values):
2554         (WebCore::FEColorMatrix::setValues):
2555         (WebCore::FEColorMatrix::apply):
2556         (WebCore::FEColorMatrix::dump):
2557         * svg/graphics/filters/SVGFEColorMatrix.h:
2558         (WebCore::):
2559         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
2560         (WebCore::FEComponentTransfer::FEComponentTransfer):
2561         (WebCore::FEComponentTransfer::create):
2562         (WebCore::FEComponentTransfer::redFunction):
2563         (WebCore::FEComponentTransfer::setRedFunction):
2564         (WebCore::FEComponentTransfer::greenFunction):
2565         (WebCore::FEComponentTransfer::setGreenFunction):
2566         (WebCore::FEComponentTransfer::blueFunction):
2567         (WebCore::FEComponentTransfer::setBlueFunction):
2568         (WebCore::FEComponentTransfer::alphaFunction):
2569         (WebCore::FEComponentTransfer::setAlphaFunction):
2570         (WebCore::FEComponentTransfer::apply):
2571         (WebCore::FEComponentTransfer::dump):
2572         * svg/graphics/filters/SVGFEComponentTransfer.h:
2573         (WebCore::):
2574         (WebCore::ComponentTransferFunction::ComponentTransferFunction):
2575         * svg/graphics/filters/SVGFEComposite.cpp:
2576         (WebCore::FEComposite::FEComposite):
2577         (WebCore::FEComposite::create):
2578         (WebCore::FEComposite::operation):
2579         (WebCore::FEComposite::setOperation):
2580         (WebCore::FEComposite::k1):
2581         (WebCore::FEComposite::setK1):
2582         (WebCore::FEComposite::k2):
2583         (WebCore::FEComposite::setK2):
2584         (WebCore::FEComposite::k3):
2585         (WebCore::FEComposite::setK3):
2586         (WebCore::FEComposite::k4):
2587         (WebCore::FEComposite::setK4):
2588         (WebCore::FEComposite::apply):
2589         (WebCore::FEComposite::dump):
2590         * svg/graphics/filters/SVGFEComposite.h:
2591         (WebCore::):
2592         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
2593         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
2594         * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
2595
2596 2008-07-03  Dan Bernstein  <mitz@apple.com>
2597
2598         Reviewed by John Sullivan.
2599
2600         - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
2601
2602         Test: fast/text/international/bidi-AN-after-empty-run.html
2603
2604         * platform/text/BidiResolver.h:
2605         (WebCore::::appendRun): Changed to reset the current direction and
2606         "end of run" direction even in the empty run case.
2607         * rendering/bidi.cpp:
2608         (WebCore::BidiState::appendRun): Ditto.
2609
2610 2008-07-02  Jon Honeycutt  <jhoneycutt@apple.com>
2611
2612         <rdar://5983747> Safari crashes trying to load the SilverLight plugin
2613
2614         If a plug-in returned an error code from NPP_NewStream, we would call
2615         NPP_DestroyStream while cleaning up the request. We now only call
2616         NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
2617
2618         Reviewed by Anders.
2619
2620         * plugins/PluginStream.cpp:
2621         (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
2622         don't set m_streamState to StreamStarted, and return after calling
2623         cancelAndDestroyStream.
2624         (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
2625         the stream didn't start successfully.
2626
2627 2008-07-03  David Hyatt  <hyatt@apple.com>
2628
2629         Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
2630         Mac.  Revert updateControlTints and add the layout call outside of it in the already-existing
2631         !PLATFORM(MAC) ifdef in FocusController's setActive method.
2632
2633         Reviewed by ggaren, weinig
2634
2635         * page/FocusController.cpp:
2636         (WebCore::FocusController::setActive):
2637         * page/FrameView.cpp:
2638         (WebCore::FrameView::updateControlTints):
2639
2640 2008-07-03  Alexey Proskuryakov  <ap@webkit.org>
2641
2642         Reviewed by Darin.
2643
2644         https://bugs.webkit.org/show_bug.cgi?id=19884
2645         Locating a store at www.366.ru doesn't work
2646
2647         Test: fast/forms/submit-with-base.html
2648
2649         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
2650         as missing one - ignore base URL.
2651
2652 2008-07-03  Dan Bernstein  <mitz@apple.com>
2653
2654         Reviewed by John Sullivan.
2655
2656         - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
2657
2658         * page/FrameView.cpp:
2659         (WebCore::FrameView::updateControlTints): Changed to update layout
2660         recursively and not just for the top-level frame.
2661
2662 2008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2663
2664         Reviewed by Geoff.
2665
2666         Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
2667         https://bugs.webkit.org/show_bug.cgi?id=19853
2668
2669         Remove the body of _NPN_SetException(), because it was simply calling
2670         throwError(), which sets an exception on an ExecState but does not
2671         actually handle it. The presence of an exception on the global ExecState
2672         causes assertions that there is no exception set on that ExecState to
2673         fail, as well as causing Machine::execute() to mistakingly return 0 in
2674         some cases, as it assumes the presence of an exception implies that it
2675         has run out of memory.
2676
2677         * bridge/NP_jsobject.cpp:
2678         (_NPN_SetException):
2679
2680 2008-07-03  Maciej Katafiasz  <mathrick@gmail.com>
2681
2682         Gtk build fix with SVG filters enabled
2683
2684         * GNUmakefile.am: Include missing SVG filter sources
2685
2686 2008-07-03  Simon Hausmann  <hausmann@webkit.org>
2687
2688         Fix the Qt build, added FilterEffect to the build.
2689
2690         * WebCore.pro:
2691
2692 2008-07-02  Brady Eidson  <beidson@apple.com>
2693
2694         Reviewed by Mitz Pettel and John Sullivan
2695
2696         Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 
2697         inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
2698
2699         Test: fast/loader/stop-provisional-loads.html
2700
2701         * loader/FrameLoader.cpp:
2702         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
2703           by the prepareForLoadStart() call, null check it again.
2704
2705 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
2706
2707         Reviewed by Oliver Hunt.
2708
2709         Renaming of class SVGFEBlend to FEBlend as well as removing
2710         a little bit of antiquated code. This includes the removal of
2711         SVGFEBlendCg.mm; the feBlend element will now no longer
2712         render. 
2713
2714         * WebCore.xcodeproj/project.pbxproj:
2715         * svg/FilterBuilder.h:
2716         (WebCore::FilterBuilder::add):
2717         (WebCore::FilterBuilder::getEffectById):
2718         * svg/SVGFEBlendElement.cpp:
2719         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2720         (WebCore::SVGFEBlendElement::parseMappedAttribute):
2721         (WebCore::SVGFEBlendElement::filterEffect):
2722         (WebCore::SVGFEBlendElement::build):
2723         * svg/SVGFEBlendElement.h:
2724         * svg/SVGFilterPrimitiveStandardAttributes.h:
2725         * svg/graphics/filters/SVGFEBlend.cpp:
2726         (WebCore::FEBlend::FEBlend):
2727         (WebCore::FEBlend::create):
2728         (WebCore::FEBlend::in2):
2729         (WebCore::FEBlend::setIn2):
2730         (WebCore::FEBlend::blendMode):
2731         (WebCore::FEBlend::setBlendMode):
2732         (WebCore::FEBlend::apply):
2733         (WebCore::FEBlend::dump):
2734         * svg/graphics/filters/SVGFEBlend.h:
2735         (WebCore::):
2736         * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
2737
2738 2008-07-02  Beth Dakin  <bdakin@apple.com>
2739
2740         Reviewed by Darin.
2741
2742         Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
2743         and
2744         <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
2745
2746         * page/AccessibilityObject.h:
2747         (WebCore::AccessibilityObject::isSlider):
2748         * page/AccessibilityRenderObject.cpp:
2749         (WebCore::AccessibilityRenderObject::isSlider):
2750         (WebCore::AccessibilityRenderObject::valueForRange):
2751         (WebCore::AccessibilityRenderObject::maxValueForRange):
2752         (WebCore::AccessibilityRenderObject::minValueForRange):
2753         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 
2754         were addressing the generic has-an-ARIA-role case too early here.
2755         (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 
2756         bug I ran into while testing role='spinbutton', spinbutton is a 
2757         role that can have an active descendant. But we were always trying 
2758         to forward focus to the active descendant, even if one was not 
2759         specified. 
2760         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 
2761         'spinbutton' maps to ProgressIndicatorRole.
2762         (WebCore::RoleEntry::):
2763         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2764         * page/AccessibilityRenderObject.h:
2765         * page/mac/AccessibilityObjectWrapper.mm:
2766         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2767         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2768
2769 2008-07-02  Dan Bernstein  <mitz@apple.com>
2770
2771         Reviewed by Adam Roben.
2772
2773         - Windows build fix
2774
2775         Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
2776         the ERROR macro is defined in <wingdi.h>.
2777
2778         * xml/XPathGrammar.y:
2779         * xml/XPathParser.cpp:
2780         (WebCore::XPath::Parser::lexString):
2781         (WebCore::XPath::Parser::nextTokenInternal):
2782
2783 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
2784
2785         Inspired and reviewed by Mark Rowe.
2786
2787         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
2788
2789         * bindings/objc/ExceptionHandlers.h:
2790         * bindings/objc/WebScriptObject.mm:
2791         * dom/Document.cpp:
2792         * dom/Node.cpp:
2793         * page/Frame.cpp:
2794         * page/InspectorController.cpp:
2795         * page/JavaScriptProfileNode.cpp:
2796         * page/mac/FrameMac.mm:
2797         * platform/mac/ThreadCheck.mm:
2798         * xml/XMLHttpRequest.cpp:
2799
2800 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
2801
2802         Fix the Gtk build.
2803
2804         * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
2805         (WebCore::PluginView::paint):
2806         (WebCore::PluginView::handleKeyboardEvent):
2807         (WebCore::PluginView::handleMouseEvent):
2808         (WebCore::PluginView::setNPWindowRect):
2809         (WebCore::PluginView::stop):
2810         (WebCore::PluginView::init):
2811
2812 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
2813
2814         Build fixes.
2815
2816         * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
2817         build.
2818         * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
2819         * bridge/qt/qt_runtime.cpp: Ditto.
2820         (KJS::Bindings::convertValueToQVariant):
2821         (KJS::Bindings::convertQVariantToValue):
2822         (KJS::Bindings::QtRuntimeMetaMethod::call):
2823         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2824         (KJS::Bindings::QtConnectionObject::execute):
2825         * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
2826         JavaScriptCore/JSValue.h.
2827         * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
2828         (WebCore::PluginView::setNPWindowRect): Ditto.
2829         (WebCore::PluginView::stop): Ditto.
2830         (WebCore::PluginView::init): Ditto.
2831
2832 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
2833
2834         Build fix.
2835
2836         * plugins/PluginView.cpp:
2837         (WebCore::PluginView::start):
2838         (WebCore::getString):
2839         (WebCore::PluginView::performRequest):
2840         (WebCore::PluginView::bindingInstance):
2841         * plugins/win/PluginViewWin.cpp:
2842         (WebCore::PluginView::dispatchNPEvent):
2843         (WebCore::PluginView::setNPWindowRect):
2844         (WebCore::PluginView::stop):
2845         Pass false to JSLock and JSLock::DropAllLocks constructors.
2846
2847 2008-07-01  Oliver Hunt  <oliver@apple.com>
2848
2849         Reviewed by Geoff Garen.
2850
2851         <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
2852
2853         In order to fix this we now make the rendering context and the canvas element
2854         share the same reference count, ensuring that references to the rendering
2855         context will force the canvas element to remain live as well.
2856
2857         Test: fast/canvas/canvas-longlived-context.html
2858
2859         * html/CanvasRenderingContext2D.cpp:
2860         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
2861         (WebCore::CanvasRenderingContext2D::createImageData):
2862         (WebCore::CanvasRenderingContext2D::getImageData):
2863         (WebCore::CanvasRenderingContext2D::putImageData):
2864         * html/CanvasRenderingContext2D.h:
2865         (WebCore::CanvasRenderingContext2D::create):
2866         * html/HTMLCanvasElement.cpp:
2867         (WebCore::HTMLCanvasElement::getContext):
2868         * html/HTMLCanvasElement.h:
2869
2870 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
2871
2872         Reviewed by Darin.
2873
2874         Disable JSLock for per-thread contexts.
2875
2876         * bridge/runtime_root.cpp:
2877         (KJS::Bindings::RootObject::invalidate):
2878         (KJS::Bindings::RootObject::gcProtect):
2879         (KJS::Bindings::RootObject::gcUnprotect):
2880         Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
2881
2882         * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
2883         to indicate that protected value list can be concurrently accessed from multiple threads now.
2884
2885         * xml/XMLHttpRequest.cpp:
2886         (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
2887         as fake locks cannot deadlock, and there is no danger that someone will try to take a real
2888         JSLock on the main thread while we are waiting for response.
2889         (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
2890         around gcProtect/gcUnprotect now.
2891         (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
2892         JSGlobalData::threadInstance().
2893
2894         * bindings/js/GCController.cpp:
2895         (WebCore::collect):
2896         (WebCore::GCController::gcTimerFired):
2897         (WebCore::GCController::garbageCollectNow):
2898         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
2899         * bindings/js/JSCustomSQLStatementCallback.cpp:
2900         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2901         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2902         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2903         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2904         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2905         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2906         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2907         * bindings/js/JSCustomVoidCallback.cpp:
2908         (WebCore::JSCustomVoidCallback::handleEvent):
2909         * bindings/js/JSCustomXPathNSResolver.cpp:
2910         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2911         * bindings/js/JSDOMWindowBase.cpp:
2912         (WebCore::DOMWindowTimer::~DOMWindowTimer):
2913         (WebCore::JSDOMWindowBase::clear):
2914         (WebCore::JSDOMWindowBase::timerFired):
2915         * bindings/js/JSEventCustom.cpp:
2916         (WebCore::toJS):
2917         * bindings/js/JSEventListener.cpp:
2918         (WebCore::JSAbstractEventListener::handleEvent):
2919         (WebCore::JSLazyEventListener::parseCode):
2920         * bindings/js/JSNodeFilterCondition.cpp:
2921         (WebCore::JSNodeFilterCondition::acceptNode):
2922         * bindings/js/ScheduledAction.cpp:
2923         (WebCore::ScheduledAction::execute):
2924         * bindings/js/ScriptController.cpp:
2925         (WebCore::ScriptController::evaluate):
2926         (WebCore::ScriptController::clear):
2927         (WebCore::ScriptController::createHTMLEventHandler):
2928         (WebCore::ScriptController::createSVGEventHandler):
2929         (WebCore::ScriptController::initScript):
2930         (WebCore::ScriptController::updateDocument):
2931         * bindings/objc/WebScriptObject.mm:
2932         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2933         (-[WebScriptObject evaluateWebScript:]):
2934         (-[WebScriptObject setValue:forKey:]):
2935         (-[WebScriptObject valueForKey:]):
2936         (-[WebScriptObject removeWebScriptKey:]):
2937         (-[WebScriptObject stringRepresentation]):
2938         (-[WebScriptObject webScriptValueAtIndex:]):
2939         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
2940         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2941         * bridge/NP_jsobject.cpp:
2942         (_NPN_InvokeDefault):
2943         (_NPN_Invoke):
2944         (_NPN_Evaluate):
2945         (_NPN_GetProperty):
2946         (_NPN_SetProperty):
2947         (_NPN_RemoveProperty):
2948         (_NPN_HasProperty):
2949         (_NPN_HasMethod):
2950         (_NPN_SetException):
2951         (_NPN_Enumerate):
2952         * bridge/c/c_class.cpp:
2953         (KJS::Bindings::CClass::~CClass):
2954         (KJS::Bindings::CClass::methodsNamed):
2955         (KJS::Bindings::CClass::fieldNamed):
2956         * bridge/c/c_instance.cpp:
2957         (KJS::Bindings::CInstance::invokeMethod):
2958         (KJS::Bindings::CInstance::invokeDefaultMethod):
2959         (KJS::Bindings::CInstance::getPropertyNames):
2960         * bridge/c/c_runtime.cpp:
2961         (KJS::Bindings::CField::valueFromInstance):
2962         (KJS::Bindings::CField::setValueToInstance):
2963         * bridge/c/c_utility.cpp:
2964         (KJS::Bindings::convertValueToNPVariant):
2965         (KJS::Bindings::convertNPVariantToValue):
2966         * bridge/jni/jni_class.cpp:
2967         (JavaClass::JavaClass):
2968         (JavaClass::~JavaClass):
2969         * bridge/jni/jni_instance.cpp:
2970         (JavaInstance::stringValue):
2971         * bridge/jni/jni_jsobject.mm:
2972         (JavaJSObject::call):
2973         (JavaJSObject::eval):
2974         (JavaJSObject::getMember):
2975         (JavaJSObject::setMember):
2976         (JavaJSObject::removeMember):
2977         (JavaJSObject::getSlot):
2978         (JavaJSObject::setSlot):
2979         (JavaJSObject::toString):
2980         (JavaJSObject::convertValueToJObject):
2981         (JavaJSObject::convertJObjectToValue):
2982         * bridge/jni/jni_objc.mm:
2983         (KJS::Bindings::dispatchJNICall):
2984         * bridge/jni/jni_runtime.cpp:
2985         (JavaMethod::signature):
2986         * bridge/jni/jni_runtime.h:
2987         (KJS::Bindings::JavaString::JavaString):
2988         (KJS::Bindings::JavaString::_commonInit):
2989         (KJS::Bindings::JavaString::~JavaString):
2990         (KJS::Bindings::JavaString::UTF8String):
2991         * bridge/jni/jni_utility.cpp:
2992         (KJS::Bindings::convertArrayInstanceToJavaArray):
2993         (KJS::Bindings::convertValueToJValue):
2994         * bridge/npruntime.cpp:
2995         (_NPN_GetStringIdentifier):
2996         * bridge/objc/objc_instance.mm:
2997         (ObjcInstance::moveGlobalExceptionToExecState):
2998         (ObjcInstance::invokeMethod):
2999         (ObjcInstance::invokeDefaultMethod):
3000         (ObjcInstance::setValueOfUndefinedField):
3001         (ObjcInstance::getValueOfUndefinedField):
3002         * bridge/objc/objc_runtime.mm:
3003         (ObjcField::valueFromInstance):
3004         (ObjcField::setValueToInstance):
3005         * bridge/objc/objc_utility.mm:
3006         (KJS::Bindings::convertValueToObjcValue):
3007         (KJS::Bindings::convertNSStringToString):
3008         (KJS::Bindings::convertObjcValueToValue):
3009         * bridge/runtime.cpp:
3010         (KJS::Bindings::Instance::createRuntimeObject):
3011         * dom/Document.cpp:
3012         (WebCore::Document::~Document):
3013         * dom/Node.cpp:
3014         (WebCore::Node::setDocument):
3015         * history/CachedPage.cpp:
3016         (WebCore::CachedPage::CachedPage):
3017         (WebCore::CachedPage::restore):
3018         (WebCore::CachedPage::clear):
3019         * html/HTMLPlugInElement.cpp:
3020         (WebCore::HTMLPlugInElement::createNPObject):
3021         * loader/FrameLoader.cpp:
3022         (WebCore::getString):
3023         * page/Frame.cpp:
3024         (WebCore::Frame::bindingRootObject):
3025         (WebCore::Frame::windowScriptNPObject):
3026         (WebCore::Frame::clearScriptObjects):
3027         * page/InspectorController.cpp:
3028         (WebCore::jsStringRef):
3029         (WebCore::ConsoleMessage::ConsoleMessage):
3030         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
3031         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
3032         (WebCore::getResourceDocumentNode):
3033         (WebCore::search):
3034         (WebCore::inspectedWindow):
3035         (WebCore::wrapCallback):
3036         (WebCore::currentCallFrame):
3037         (WebCore::profiles):
3038         (WebCore::InspectorController::focusNode):
3039         (WebCore::InspectorController::addDatabaseScriptResource):
3040         (WebCore::InspectorController::addScriptProfile):
3041         * page/JavaScriptCallFrame.cpp:
3042         (WebCore::JavaScriptCallFrame::evaluate):
3043         * page/JavaScriptProfileNode.cpp:
3044         (WebCore::getTotalTime):
3045         (WebCore::getSelfTime):
3046         (WebCore::getTotalPercent):
3047         (WebCore::getSelfPercent):
3048         (WebCore::getNumberOfCalls):
3049         (WebCore::getChildren):
3050         (WebCore::getVisible):
3051         * page/mac/FrameMac.mm:
3052         (WebCore::Frame::windowScriptObject):
3053         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
3054         doesn't need locking. In the future, it may be possible to remove some of these if we
3055         establish that this won't make JSC assertions fail (and that we don't want to add such
3056         assertions either).
3057         Added includes that are now needed.
3058
3059 2008-07-01  Dan Bernstein  <mitz@apple.com>
3060
3061         Reviewed by Oliver Hunt.
3062
3063         - fix a CSSParserValueList leak seen on the build bot
3064
3065         * css/CSSParser.cpp:
3066         (WebCore::BorderImageParseContext::commitBorderImage):
3067
3068 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
3069
3070         Reviewed by Oliver Hunt.
3071
3072         Prep for more Filter class name changes. Added the first few files for
3073         the new Filter architecture to come.
3074
3075         * WebCore.xcodeproj/project.pbxproj:
3076         * svg/Filter.cpp: Added.
3077         (WebCore::Filter::Filter):
3078         (WebCore::Filter::create):
3079         * svg/Filter.h: Added.
3080         * svg/FilterBuilder.h: Added.
3081         (WebCore::FilterBuilder::add):
3082         (WebCore::FilterBuilder::getEffectById):
3083         (WebCore::FilterBuilder::filter):
3084         * svg/FilterEffect.cpp: Added.
3085         (WebCore::FilterEffect::FilterEffect):
3086         (WebCore::FilterEffect::~FilterEffect):
3087         * svg/FilterEffect.h: Added.
3088
3089 2008-07-01  Christian Dywan  <christian@twotoasts.de>
3090
3091         Gtk+ build fix.
3092
3093         * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
3094
3095 2008-07-01  Anders Carlsson  <andersca@apple.com>
3096
3097         Reviewed by Darin.
3098
3099         Add PluginMainThreadScheduler.{cpp|h} to build.
3100         
3101         * WebCore.base.exp:
3102         * WebCore.xcodeproj/project.pbxproj:
3103         * plugins/PluginMainThreadScheduler.cpp:
3104
3105 2008-07-01  Dan Bernstein  <mitz@apple.com>
3106
3107         Reviewed by Darin Adler.
3108
3109         - move the method to set the base writing direction from Frame to Editor
3110
3111         * WebCore.base.exp: Updated.
3112         * editing/Editor.cpp:
3113         (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
3114         WritingDirection enum value and added the special behavior when the
3115         focused node is a text field or a text area.
3116         * editing/Editor.h:
3117         * page/ContextMenuController.cpp:
3118         (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
3119         to call the Editor method.
3120         * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
3121         * page/Frame.h:
3122
3123 2008-07-01  Darin Adler  <darin@apple.com>
3124
3125         Reviewed by Oliver.
3126
3127         - slight tweak of the setHash fix
3128
3129         * bindings/js/JSLocationCustom.cpp:
3130         (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
3131
3132 2008-07-01  Dan Bernstein  <mitz@apple.com>
3133
3134         Reviewed by Anders Carlsson.
3135
3136         - Mac release build fix
3137
3138         * page/Console.cpp:
3139
3140 2008-07-01  Dan Bernstein  <mitz@apple.com>
3141
3142         Reviewed by Anders Carlsson.
3143
3144         - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
3145
3146         * css/CSSPrimitiveValue.cpp:
3147         (WebCore::CSSPrimitiveValue::cleanup):
3148
3149 2008-07-01  Anders Carlsson  <andersca@apple.com>
3150
3151         Reviewed by Jon.
3152
3153         Don't add the Mozilla user agent quirk for Flash 10.
3154         
3155         * plugins/win/PluginPackageWin.cpp:
3156         (WebCore::PluginPackage::isPluginBlacklisted):
3157         (WebCore::PluginPackage::determineQuirks):
3158
3159 2008-07-01  David Kilzer  <ddkilzer@apple.com>
3160
3161         Move data: URL parsing code in HTMLObjectElement to KURL
3162
3163         Reviewed by Ada and Darin.
3164
3165         No test cases added since there is no change in behavior.
3166
3167         * html/HTMLObjectElement.cpp:
3168         (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
3169         parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
3170         * platform/KURL.cpp:
3171         (WebCore::mimeTypeFromDataURL): Added.
3172         * platform/KURL.h:
3173         (WebCore::mimeTypeFromDataURL): Added.
3174
3175 2008-07-01  Dan Bernstein  <mitz@apple.com>
3176
3177         Reviewed by Dave Hyatt.
3178
3179         - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
3180
3181         * css/CSSParser.cpp:
3182         (WebCore::CSSParser::addUnresolvedProperty):
3183
3184 2008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3185
3186         Reviewed by Brady Eidson.
3187
3188         Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
3189         <https://bugs.webkit.org/show_bug.cgi?id=19822>
3190
3191         Change JSLocation::setHash() to not schedule navigation in the case
3192         where the old fragment is the null String and the new fragment is an
3193         empty String.
3194
3195         * bindings/js/JSLocationCustom.cpp:
3196         (WebCore::JSLocation::setHash):
3197
3198 2008-06-30  Anders Carlsson  <andersca@apple.com>
3199
3200         Reviewed by Adam.
3201
3202         Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 
3203         callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
3204         
3205         * WebCore.vcproj/WebCore.vcproj:
3206         Add PluginMainThreadScheduler.{cpp|h}
3207         
3208         * plugins/PluginMainThreadScheduler.cpp: Added.
3209         * plugins/PluginMainThreadScheduler.h: Added.
3210
3211         * plugins/PluginView.cpp:
3212         (WebCore::PluginView::start):
3213         Register with the thread scheduler.
3214         
3215         * plugins/npapi.cpp:
3216         (NPN_PluginThreadAsyncCall):
3217         Call the thread scheduler.
3218         
3219         * plugins/win/PluginPackageWin.cpp:
3220         (WebCore::PluginPackage::load):
3221         Initialize the NPN_PluginThreadAsyncCall callback.
3222         
3223         * plugins/win/PluginViewWin.cpp:
3224         (WebCore::PluginView::stop):
3225         Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
3226         after the plug-in has been destroyed.
3227
3228 2008-07-01  Adam Roben  <aroben@apple.com>
3229
3230         Roll out r34913, as it broke the Windows build due to bad casting
3231
3232         r34913 introduced code that assigned pointers-to-member from a derived
3233         class into a base class pointer-to-member type (e.g., assigned a void
3234         (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
3235         because it could allow us to call SVGUseElement member functions on a
3236         different SVGElement-derived class. MSVC rightly flagged this as an
3237         error.
3238
3239         Rubberstamped by Anders Carlsson.
3240
3241 2008-07-01  Darin Adler  <darin@apple.com>
3242
3243         - fix build
3244
3245         * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
3246         not working propertly.
3247
3248 2008-07-01  Dan Bernstein  <mitz@apple.com>
3249
3250         Reviewed by Darin Adler.
3251
3252         - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
3253
3254         * html/CanvasRenderingContext2D.cpp:
3255         (WebCore::CanvasRenderingContext2D::createPattern):
3256
3257 2008-07-01  Sam Weinig  <sam@webkit.org>
3258
3259         Reviewed by Darin Adler.
3260
3261         Split JSCell and JSNumberCell class declarations out of JSValue.h
3262
3263         * ForwardingHeaders/kjs/JSNumberCell.h: Added.
3264         * bindings/scripts/CodeGeneratorJS.pm:
3265         * bridge/c/c_instance.cpp:
3266
3267 2008-07-01  chris fleizach  <cfleizach@apple.com>
3268
3269         Reviewed by Beth Dakin
3270
3271         <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
3272
3273         Test: accessibility/radio-button-checkbox-size.html
3274
3275         * page/AccessibilityRenderObject.cpp:
3276         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
3277
3278 2008-07-01  Dan Bernstein  <mitz@apple.com>
3279
3280         Reviewed by Antti Koivisto.
3281
3282         - fix SVG pointer-events layout test failures
3283
3284         * css/SVGCSSParser.cpp:
3285         (WebCore::CSSParser::parseSVGValue):
3286
3287 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
3288
3289         Reviewed by Antti.
3290
3291         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
3292         Fix two small problems in the gradient & pattern code.
3293
3294         Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
3295
3296         * svg/SVGLinearGradientElement.cpp:
3297         (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
3298         * svg/SVGPatternElement.cpp:
3299         (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
3300         * svg/SVGRadialGradientElement.cpp:
3301         (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
3302         (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
3303
3304 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
3305
3306         Fix the build, include SVGTransformList.h instead of
3307         SVGTransformlist.h
3308
3309         * svg/SVGGradientElement.h:
3310
3311 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
3312
3313         Reviewed by Antti.
3314
3315         <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
3316         the first time.
3317
3318         Test: fast/encoding/preload-encoding.html
3319
3320         * html/PreloadScanner.cpp:
3321         (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
3322         starting a load.
3323
3324 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
3325
3326         Reviewed by Antti & Eric.
3327
3328         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3329
3330         SVG Errata states: "All SVG DOM objects that directly correspond to an
3331         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
3332         means that any changes made to the attribute are immediately reflected in the
3333         corresponding SVG DOM object." (see linked URL on bug report)
3334
3335         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
3336         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
3337
3338         Add a new synchronization layer to handle SVG DOM -> XML changes.
3339
3340         Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
3341         Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
3342         Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
3343
3344         Added test: svg/custom/svg-xml-dom-sync.html
3345         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
3346
3347         * dom/Element.cpp:
3348         (WebCore::Element::Element): Initialize the two new bits.
3349         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
3350         (WebCore::Element::getAttribute): Ditto.
3351         (WebCore::Element::hasAttributes): Ditto.
3352         * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
3353         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
3354         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
3355         * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3356         (WebCore::SVGAElement::contextElement): Return non-const value.
3357         * svg/SVGAltGlyphElement.h:
3358         (WebCore::SVGAltGlyphElement::contextElement): Ditto.
3359         * svg/SVGAnimateElement.h:
3360         (WebCore::SVGAnimateElement::contextElement): Ditto.
3361         * svg/SVGAnimateMotionElement.h:
3362         (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
3363         * svg/SVGAnimateTransformElement.h:
3364         (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
3365         * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
3366         (WebCore::SVGAnimatedTemplate::toString):
3367         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3368         (WebCore::lookupOrCreateWrapper):
3369         (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 
3370         (WebCore::SVGAnimatedAngle::toString):
3371         (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
3372         (WebCore::SVGAnimatedBoolean::toString):
3373         (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
3374         (WebCore::SVGAnimatedEnumeration::toString):
3375         (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
3376         (WebCore::SVGAnimatedInteger::toString):
3377         (WebCore::SVGAnimatedLength::SVGAnimatedLength):
3378         (WebCore::SVGAnimatedLength::toString):
3379         (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
3380         (WebCore::SVGAnimatedLengthList::toString):
3381         (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
3382         (WebCore::SVGAnimatedNumber::toString):
3383         (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
3384         (WebCore::SVGAnimatedNumberList::toString):
3385         (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
3386         (WebCore::SVGAnimatedPreserveAspectRatio::toString):
3387         (WebCore::SVGAnimatedRect::SVGAnimatedRect):
3388         (WebCore::SVGAnimatedRect::toString):
3389         (WebCore::SVGAnimatedString::SVGAnimatedString):
3390         (WebCore::SVGAnimatedString::toString):
3391         (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
3392         (WebCore::SVGAnimatedTransformList::toString):
3393         (WebCore::SVGAnimatedType::SVGAnimatedType):
3394         * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3395         * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3396         (WebCore::SVGCircleElement::contextElement): Return non-const value.
3397         * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3398         (WebCore::SVGClipPathElement::contextElement): Return non-const value.
3399         * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3400         * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
3401         * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3402         (WebCore::SVGCursorElement::SVGCursorElement):
3403         * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
3404         (WebCore::SVGCursorElement::contextElement): Return non-const value.
3405         * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3406         (WebCore::SVGDefsElement::contextElement): Return non-const value.
3407         * svg/SVGElement.cpp:
3408         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
3409         (WebCore::SVGElement::setSynchronizedSVGAttributes):
3410         * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
3411         (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
3412         (StoredTypeWithDirtyFlag::operator=):
3413         (StoredTypeWithDirtyFlag::operator==):
3414         (StoredTypeWithDirtyFlag::operator!=):
3415         (StoredTypeWithDirtyFlag::operator StoredType):
3416         (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
3417         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
3418         (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
3419         * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3420         (WebCore::SVGEllipseElement::SVGEllipseElement):
3421         * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3422         (WebCore::SVGEllipseElement::contextElement): Return non-const value.
3423         * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
3424         * svg/SVGFEBlendElement.h:
3425         (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
3426         * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3427         * svg/SVGFEColorMatrixElement.h:
3428         (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
3429         * svg/SVGFEComponentTransferElement.h:
3430         (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
3431         * svg/SVGFECompositeElement.h:
3432         (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
3433         * svg/SVGFEDiffuseLightingElement.h:
3434         (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
3435         * svg/SVGFEDisplacementMapElement.h:
3436         (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
3437         * svg/SVGFEFloodElement.h:
3438         (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
3439         * svg/SVGFEGaussianBlurElement.h:
3440         (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
3441         * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3442         * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3443         (WebCore::SVGFEImageElement::contextElement): Return non-const value.
3444         * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
3445         * svg/SVGFEMergeElement.h:
3446         (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
3447         * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
3448         (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
3449         * svg/SVGFEOffsetElement.h:
3450         (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
3451         * svg/SVGFESpecularLightingElement.h:
3452         (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
3453         * svg/SVGFETileElement.h:
3454         (WebCore::SVGFETileElement::contextElement): Return non-const value.
3455         * svg/SVGFETurbulenceElement.h:
3456         (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
3457         * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3458         (WebCore::SVGFilterElement::SVGFilterElement):
3459         * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3460         (WebCore::SVGFilterElement::contextElement): Return non-const value.
3461         * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
3462         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3463         * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3464         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
3465         * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3466         * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
3467         * svg/SVGFontElement.h:
3468         (WebCore::SVGFontElement::contextElement): Return non-const value.
3469         * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3470         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3471         * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3472         (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
3473         * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3474         (WebCore::SVGGElement::contextElement): Return non-const value.
3475         * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3476         * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3477         * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
3478         (WebCore::SVGImageElement::SVGImageElement):
3479         * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3480         (WebCore::SVGImageElement::contextElement): Return non-const value.
3481         * svg/SVGLengthList.cpp:
3482         (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
3483         * svg/SVGLengthList.h:
3484         * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3485         (WebCore::SVGLineElement::SVGLineElement):
3486         * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3487         (WebCore::SVGLineElement::contextElement): Return non-const value.
3488         * svg/SVGLinearGradientElement.cpp:
3489         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
3490         (WebCore::SVGLinearGradientElement::collectGradientProperties):
3491         * svg/SVGLinearGradientElement.h:
3492         (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
3493         * svg/SVGMPathElement.h:
3494         (WebCore::SVGMPathElement::contextElement): Return non-const value.
3495         * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
3496         (WebCore::SVGMarkerElement::SVGMarkerElement):
3497         * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3498         (WebCore::SVGMarkerElement::contextElement): Return non-const value.
3499         * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3500         (WebCore::SVGMaskElement::SVGMaskElement):
3501         * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3502         (WebCore::SVGMaskElement::contextElement): Return non-const value.
3503         * svg/SVGNumberList.cpp:
3504         (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
3505         * svg/SVGNumberList.h:
3506         * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3507         (WebCore::SVGPathElement::contextElement): Return non-const value.
3508         * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
3509         (WebCore::SVGPatternElement::SVGPatternElement):
3510         (WebCore::SVGPatternElement::collectPatternProperties):
3511         * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3512         (WebCore::SVGPatternElement::contextElement): Return non-const value.
3513         * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3514         (WebCore::SVGPolyElement::contextElement): Return non-const value.
3515         * svg/SVGPreserveAspectRatio.cpp:
3516         (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
3517         * svg/SVGPreserveAspectRatio.h:
3518         * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3519         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3520         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
3521         (WebCore::SVGRadialGradientElement::collectGradientProperties):
3522         * svg/SVGRadialGradientElement.h:
3523         (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
3524         * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3525         (WebCore::SVGRectElement::SVGRectElement):
3526         * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3527         (WebCore::SVGRectElement::contextElement): Return non-const value.
3528         * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3529         (WebCore::SVGSVGElement::SVGSVGElement):
3530         (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
3531         * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3532         (WebCore::SVGSVGElement::contextElement): Return non-const value.
3533         * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3534         (WebCore::SVGScriptElement::contextElement): Return non-const value.
3535         * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
3536         * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3537         * svg/SVGStyledTransformableElement.h:
3538         * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3539         (WebCore::SVGSwitchElement::contextElement): Return non-const value.
3540         * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3541         (WebCore::SVGSymbolElement::contextElement): Return non-const value.
3542         * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3543         (WebCore::SVGTRefElement::contextElement): Return non-const value.
3544         * svg/SVGTSpanElement.h:
3545         (WebCore::SVGTSpanElement::contextElement): Return non-const value.
3546         * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3547         (WebCore::SVGTextContentElement::SVGTextContentElement):
3548         * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3549         * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3550         * svg/SVGTextElement.h:
3551         (WebCore::SVGTextElement::contextElement): Return non-const value.
3552         * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3553         (WebCore::SVGTextPathElement::SVGTextPathElement):
3554         * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3555         (WebCore::SVGTextPathElement::contextElement): Return non-const value.
3556         * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3557         * svg/SVGTextPositioningElement.h:
3558         * svg/SVGTransformList.cpp:
3559         (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
3560         * svg/SVGTransformList.h: