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