Reviewed by eseidel.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-09-12  Adam Roben  <aroben@apple.com>
2
3         Reviewed by eseidel.
4
5         Switch back to passing relative paths to generate-bindings.pl when
6         generating JS bindings.
7
8         * DerivedSources.make: Pass in relative paths to generate-bindings.pl
9         * bindings/scripts/CodeGenerator.pm: Make ScanDirectory never call
10         chdir and always construct absolute paths instead.
11
12 2006-09-12  David Hyatt  <hyatt@apple.com>
13
14         Fix for bug 3244, implement html4 label support.
15
16         Reviewed by mjs, aroben
17
18         Added fast/events/label-focus.html
19
20         * css/html4.css:
21         * html/HTMLLabelElement.cpp:
22         (WebCore::HTMLLabelElement::formElement):
23         (WebCore::HTMLLabelElement::setActive):
24         (WebCore::HTMLLabelElement::setHovered):
25         (WebCore::HTMLLabelElement::defaultEventHandler):
26         * html/HTMLLabelElement.h:
27
28 2006-09-12  Julien Palmas  <julien.palmas@gmail.com>
29
30         Reviewed by darin.  Landed by eseidel.
31
32         * ksvg2/svg/svgpathparser.cpp:
33         (WebCore::SVGPolyParser::parsePoints):
34
35 2006-09-11  Kevin McCullough  <KMcCullough@apple.com>
36
37         Reviewed by Andersca, Maciej, Brady.
38
39         - Implemented intersectsNode in the Range Class
40           to be compliant with Mozilla standard
41
42         * dom/Range.cpp:
43         (WebCore::Range::intersectsNode):
44         * dom/Range.h:
45         * dom/Range.idl:
46
47 2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
48
49         Reviewed by eseidel.  Landed by eseidel.
50
51         Test: svg/W3C-SVG-1.1/struct-dom-01-b.svg (fixed)
52         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10826
53         
54         Also finally fixes some long outstanding bugs:
55         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=9190
56         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=9229
57         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10413
58
59         Enable all JavaScript SVG bindings. Builds on Qt/Linux & OSX.
60
61         * CMakeLists.txt:
62         * DerivedSources.make:
63         * WebCore.xcodeproj/project.pbxproj:
64         * bindings/scripts/CodeGenerator.pm:
65         * bindings/scripts/CodeGeneratorJS.pm:
66         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
67         * ksvg2/svg/SVGAElement.idl: Added.
68         * ksvg2/svg/SVGAngle.idl:
69         * ksvg2/svg/SVGAnimateColorElement.idl: Added.
70         * ksvg2/svg/SVGAnimateElement.idl: Added.
71         * ksvg2/svg/SVGAnimateTransformElement.idl: Added.
72         * ksvg2/svg/SVGAnimatedLengthList.idl: Added.
73         * ksvg2/svg/SVGAnimatedNumberList.idl: Added.
74         * ksvg2/svg/SVGAnimatedTransformList.idl: Added.
75         * ksvg2/svg/SVGAnimationElement.idl: Added.
76         * ksvg2/svg/SVGCircleElement.idl: Added.
77         * ksvg2/svg/SVGClipPathElement.idl: Added.
78         * ksvg2/svg/SVGColor.idl:
79         * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Added.
80         * ksvg2/svg/SVGCursorElement.idl: Added.
81         * ksvg2/svg/SVGDefsElement.idl: Added.
82         * ksvg2/svg/SVGDescElement.idl: Added.
83         * ksvg2/svg/SVGEllipseElement.idl: Added.
84         * ksvg2/svg/SVGEvent.idl:
85         * ksvg2/svg/SVGExternalResourcesRequired.idl: Added.
86         * ksvg2/svg/SVGFEBlendElement.idl: Added.
87         * ksvg2/svg/SVGFEColorMatrixElement.idl: Added.
88         * ksvg2/svg/SVGFEComponentTransferElement.idl: Added.
89         * ksvg2/svg/SVGFECompositeElement.idl: Added.
90         * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Added.
91         * ksvg2/svg/SVGFEDisplacementMapElement.idl: Added.
92         * ksvg2/svg/SVGFEDistantLightElement.idl: Added.
93         * ksvg2/svg/SVGFEFloodElement.idl: Added.
94         * ksvg2/svg/SVGFEFuncAElement.idl: Added.
95         * ksvg2/svg/SVGFEFuncBElement.idl: Added.
96         * ksvg2/svg/SVGFEFuncGElement.idl: Added.
97         * ksvg2/svg/SVGFEFuncRElement.idl: Added.
98         * ksvg2/svg/SVGFEGaussianBlurElement.idl: Added.
99         * ksvg2/svg/SVGFEImageElement.idl: Added.
100         * ksvg2/svg/SVGFEMergeElement.idl: Added.
101         * ksvg2/svg/SVGFEMergeNodeElement.idl: Added.
102         * ksvg2/svg/SVGFEOffsetElement.idl: Added.
103         * ksvg2/svg/SVGFEPointLightElement.idl: Added.
104         * ksvg2/svg/SVGFESpecularLightingElement.idl: Added.
105         * ksvg2/svg/SVGFESpotLightElement.idl: Added.
106         * ksvg2/svg/SVGFETileElement.idl: Added.
107         * ksvg2/svg/SVGFETurbulenceElement.idl: Added.
108         * ksvg2/svg/SVGFilterElement.idl: Added.
109         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Added.
110         * ksvg2/svg/SVGFitToViewBox.idl: Added.
111         * ksvg2/svg/SVGForeignObjectElement.idl: Added.
112         * ksvg2/svg/SVGGElement.idl: Added.
113         * ksvg2/svg/SVGGradientElement.idl: Added.
114         * ksvg2/svg/SVGImageElement.idl: Added.
115         * ksvg2/svg/SVGLangSpace.idl: Added.
116         * ksvg2/svg/SVGLength.idl:
117         * ksvg2/svg/SVGLengthList.idl: Added.
118         * ksvg2/svg/SVGLineElement.idl: Added.
119         * ksvg2/svg/SVGLinearGradientElement.idl: Added.
120         * ksvg2/svg/SVGLocatable.idl: Added.
121         * ksvg2/svg/SVGMarkerElement.idl: Added.
122         * ksvg2/svg/SVGMaskElement.idl: Added.
123         * ksvg2/svg/SVGNumberList.idl: Added.
124         * ksvg2/svg/SVGPaint.idl: Added.
125         * ksvg2/svg/SVGPathElement.idl:
126         * ksvg2/svg/SVGPathSeg.idl:
127         * ksvg2/svg/SVGPatternElement.idl: Added.
128         * ksvg2/svg/SVGPointList.idl: Added.
129         * ksvg2/svg/SVGPolygonElement.idl: Added.
130         * ksvg2/svg/SVGPolylineElement.idl: Added.
131         * ksvg2/svg/SVGPreserveAspectRatio.idl:
132         * ksvg2/svg/SVGRadialGradientElement.idl: Added.
133         * ksvg2/svg/SVGRectElement.idl: Added.
134         * ksvg2/svg/SVGRenderingIntent.idl: Added.
135         * ksvg2/svg/SVGSVGElement.idl:
136         * ksvg2/svg/SVGScriptElement.idl: Added.
137         * ksvg2/svg/SVGSetElement.idl: Added.
138         * ksvg2/svg/SVGStopElement.idl: Added.
139         * ksvg2/svg/SVGStringList.idl: Added.
140         * ksvg2/svg/SVGStylable.idl: Added.
141         * ksvg2/svg/SVGStyleElement.idl: Added.
142         * ksvg2/svg/SVGSwitchElement.idl: Added.
143         * ksvg2/svg/SVGSymbolElement.idl: Added.
144         * ksvg2/svg/SVGTRefElement.idl: Added.
145         * ksvg2/svg/SVGTSpanElement.idl: Added.
146         * ksvg2/svg/SVGTests.idl: Added.
147         * ksvg2/svg/SVGTextContentElement.idl: Added.
148         * ksvg2/svg/SVGTextElement.idl: Added.
149         * ksvg2/svg/SVGTextPositioningElement.idl: Added.
150         * ksvg2/svg/SVGTitleElement.idl: Added.
151         * ksvg2/svg/SVGTransform.idl:
152         * ksvg2/svg/SVGTransformList.idl: Added.
153         * ksvg2/svg/SVGTransformable.idl: Added.
154         * ksvg2/svg/SVGURIReference.idl: Added.
155         * ksvg2/svg/SVGUnitTypes.idl: Added.
156         * ksvg2/svg/SVGUseElement.idl: Added.
157         * ksvg2/svg/SVGViewElement.idl: Added.
158         * ksvg2/svg/SVGZoomAndPan.idl: Added.
159         * ksvg2/svg/SVGZoomEvent.idl: Added.
160
161 2006-09-12  Adam Roben  <aroben@apple.com>
162
163         Reviewed by timo, ggaren.
164
165         Make Icon ref-counted.
166
167         * platform/FileChooser.h: Store m_icon as a RefPtr instead of
168         auto_ptr.
169         * platform/Icon.h: Inherit from Shared<Icon>
170         * platform/mac/FileChooserMac.mm:
171         (WebCore::FileChooser::chooseFile): Update m_icon usage
172         * platform/mac/IconMac.mm:
173         (WebCore::Icon::newIconForFile): Return a RefPtr instead of an
174         auto_ptr
175
176 === Safari-521.26 ===
177
178 2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
179
180         Reviewed by Anders.
181
182         Add exception codes to SVGList functions, adjust all code using it.
183
184         Move SVGPaintType enums from ksvg.h into SVGPaint (needed for js generation)
185         Move SVGUnitTypes enums from ksvg.h into it's own file SVGUnitType.h (ditto)
186         Move SVGRenderingIntent enums from ksvg.h into it's own file SVGRenderingIntent.h (ditto)
187         Move SVGZoomAndPan enums from ksvg.h into SVGSVGElement (ditto)
188         Move SVGFE* related enums into their respecitive classes.
189
190         Fix JSSVGNumber to operator on doubles, instead of floats.
191
192         * ksvg2/bindings/js/JSSVGNumber.cpp:
193         (WebCore::getJSSVGNumber):
194         * ksvg2/bindings/js/JSSVGNumber.h:
195         (WebCore::JSSVGNumber::JSSVGNumber):
196         * ksvg2/css/SVGCSSParser.cpp:
197         (WebCore::CSSParser::parseSVGValue):
198         (WebCore::CSSParser::parseSVGPaint):
199         * ksvg2/css/SVGRenderStyleDefs.cpp:
200         (StyleFillData::operator==):
201         * ksvg2/ksvg.h:
202         * ksvg2/misc/KCanvasRenderingStyle.cpp:
203         (WebCore::KSVGPainterFactory::isFilled):
204         (WebCore::KSVGPainterFactory::fillPaintServer):
205         (WebCore::KSVGPainterFactory::isStroked):
206         (WebCore::KSVGPainterFactory::strokePaintServer):
207         * ksvg2/misc/KSVGTimeScheduler.cpp:
208         (WebCore::SVGTimer::notifyAll):
209         * ksvg2/svg/SVGAnimateColorElement.cpp:
210         (WebCore::SVGAnimateColorElement::handleTimerEvent):
211         * ksvg2/svg/SVGAnimateTransformElement.cpp:
212         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
213         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
214         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
215         (WebCore::SVGAnimateTransformElement::parseTransformValue):
216         * ksvg2/svg/SVGAnimateTransformElement.h:
217         * ksvg2/svg/SVGAnimatedTemplate.h:
218         * ksvg2/svg/SVGAnimationElement.cpp:
219         (SVGAnimationElement::getSimpleDuration):
220         (SVGAnimationElement::parseMappedAttribute):
221         (SVGAnimationElement::setTargetAttribute):
222         * ksvg2/svg/SVGAnimationElement.h:
223         * ksvg2/svg/SVGClipPathElement.cpp:
224         (SVGClipPathElement::SVGClipPathElement):
225         (SVGClipPathElement::parseMappedAttribute):
226         (SVGClipPathElement::canvasResource):
227         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
228         (SVGComponentTransferFunctionElement::transferFunction):
229         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
230         (WebCore::SVGComponentTransferFunctionElement::):
231         * ksvg2/svg/SVGDocument.cpp:
232         (WebCore::SVGDocument::dispatchZoomEvent):
233         (WebCore::SVGDocument::dispatchScrollEvent):
234         * ksvg2/svg/SVGFEBlendElement.cpp:
235         (WebCore::SVGFEBlendElement::parseMappedAttribute):
236         (WebCore::SVGFEBlendElement::filterEffect):
237         * ksvg2/svg/SVGFEBlendElement.h:
238         (WebCore::SVGFEBlendElement::):
239         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
240         (SVGFEColorMatrixElement::parseMappedAttribute):
241         (SVGFEColorMatrixElement::filterEffect):
242         * ksvg2/svg/SVGFEColorMatrixElement.h:
243         (WebCore::SVGFEColorMatrixElement::):
244         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
245         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
246         (WebCore::SVGFEComponentTransferElement::filterEffect):
247         * ksvg2/svg/SVGFEComponentTransferElement.h:
248         * ksvg2/svg/SVGFECompositeElement.cpp:
249         (SVGFECompositeElement::parseMappedAttribute):
250         (SVGFECompositeElement::filterEffect):
251         * ksvg2/svg/SVGFECompositeElement.h:
252         (WebCore::SVGFECompositeElement::):
253         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
254         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
255         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
256         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
257         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
258         (SVGFEDisplacementMapElement::parseMappedAttribute):
259         (SVGFEDisplacementMapElement::filterEffect):
260         * ksvg2/svg/SVGFEDisplacementMapElement.h:
261         (WebCore::SVGFEDisplacementMapElement::):
262         * ksvg2/svg/SVGFEFloodElement.cpp:
263         (WebCore::SVGFEFloodElement::parseMappedAttribute):
264         (WebCore::SVGFEFloodElement::filterEffect):
265         * ksvg2/svg/SVGFEFloodElement.h:
266         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
267         (SVGFEGaussianBlurElement::parseMappedAttribute):
268         (SVGFEGaussianBlurElement::filterEffect):
269         * ksvg2/svg/SVGFEGaussianBlurElement.h:
270         * ksvg2/svg/SVGFEMergeElement.cpp:
271         (SVGFEMergeElement::filterEffect):
272         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
273         (SVGFEMergeNodeElement::parseMappedAttribute):
274         * ksvg2/svg/SVGFEMergeNodeElement.h:
275         * ksvg2/svg/SVGFEOffsetElement.cpp:
276         (SVGFEOffsetElement::parseMappedAttribute):
277         (SVGFEOffsetElement::filterEffect):
278         * ksvg2/svg/SVGFEOffsetElement.h:
279         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
280         (SVGFESpecularLightingElement::parseMappedAttribute):
281         (SVGFESpecularLightingElement::filterEffect):
282         * ksvg2/svg/SVGFESpecularLightingElement.h:
283         * ksvg2/svg/SVGFETileElement.cpp:
284         (WebCore::SVGFETileElement::parseMappedAttribute):
285         (WebCore::SVGFETileElement::filterEffect):
286         * ksvg2/svg/SVGFETileElement.h:
287         * ksvg2/svg/SVGFETurbulenceElement.h:
288         (WebCore::SVGFETurbulenceElement::):
289         * ksvg2/svg/SVGFilterElement.cpp:
290         (SVGFilterElement::SVGFilterElement):
291         (SVGFilterElement::parseMappedAttribute):
292         (SVGFilterElement::canvasResource):
293         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
294         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
295         * ksvg2/svg/SVGGradientElement.cpp:
296         (SVGGradientElement::SVGGradientElement):
297         (SVGGradientElement::parseMappedAttribute):
298         * ksvg2/svg/SVGGradientElement.h:
299         (WebCore::SVGGradientElement::):
300         * ksvg2/svg/SVGHelper.cpp:
301         (WebCore::SVGHelper::ParseSeperatedList):
302         * ksvg2/svg/SVGLengthList.cpp:
303         (WebCore::SVGLengthList::parse):
304         * ksvg2/svg/SVGLinearGradientElement.cpp:
305         (SVGLinearGradientElement::buildGradient):
306         * ksvg2/svg/SVGList.h:
307         (WebCore::SVGListBase::clear):
308         (WebCore::SVGListBase::initialize):
309         (WebCore::SVGListBase::getItem):
310         (WebCore::SVGListBase::insertItemBefore):
311         (WebCore::SVGListBase::replaceItem):
312         (WebCore::SVGListBase::removeItem):
313         (WebCore::SVGListBase::appendItem):
314         * ksvg2/svg/SVGLocatable.cpp:
315         * ksvg2/svg/SVGLocatable.h:
316         * ksvg2/svg/SVGMarkerElement.h:
317         (WebCore::SVGMarkerElement::):
318         * ksvg2/svg/SVGNumberList.cpp:
319         (SVGNumberList::parse):
320         * ksvg2/svg/SVGPaint.cpp:
321         (WebCore::SVGPaint::SVGPaint):
322         (WebCore::SVGPaint::uri):
323         (WebCore::SVGPaint::setUri):
324         (WebCore::SVGPaint::setPaint):
325         * ksvg2/svg/SVGPaint.h:
326         (WebCore::SVGPaint::):
327         * ksvg2/svg/SVGPathElement.cpp:
328         (WebCore::SVGPathElement::svgMoveTo):
329         (WebCore::SVGPathElement::svgLineTo):
330         (WebCore::SVGPathElement::svgLineToHorizontal):
331         (WebCore::SVGPathElement::svgLineToVertical):
332         (WebCore::SVGPathElement::svgCurveToCubic):
333         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
334         (WebCore::SVGPathElement::svgCurveToQuadratic):
335         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
336         (WebCore::SVGPathElement::svgArcTo):
337         (WebCore::SVGPathElement::svgClosePath):
338         (WebCore::SVGPathElement::parseMappedAttribute):
339         (WebCore::SVGPathElement::toPathData):
340         * ksvg2/svg/SVGPatternElement.cpp:
341         (WebCore::SVGPatternElement::SVGPatternElement):
342         (WebCore::SVGPatternElement::parseMappedAttribute):
343         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
344         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
345         * ksvg2/svg/SVGPolyElement.cpp:
346         (SVGPolyElement::parseMappedAttribute):
347         (SVGPolyElement::svgPolyTo):
348         (SVGPolyElement::notifyAttributeChange):
349         * ksvg2/svg/SVGPolygonElement.cpp:
350         (SVGPolygonElement::toPathData):
351         * ksvg2/svg/SVGPolylineElement.cpp:
352         (SVGPolylineElement::toPathData):
353         * ksvg2/svg/SVGRadialGradientElement.cpp:
354         (WebCore::SVGRadialGradientElement::buildGradient):
355         * ksvg2/svg/SVGRenderingIntent.h: Added.
356         (WebCore::SVGRenderingIntent::):
357         (WebCore::SVGRenderingIntent::SVGRenderingIntent):
358         (WebCore::SVGRenderingIntent::~SVGRenderingIntent):
359         * ksvg2/svg/SVGSVGElement.h:
360         (WebCore::SVGSVGElement::):
361         * ksvg2/svg/SVGScriptElement.cpp:
362         (WebCore::SVGScriptElement::type):
363         (WebCore::SVGScriptElement::setType):
364         (WebCore::SVGScriptElement::parseMappedAttribute):
365         * ksvg2/svg/SVGScriptElement.h:
366         * ksvg2/svg/SVGStringList.cpp:
367         (WebCore::SVGStringList::reset):
368         * ksvg2/svg/SVGStyledLocatableElement.cpp:
369         (SVGStyledLocatableElement::getTransformToElement):
370         * ksvg2/svg/SVGStyledLocatableElement.h:
371         * ksvg2/svg/SVGStyledTransformableElement.cpp:
372         (SVGStyledTransformableElement::parseMappedAttribute):
373         (SVGStyledTransformableElement::getTransformToElement):
374         * ksvg2/svg/SVGStyledTransformableElement.h:
375         * ksvg2/svg/SVGTests.cpp:
376         (WebCore::SVGTests::hasExtension):
377         (WebCore::SVGTests::isValid):
378         * ksvg2/svg/SVGTests.h:
379         * ksvg2/svg/SVGTextContentElement.cpp:
380         (SVGTextContentElement::getSubStringLength):
381         (SVGTextContentElement::getStartPositionOfChar):
382         (SVGTextContentElement::getEndPositionOfChar):
383         (SVGTextContentElement::getExtentOfChar):
384         (SVGTextContentElement::getRotationOfChar):
385         (SVGTextContentElement::selectSubString):
386         * ksvg2/svg/SVGTextContentElement.h:
387         (WebCore::SVGTextContentElement::):
388         * ksvg2/svg/SVGTextElement.cpp:
389         (WebCore::SVGTextElement::parseMappedAttribute):
390         * ksvg2/svg/SVGTextElement.h:
391         (WebCore::SVGTextElement::getTransformToElement):
392         * ksvg2/svg/SVGTransform.h:
393         * ksvg2/svg/SVGTransformList.cpp:
394         (SVGTransformList::consolidate):
395         (SVGTransformList::concatenate):
396         * ksvg2/svg/SVGTransformable.cpp:
397         (SVGTransformable::parseTransformAttribute):
398         * ksvg2/svg/SVGUnitTypes.h: Added.
399         (WebCore::SVGUnitTypes::):
400         (WebCore::SVGUnitTypes::SVGUnitTypes):
401         (WebCore::SVGUnitTypes::~SVGUnitTypes):
402         * ksvg2/svg/SVGUseElement.cpp:
403         (SVGUseElement::closeRenderer):
404         * ksvg2/svg/SVGViewElement.h:
405         (WebCore::SVGViewElement::):
406         * ksvg2/svg/SVGZoomAndPan.cpp:
407         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
408         (WebCore::SVGZoomAndPan::parseMappedAttribute):
409
410 2006-09-12  John Sullivan  <sullivan@apple.com>
411
412         Reviewed by Adele Peterson.
413
414         * bridge/mac/FrameMac.mm:
415         (WebCore::FrameMac::doTextFieldCommandFromEvent):
416         Don't call textField:doCommandBySelector: with a nil selector. This was indirectly causing a
417         (valid) assertion failure in some Safari code.
418
419 2006-09-12  David Harrison  <harrison@apple.com>
420
421         Reviewed by John Sullivan.
422
423         <rdar://problem/4717841> Setting AXFocused to true does not activate the insertion point in text field
424
425         * bridge/mac/WebCoreAXObject.mm:
426         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
427         For AXFocus, use focus() if the node is an element, so that selection is set.
428         Matches tabbing behavior in text fields and text areas.
429
430 2006-09-12  Adam Roben  <aroben@apple.com>
431
432         Reviewed by adele.
433
434         Make uploading work with the new file upload control.
435
436         * css/html4.css: Remove unnecessary style (this is already done in
437         RenderFileUpload.cpp)
438         * html/HTMLInputElement.cpp: Don't get the button text from the value
439         attribute for file controls.
440         (WebCore::HTMLInputElement::valueWithDefault):
441         * platform/mac/FileChooserMac.mm: Call
442         RenderFileUploadControl::valueChanged when the user selects a file.
443         (WebCore::FileChooser::chooseFile):
444         * rendering/RenderFileUploadControl.cpp: Add valueChanged() method to
445         update the form and fire the onChange event.
446         (WebCore::RenderFileUploadControl::valueChanged):
447         (WebCore::RenderFileUploadControl::updateFromElement):
448         * rendering/RenderFileUploadControl.h: Add valueChanged() declaration.
449
450 2006-09-12  Adam Roben  <aroben@apple.com>
451
452         Adding rules to html4.css to style the button in file upload controls.
453
454         * css/html4.css:
455
456 2006-09-12  Adam Roben  <aroben@apple.com>
457
458         Reviewed many times by darin, hyatt.
459
460         Switch to new engine-based implementation of <input type="file">
461
462         * WebCore.exp: Remove obsolete symbol WebCoreFileButton
463         * WebCore.xcodeproj/project.pbxproj: Remove files for old widget-based
464         control, add files for new engine-based control
465         * css/CSSSelector.cpp: Add support for new
466         '-webkit-file-upload-button' pseudo element
467         (WebCore::CSSSelector::extractPseudoType):
468         * css/CSSSelector.h: Ditto.
469         (WebCore::CSSSelector::):
470         * css/cssstyleselector.cpp: Ditto.
471         (WebCore::CSSStyleSelector::checkOneSelector):
472         * html/HTMLInputElement.cpp: Send click events to new control
473         (WebCore::HTMLInputElement::select):
474         (WebCore::HTMLInputElement::click):
475         (WebCore::HTMLInputElement::createRenderer):
476         (WebCore::HTMLInputElement::valueWithDefault):
477         (WebCore::HTMLInputElement::defaultEventHandler):
478         * html/HTMLTextFieldInnerElement.h: Add 'virtual' keyword
479         (WebCore::HTMLTextFieldInnerElement::shadowParentNode):
480         * platform/FileButton.h: Removed.
481         * platform/FileChooser.h: Added. This is the replacement for
482         FileButton.h
483         (WebCore::FileChooser::filename):
484         (WebCore::FileChooser::icon):
485         (WebCore::FileChooser::uploadControl):
486         (WebCore::FileChooser::document):
487         * platform/Icon.h: Added new platform-specific class representing a
488         file icon.
489         * platform/LocalizedStrings.h:
490         * platform/mac/FileButtonMac.mm: Removed.
491         * platform/mac/FileChooserMac.mm: Added. This is the replacement for
492         FileButtonMac.mm
493         (-[OpenPanelController initWithFileChooser:]):
494         (-[OpenPanelController fileChooserDetachingSoon]):
495         (-[OpenPanelController beginSheet]):
496         (-[OpenPanelController chooseFilename:]):
497         (-[OpenPanelController cancel]):
498         (WebCore::FileChooser::FileChooser):
499         (WebCore::FileChooser::~FileChooser):
500         (WebCore::FileChooser::openFileChooser):
501         (WebCore::FileChooser::basenameForWidth):
502         (WebCore::FileChooser::uploadControlDetaching):
503         (WebCore::FileChooser::chooseFile):
504         * platform/mac/IconMac.mm: Added.
505         (WebCore::Icon::Icon):
506         (WebCore::Icon::~Icon):
507         (WebCore::Icon::newIconForFile):
508         (WebCore::Icon::paint):
509         * platform/mac/LocalizedStringsMac.mm: Call across bridge to get
510         localized strings.
511         (WebCore::fileButtonChooseFileLabel):
512         (WebCore::fileButtonNoFileSelectedLabel):
513         * rendering/RenderButton.cpp: Extract method setText() from
514         updateFromElement.
515         (WebCore::RenderButton::updateFromElement):
516         (WebCore::RenderButton::setText):
517         * rendering/RenderButton.h: Add declaration for new setText method.
518         * rendering/RenderFileButton.cpp: Removed.
519         * rendering/RenderFileButton.h: Removed.
520         * rendering/RenderFileUploadControl.cpp: Added. This is the
521         replacement for RenderFileButton.cpp.
522         (WebCore::RenderFileUploadInnerFileBox::renderName):
523         (WebCore::HTMLFileUploadInnerButtonElement::isShadowNode):
524         (WebCore::HTMLFileUploadInnerButtonElement::shadowParentNode):
525         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
526         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
527         (WebCore::RenderFileUploadControl::setStyle):
528         (WebCore::RenderFileUploadControl::updateIconAndFilename):
529         (WebCore::RenderFileUploadControl::click):
530         (WebCore::RenderFileUploadControl::updateFromElement):
531         (WebCore::RenderFileUploadControl::maxFilenameWidth):
532         (WebCore::RenderFileUploadControl::createButtonStyle):
533         (WebCore::RenderFileUploadControl::paintObject):
534         (WebCore::RenderFileUploadInnerFileBox::RenderFileUploadInnerFileBox):
535         (WebCore::RenderFileUploadInnerFileBox::setStyle):
536         (WebCore::RenderFileUploadInnerFileBox::layout):
537         (WebCore::RenderFileUploadInnerFileBox::setHasIcon):
538         (WebCore::RenderFileUploadInnerFileBox::setFilename):
539         (WebCore::RenderFileUploadInnerFileBox::calcMinMaxWidth):
540         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
541         (WebCore::HTMLFileUploadInnerButtonElement::createRenderer):
542         * rendering/RenderFileUploadControl.h: Added. This is the replacement
543         for RenderFileButton.h.
544         (WebCore::RenderFileUploadControl::renderName):
545         * rendering/RenderStyle.cpp: Add support for
546         -webkit-file-upload-button pseudo element.
547         (WebCore::):
548         (WebCore::pseudoBit):
549         * rendering/RenderStyle.h: Ditto.
550         (WebCore::RenderStyle::):
551
552 2006-09-12  Anders Carlsson  <acarlsson@apple.com>
553
554         Reviewed by John Sullivan.
555
556         Do the plugin object cleanup in Frame::clear instead of setView.
557         
558         * bridge/mac/FrameMac.h:
559         * bridge/mac/FrameMac.mm:
560         (WebCore::FrameMac::setView):
561         (WebCore::FrameMac::cleanupPluginObjects):
562         * page/Frame.cpp:
563         (WebCore::Frame::clear):
564         * page/Frame.h:
565
566 2006-09-12  MorganL  <morlmor@yahoo.com>
567
568         Reviewed/landed by aroben.
569
570         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10822
571         windows build is busted
572
573         * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing
574         JSRangeException.{cpp,h} to project
575
576 2006-09-12  David Hyatt  <hyatt@apple.com>
577
578         Fix fieldsets so that they properly expand to enclose overhanging floats
579         when the fieldset has auto height.  This is a nifty undocumented behavior
580         of the fieldset element.  The bug is 3898.
581
582         Reviewed by mjs
583
584         Added fast/forms/fieldset-with-float.html
585
586         * rendering/RenderBlock.cpp:
587         (WebCore::RenderBlock::layoutBlock):
588         * rendering/RenderFieldset.h:
589         (WebCore::RenderFieldset::renderName):
590         (WebCore::RenderFieldset::expandsToEncloseOverhangingFloats):
591         * rendering/RenderObject.h:
592         (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
593         * rendering/RenderTableCell.h:
594         (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats):
595
596 2006-09-11  Eric Seidel  <eric@eseidel.com>
597
598         Reviewed by hyatt.
599         
600         REGRESSION: When dragging a link on a page, the selected link doesn't display it's name or URL
601         http://bugzilla.opendarwin.org/show_bug.cgi?id=10819
602         http://bugzilla.opendarwin.org/show_bug.cgi?id=10814
603
604         No test cases were harmed in the coding of the patch.
605
606         * platform/mac/WebCoreTextRenderer.mm:
607         (WebCoreDrawTextAtPoint):
608
609 2006-09-11  David Hyatt  <hyatt@apple.com>
610
611         Fix for bug 8126, column widths apply to the border boxes of cells.
612
613         Reviewed by aroben
614
615         * rendering/RenderTableCell.cpp:
616         (WebCore::RenderTableCell::styleOrColWidth):
617
618 2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
619
620         Reviewed by Adele.
621
622         Fix Qt/Linux build.
623
624         * CMakeLists.txt: Add dom/RangeException.idl to build & fix feature defines.
625
626 2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
627
628         Reviewed by eseidel.  Landed by eseidel.
629
630         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10750
631
632         This finally fixes the SVGAnimated* classes JS bindings!
633
634         - Move all SVGAnimated*.idl files from ksvg2/bindings/idl/svg to ksvg2/svg
635         - Adjust XCode/Qt build files to generate the new idl files
636
637         - Remove all SVGAnimated* primitives cpp implementations (Angle/Boolean/Color/Enumeration/Integer/Length/
638                                                                   LengthList/Number/NumberList/PreserveAspectRatio/
639                                                                   Rect/String/TransformList)
640
641         - Remove unneeded methods from CodeGenerator.pm and add new helper function: IsSVGAnimatedType
642         - Adjust CodeGeneratorJS.pm to the new SVGAnimated* tear-off concept
643
644         - Add two new macros: ANIMATED_PROPERTY_EMPTY_DECLARATIONS / ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
645           This is used to fix multiple-inheritance issues in SVG with properties,
646           similar like SVGTests::isValid() was fixed.
647
648         - Rewrote SVGList using WTF::Vector, instead of DeprecatedPtrList and killed DOMList.
649           (SVGAnimated*Lists work again now)
650
651         - Adjust macros in SVGElement to create the "*Animated" tear-off classes.
652
653         - Adjust all SVG classes which use the ANIMATED macros to include the ClassName as first param in the header.
654
655         * CMakeLists.txt:
656         * DerivedSources.make:
657         * WebCore.xcodeproj/project.pbxproj:
658         * bindings/scripts/CodeGenerator.pm:
659         * bindings/scripts/CodeGeneratorJS.pm:
660         * kcanvas/RenderSVGImage.cpp:
661         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
662         (WebCore::RenderSVGImage::paint):
663         * kcanvas/RenderSVGText.cpp:
664         (WebCore::RenderSVGText::translationForAttributes):
665         * ksvg2/ksvg.h:
666         * ksvg2/misc/SVGDocumentExtensions.h:
667         (WebCore::FloatRect):
668         * ksvg2/svg/SVGAElement.h:
669         * ksvg2/svg/SVGAnimateColorElement.cpp:
670         * ksvg2/svg/SVGAnimateColorElement.h:
671         * ksvg2/svg/SVGAnimateTransformElement.h:
672         * ksvg2/svg/SVGAnimatedTemplate.h:
673         (WebCore::SVGAnimatedTemplate::~SVGAnimatedTemplate):
674         * ksvg2/svg/SVGAnimationElement.h:
675         * ksvg2/svg/SVGCircleElement.h:
676         * ksvg2/svg/SVGClipPathElement.h:
677         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
678         (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
679         (SVGComponentTransferFunctionElement::transferFunction):
680         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
681         * ksvg2/svg/SVGCursorElement.h:
682         * ksvg2/svg/SVGDefsElement.h:
683         * ksvg2/svg/SVGElement.h:
684         * ksvg2/svg/SVGElementInstanceList.cpp:
685         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
686         * ksvg2/svg/SVGElementInstanceList.h:
687         * ksvg2/svg/SVGEllipseElement.h:
688         * ksvg2/svg/SVGExternalResourcesRequired.h:
689         * ksvg2/svg/SVGFEBlendElement.h:
690         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
691         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
692         (SVGFEColorMatrixElement::parseMappedAttribute):
693         (SVGFEColorMatrixElement::filterEffect):
694         * ksvg2/svg/SVGFEColorMatrixElement.h:
695         * ksvg2/svg/SVGFEComponentTransferElement.h:
696         * ksvg2/svg/SVGFECompositeElement.h:
697         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
698         * ksvg2/svg/SVGFEDisplacementMapElement.h:
699         * ksvg2/svg/SVGFEFloodElement.h:
700         * ksvg2/svg/SVGFEGaussianBlurElement.h:
701         * ksvg2/svg/SVGFEImageElement.h:
702         * ksvg2/svg/SVGFELightElement.h:
703         * ksvg2/svg/SVGFEMergeNodeElement.h:
704         * ksvg2/svg/SVGFEOffsetElement.h:
705         * ksvg2/svg/SVGFESpecularLightingElement.h:
706         * ksvg2/svg/SVGFETileElement.h:
707         * ksvg2/svg/SVGFETurbulenceElement.h:
708         * ksvg2/svg/SVGFilterElement.h:
709         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
710         * ksvg2/svg/SVGFitToViewBox.cpp:
711         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
712         (WebCore::SVGFitToViewBox::parseViewBox):
713         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
714         * ksvg2/svg/SVGFitToViewBox.h:
715         * ksvg2/svg/SVGForeignObjectElement.h:
716         * ksvg2/svg/SVGGElement.h:
717         * ksvg2/svg/SVGGradientElement.cpp:
718         (SVGGradientElement::SVGGradientElement):
719         * ksvg2/svg/SVGGradientElement.h:
720         * ksvg2/svg/SVGHelper.cpp:
721         (WebCore::SVGHelper::PercentageOfViewport):
722         * ksvg2/svg/SVGImageElement.h:
723         * ksvg2/svg/SVGLength.cpp:
724         * ksvg2/svg/SVGLengthList.cpp:
725         (WebCore::SVGLengthList::SVGLengthList):
726         (WebCore::SVGLengthList::parse):
727         * ksvg2/svg/SVGLengthList.h:
728         * ksvg2/svg/SVGLineElement.h:
729         * ksvg2/svg/SVGLinearGradientElement.h:
730         * ksvg2/svg/SVGList.h:
731         (WebCore::SVGListBase::SVGListBase):
732         (WebCore::SVGListBase::~SVGListBase):
733         (WebCore::SVGListBase::numberOfItems):
734         (WebCore::SVGListBase::clear):
735         (WebCore::SVGListBase::initialize):
736         (WebCore::SVGListBase::getFirst):
737         (WebCore::SVGListBase::getLast):
738         (WebCore::SVGListBase::getItem):
739         (WebCore::SVGListBase::insertItemBefore):
740         (WebCore::SVGListBase::replaceItem):
741         (WebCore::SVGListBase::removeItem):
742         (WebCore::SVGListBase::appendItem):
743         (WebCore::SVGList::nullItem):
744         (WebCore::):
745         * ksvg2/svg/SVGLocatable.cpp:
746         * ksvg2/svg/SVGMarkerElement.h:
747         * ksvg2/svg/SVGMaskElement.h:
748         * ksvg2/svg/SVGNumberList.cpp:
749         (SVGNumberList::SVGNumberList):
750         (SVGNumberList::parse):
751         * ksvg2/svg/SVGNumberList.h:
752         * ksvg2/svg/SVGPathElement.cpp:
753         (WebCore::SVGPathElement::pathSegList):
754         * ksvg2/svg/SVGPathElement.h:
755         * ksvg2/svg/SVGPathSegList.cpp:
756         (WebCore::SVGPathSegList::SVGPathSegList):
757         * ksvg2/svg/SVGPathSegList.h:
758         * ksvg2/svg/SVGPatternElement.cpp:
759         (WebCore::SVGPatternElement::SVGPatternElement):
760         * ksvg2/svg/SVGPatternElement.h:
761         * ksvg2/svg/SVGPointList.cpp:
762         (SVGPointList::SVGPointList):
763         * ksvg2/svg/SVGPointList.h:
764         * ksvg2/svg/SVGPolyElement.cpp:
765         (SVGPolyElement::points):
766         (SVGPolyElement::svgPolyTo):
767         (SVGPolyElement::notifyAttributeChange):
768         * ksvg2/svg/SVGPolyElement.h:
769         * ksvg2/svg/SVGPolygonElement.cpp:
770         (SVGPolygonElement::toPathData):
771         * ksvg2/svg/SVGPolylineElement.cpp:
772         (SVGPolylineElement::toPathData):
773         * ksvg2/svg/SVGPreserveAspectRatio.h:
774         (WebCore::SVGPreserveAspectRatio::):
775         * ksvg2/svg/SVGRadialGradientElement.h:
776         * ksvg2/svg/SVGRectElement.h:
777         * ksvg2/svg/SVGSVGElement.cpp:
778         (WebCore::SVGSVGElement::SVGSVGElement):
779         (WebCore::SVGSVGElement::parseMappedAttribute):
780         (WebCore::SVGSVGElement::createRenderer):
781         * ksvg2/svg/SVGSVGElement.h:
782         * ksvg2/svg/SVGScriptElement.h:
783         * ksvg2/svg/SVGStopElement.h:
784         * ksvg2/svg/SVGStringList.cpp:
785         (WebCore::SVGStringList::SVGStringList):
786         (WebCore::SVGStringList::reset):
787         * ksvg2/svg/SVGStringList.h:
788         * ksvg2/svg/SVGStyledElement.h:
789         * ksvg2/svg/SVGStyledLocatableElement.cpp:
790         * ksvg2/svg/SVGStyledTransformableElement.cpp:
791         (SVGStyledTransformableElement::SVGStyledTransformableElement):
792         * ksvg2/svg/SVGStyledTransformableElement.h:
793         * ksvg2/svg/SVGSwitchElement.h:
794         * ksvg2/svg/SVGSymbolElement.h:
795         * ksvg2/svg/SVGTRefElement.h:
796         * ksvg2/svg/SVGTests.cpp:
797         (WebCore::SVGTests::isValid):
798         * ksvg2/svg/SVGTextContentElement.h:
799         * ksvg2/svg/SVGTextElement.cpp:
800         (WebCore::SVGTextElement::SVGTextElement):
801         * ksvg2/svg/SVGTextElement.h:
802         * ksvg2/svg/SVGTextPositioningElement.cpp:
803         (SVGTextPositioningElement::SVGTextPositioningElement):
804         (SVGTextPositioningElement::parseMappedAttribute):
805         * ksvg2/svg/SVGTextPositioningElement.h:
806         * ksvg2/svg/SVGTransformList.cpp:
807         (SVGTransformList::SVGTransformList):
808         (SVGTransformList::createSVGTransformFromMatrix):
809         (SVGTransformList::consolidate):
810         (SVGTransformList::concatenate):
811         * ksvg2/svg/SVGTransformList.h:
812         * ksvg2/svg/SVGURIReference.h:
813         * ksvg2/svg/SVGUseElement.h:
814         * ksvg2/svg/SVGViewElement.h:
815
816 2006-09-11  Adam Roben  <aroben@apple.com>
817
818         Rubberstamped by Adele.
819
820         Rename LocalGraphicsContext.{h,mm} to
821         LocalCurrentGraphicsContext.{h,mm} to match the class name.
822
823         * WebCore.xcodeproj/project.pbxproj:
824         * platform/mac/LocalCurrentGraphicsContext.mm: Added.
825         * platform/mac/LocalCurrentGraphicsContext.h: Added.
826         * platform/mac/LocalGraphicsContext.h: Removed.
827         * platform/mac/LocalGraphicsContext.mm: Removed.
828         * rendering/RenderThemeMac.mm: Fix #include to match renamed file
829
830 2006-09-11  Brady Eidson  <beidson@apple.com>
831
832         Build fix
833
834         * WebCore.xcodeproj/project.pbxproj:
835
836 2006-09-11  Kevin McCullough  <KMcCullough@apple.com>
837
838         Reviewed by Darin. 
839
840         - Implements comparePoint on the Range class
841
842         - Exposes RangeExceptions in JavaScript
843
844         * DerivedSources.make:
845         * WebCore.xcodeproj/project.pbxproj:
846         * bindings/js/kjs_binding.cpp:
847         * bindings/objc/DOMInternal.mm:
848         * dom/Range.cpp:
849         (WebCore::Range::comparePoint):
850         (WebCore::Range::compareNode):
851         * dom/Range.h:
852         (WebCore::Range::):
853         * dom/Range.idl:
854         * dom/RangeException.h: Added.
855         (WebCore::):
856         * dom/RangeException.idl: Added.
857         * page/DOMWindow.idl:
858
859 2006-09-11  Adam Roben  <aroben@apple.com>
860
861         Reviewed by timo.
862
863         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10812
864         Move LocalGraphicsContext out of RenderThemeMac
865
866         * WebCore.xcodeproj/project.pbxproj:
867         * platform/mac/LocalGraphicsContext.h: Added.
868         * platform/mac/LocalGraphicsContext.mm: Added.
869         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
870         (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
871         * rendering/RenderThemeMac.mm:
872
873 2006-09-11  Vladimir Olexa  <vladimir.olexa@gmail.com>
874
875         Reviewed by Darin.
876
877         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10323
878           REGRESSION: javascript: URL containing '\\' gets passed as '//'
879
880         Test: fast/dom/javascript-backslash.html
881
882         * platform/KURL.cpp: (WebCore::KURL::init): Don't do backslash
883         substitution in JavaScript URLs.
884
885 2006-09-11  Sam Weinig  <sam.weinig@gmail.com>
886
887         Reviewed by Darin and Tim H.
888
889         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10792
890         Remove the [Exclude=LANGUAGE] idiom from IDL's and code generators 
891         for something better
892
893         - Replaces [Exclude=LANGUAGE] idiom with preprocessor #if defined(LANGUAGE)
894           idiom.
895
896         - Assorted whitespace changes to IDL files.
897
898         * DerivedSources.make:
899         * WebCore.xcodeproj/project.pbxproj:
900         * bindings/objc/DOMEvents.h:
901         * bindings/scripts/CodeGenerator.pm:
902         * bindings/scripts/CodeGeneratorJS.pm:
903         * bindings/scripts/CodeGeneratorObjC.pm:
904         * css/CSSRule.idl:
905         * css/CSSStyleDeclaration.idl:
906         * css/CSSValue.idl:
907         * dom/DOMImplementation.idl:
908         * dom/Document.idl:
909         * dom/Element.idl:
910         * dom/Event.idl:
911         * dom/KeyboardEvent.idl:
912         * dom/MouseEvent.idl:
913         * dom/NamedNodeMap.idl:
914         * dom/NodeFilter.idl:
915         * dom/UIEvent.idl:
916         * dom/WheelEvent.idl:
917         * html/HTMLAnchorElement.idl:
918         * html/HTMLAreaElement.idl:
919         * html/HTMLDocument.idl:
920         * html/HTMLElement.idl:
921         * html/HTMLImageElement.idl:
922         * html/HTMLInputElement.idl:
923         * html/HTMLLinkElement.idl:
924         * html/HTMLOptionsCollection.idl:
925
926 2006-09-11  David Hyatt  <hyatt@apple.com>
927
928         Fix an unwitting victim of the kMin->min change.  calcBlockMinMaxWidth
929         was accidentally renamed to calcBlominMaxWidth.
930
931         * rendering/RenderBlock.cpp:
932         (WebCore::RenderBlock::calcMinMaxWidth):
933         (WebCore::RenderBlock::calcBlockMinMaxWidth):
934         * rendering/RenderBlock.h:
935
936 2006-09-10  David Hyatt  <hyatt@apple.com>
937
938         Rework the printer font stuff a little bit so that the Font API doesn't
939         have to be changed.
940
941         Reviewed by eseidel
942
943         * WebCore.xcodeproj/project.pbxproj:
944         * bridge/mac/WebCoreStringTruncator.mm:
945         (truncateString):
946         (+[WebCoreStringTruncator widthOfString:font:]):
947         * platform/Font.cpp:
948         (WebCore::Font::drawSimpleText):
949         * platform/Font.h:
950         * platform/TextStyle.h:
951         (WebCore::TextStyle::TextStyle):
952         (WebCore::TextStyle::attemptFontSubstitution):
953         (WebCore::TextStyle::setRTL):
954         * platform/mac/FontMac.mm:
955         (WebCore::m_wordSpacing):
956         (WebCore::Font::drawGlyphs):
957         * platform/mac/ListBoxMac.mm:
958         (itemTextRenderer):
959         (groupLabelTextRenderer):
960         (-[WebCoreTableView drawRow:clipRect:]):
961         * platform/mac/PopUpButtonMac.mm:
962         (PopUpButton::sizeHint):
963         * platform/mac/TextFieldMac.mm:
964         (-[NSSearchFieldCell _addStringToRecentSearches:]):
965         * platform/mac/WebCoreTextRenderer.mm:
966         (WebCoreDrawTextAtPoint):
967         (WebCoreTextFloatWidth):
968         * rendering/EllipsisBox.cpp:
969         (WebCore::EllipsisBox::paint):
970         * rendering/InlineTextBox.cpp:
971         (WebCore::InlineTextBox::paint):
972         * rendering/RenderImage.cpp:
973         (WebCore::RenderImage::paint):
974         * rendering/RenderListMarker.cpp:
975         (WebCore::RenderListMarker::paint):
976
977 2006-09-10  Brady Eidson  <beidson@apple.com>
978
979         Reviewed by Maciej
980
981         Small cleanups + future plans
982
983         * loader/icon/IconDatabase.cpp:
984         (WebCore::IconDatabase::open): path separator cleanup
985         * platform/Image.h: 
986      
987 2006-09-10  Brady Eidson  <beidson@apple.com>
988
989         Reviewed by Maciej
990
991         Added specialized HashTraits
992
993         * platform/IntSizeHash.h:
994
995 2006-09-10  Brady Eidson  <beidson@apple.com>
996
997         Forgetting header #define protection is BAAAAAD
998         (and re-alphabetized the project file)
999
1000         * WebCore.xcodeproj/project.pbxproj:
1001         * platform/IntSizeHash.h:
1002
1003 2006-09-10  Brady Eidson  <beidson@apple.com>
1004
1005         Reviewed by Maciej
1006
1007         Moved the custom IntSize hash out of IconDatabase into a more generally useful file
1008
1009         * WebCore.xcodeproj/project.pbxproj:
1010         * loader/icon/IconDatabase.h:
1011         * platform/IntSizeHash.h: Added.
1012
1013 2006-09-10  David Hyatt  <hyatt@apple.com>
1014
1015         Fix for bug 10801, form controls that get styled suddenly lose their
1016         intrinsic margins.  Move the intrinsic margin addition code into
1017         adjustRenderStyle and get it out of the theme code and the old form control
1018         code.
1019
1020         Reviewed by aroben
1021
1022         * css/cssstyleselector.cpp:
1023         (WebCore::addIntrinsicMargins):
1024         (WebCore::CSSStyleSelector::adjustRenderStyle):
1025         * css/html4.css:
1026         * rendering/DeprecatedRenderSelect.h:
1027         (WebCore::DeprecatedRenderSelect::calcReplacedHeight):
1028         * rendering/DeprecatedSlider.h:
1029         * rendering/RenderFormElement.cpp:
1030         (WebCore::RenderFormElement::setStyle):
1031         * rendering/RenderFormElement.h:
1032         * rendering/RenderLayer.cpp:
1033         (WebCore::RenderLayer::resize):
1034         * rendering/RenderThemeMac.h:
1035         * rendering/RenderThemeMac.mm:
1036         (WebCore::RenderThemeMac::adjustButtonStyle):
1037         (WebCore::RenderThemeMac::adjustTextFieldStyle):
1038         (WebCore::RenderThemeMac::adjustTextAreaStyle):
1039         (WebCore::RenderThemeMac::adjustMenuListStyle):
1040         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
1041         * rendering/RenderThemeWin.cpp:
1042         (WebCore::RenderThemeWin::adjustButtonStyle):
1043         (WebCore::RenderThemeWin::adjustTextFieldStyle):
1044         (WebCore::RenderThemeWin::adjustTextAreaStyle):
1045
1046 2006-09-10  Darin Adler  <darin@apple.com>
1047
1048         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=10547
1049
1050         * manual-tests/target-test.html: Added.
1051         * manual-tests/targeted.html: Added.
1052
1053 2006-09-10  Eric Seidel  <eric@eseidel.com>
1054
1055         Reviewed by darin.
1056         
1057         Remove a bunch more NSGraphicsContext related code.
1058         Add a LocalCurrentGraphicsContext to simplify methods which need to call up into AppKit controls (and thus depend on the [NSGraphicsContext currentContext] being set correctly)
1059         Add an "isPrinting" flag to many of the text drawing functions in order to avoid the need for a GraphicsContext::isPrinting() function.
1060
1061         No tests were harmed in the making of this patch.
1062
1063         * bridge/mac/WebCoreFrameBridge.mm:
1064         (-[WebCoreFrameBridge drawRect:]):
1065         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1066         (WebCore::KRenderingDeviceContextQuartz::cgContext):
1067         (WebCore::KRenderingDeviceQuartz::isBuffered):
1068         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1069         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
1070         (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
1071         * kcanvas/device/quartz/QuartzSupport.mm:
1072         * platform/Font.cpp:
1073         (WebCore::Font::drawSimpleText):
1074         (WebCore::Font::drawText):
1075         * platform/Font.h:
1076         * platform/GraphicsContext.cpp:
1077         (WebCore::GraphicsContext::drawText):
1078         * platform/GraphicsContext.h:
1079         * platform/mac/FileButtonMac.mm:
1080         (-[WebFileChooserButton drawRect:]):
1081         * platform/mac/FontMac.mm:
1082         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
1083         (WebCore::ATSULayoutParameters::initialize):
1084         (WebCore::Font::drawComplexText):
1085         (WebCore::Font::drawGlyphs):
1086         * platform/mac/GraphicsContextMac.mm:
1087         (WebCore::GraphicsContext::drawLineForMisspelling):
1088         * platform/mac/ListBoxMac.mm:
1089         (-[WebCoreTableView drawRow:clipRect:]):
1090         * platform/mac/WebCoreTextRenderer.mm:
1091         (WebCoreDrawTextAtPoint):
1092         * rendering/EllipsisBox.cpp:
1093         (WebCore::EllipsisBox::paint):
1094         * rendering/InlineTextBox.cpp:
1095         (WebCore::InlineTextBox::paint):
1096         * rendering/RenderImage.cpp:
1097         (WebCore::RenderImage::paint):
1098         * rendering/RenderListMarker.cpp:
1099         (WebCore::RenderListMarker::paint):
1100         * rendering/RenderThemeMac.mm:
1101         (WebCore::WebCoreNSGraphicsContextBridge::WebCoreNSGraphicsContextBridge):
1102         (WebCore::WebCoreNSGraphicsContextBridge::~WebCoreNSGraphicsContextBridge):
1103         (WebCore::RenderThemeMac::paintButton):
1104         (WebCore::RenderThemeMac::paintTextField):
1105         (WebCore::RenderThemeMac::paintTextArea):
1106
1107 2006-09-09  Steve Falkenburg  <sfalken@apple.com>
1108
1109         Reviewed by aroben.
1110
1111         Fixes to work with string API changes.
1112
1113         * platform/cf/ResourceLoaderCFNet.cpp:
1114         (WebCore::arrayFromFormData):
1115         (WebCore::ResourceLoader::start):
1116         * platform/cf/StringCF.cpp:
1117         * platform/cf/StringImplCF.cpp:
1118
1119 2006-09-09  David Hyatt  <hyatt@apple.com>
1120
1121         Fix for Bugzilla bug 5500, scrollLeft/Top/Width/Height properties not supported
1122         on textarea.  Refactored the DOM getters and setters to go through the renderer
1123         instead of right to the layer.  The renderer functions are virtual so that the
1124         text control can subclass and forward to its anonymous div.
1125
1126         Fix for Bugzilla bug 10719, When positioned objects are sizing using their
1127         containing block width as a guide, they should not ever use the line width like
1128         non-positioned objects do.
1129
1130         Reviewed by aroben
1131
1132         * WebCore.xcodeproj/project.pbxproj:
1133         * dom/Element.cpp:
1134         (WebCore::Element::scrollLeft):
1135         (WebCore::Element::scrollTop):
1136         (WebCore::Element::setScrollLeft):
1137         (WebCore::Element::setScrollTop):
1138         * rendering/RenderBox.cpp:
1139         (WebCore::RenderBox::containingBlockWidthForPositioned):
1140         * rendering/RenderObject.cpp:
1141         (WebCore::RenderObject::clientWidth):
1142         (WebCore::RenderObject::clientHeight):
1143         (WebCore::RenderObject::scrollWidth):
1144         (WebCore::RenderObject::scrollHeight):
1145         (WebCore::RenderObject::scrollLeft):
1146         (WebCore::RenderObject::scrollTop):
1147         (WebCore::RenderObject::setScrollLeft):
1148         (WebCore::RenderObject::setScrollTop):
1149         (WebCore::RenderObject::hasStaticX):
1150         (WebCore::RenderObject::hasStaticY):
1151         * rendering/RenderObject.h:
1152         (WebCore::RenderObject::clientLeft):
1153         (WebCore::RenderObject::clientTop):
1154         * rendering/RenderTextControl.cpp:
1155         (WebCore::RenderTextControl::scrollWidth):
1156         (WebCore::RenderTextControl::scrollHeight):
1157         (WebCore::RenderTextControl::scrollLeft):
1158         (WebCore::RenderTextControl::scrollTop):
1159         (WebCore::RenderTextControl::setScrollLeft):
1160         (WebCore::RenderTextControl::setScrollTop):
1161         * rendering/RenderTextControl.h:
1162
1163 2006-09-09  David Hyatt  <hyatt@apple.com>
1164
1165         Implement support for the WinIE clientLeft and clientTop extensions.
1166
1167         Reviewed by aroben
1168
1169         * dom/Element.cpp:
1170         (WebCore::Element::clientLeft):
1171         (WebCore::Element::clientTop):
1172         * dom/Element.h:
1173         * dom/Element.idl:
1174         * rendering/RenderObject.h:
1175         (WebCore::RenderObject::clientLeft):
1176         (WebCore::RenderObject::clientTop):
1177
1178 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
1179
1180         Reviewed by Eric.
1181
1182         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10795
1183         Auto-generate the Objective-C DOM XPath bindings
1184
1185         - Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult.
1186
1187         * DerivedSources.make:
1188         * WebCore.xcodeproj/project.pbxproj:
1189         * bindings/objc/DOMPrivate.h:
1190         * bindings/objc/DOMXPath.h:
1191         * bindings/objc/DOMXPath.mm:
1192         * bindings/objc/PublicDOMInterfaces.h:
1193         * xml/XPathExpression.idl:
1194         * xml/XPathNSResolver.idl:
1195         * xml/XPathResult.idl:
1196
1197 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
1198
1199         Reviewed by Eric.
1200
1201         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10791
1202         Even More Objective-C DOM auto-generation cleanup
1203
1204         - Auto-generate some remaining extension methods for DOMDocument
1205           and DOMCSSStyleDeclaration.
1206
1207         - Split DOMHTMLEmbedElement into it's own files.  It can't be
1208           auto-generated yet because the Objective-C interface is significantly
1209           different from the implementation interface.  Since HTMLEmbedElement
1210           is not in the W3C spec, this is somewhat of a gray area.
1211
1212         - Auto-generate DOMEventListener protocol.
1213
1214         - Clean up the IDL files by separating the extensions from the
1215           specified methods and attributes.
1216
1217         * DerivedSources.make:
1218         * WebCore.xcodeproj/project.pbxproj:
1219         * bindings/objc/DOM.mm:
1220         * bindings/objc/DOMCSS.mm:
1221         * bindings/objc/DOMEventListener.h: Removed.
1222         * bindings/objc/DOMExtensions.h:
1223         * bindings/objc/DOMHTML.h:
1224         * bindings/objc/DOMHTML.mm:
1225         * bindings/objc/DOMHTMLEmbedElement.h: Added.
1226         * bindings/objc/DOMHTMLEmbedElement.mm: Added.
1227         (-[DOMHTMLEmbedElement align]):
1228         (-[DOMHTMLEmbedElement setAlign:]):
1229         (-[DOMHTMLEmbedElement height]):
1230         (-[DOMHTMLEmbedElement setHeight:]):
1231         (-[DOMHTMLEmbedElement name]):
1232         (-[DOMHTMLEmbedElement setName:]):
1233         (-[DOMHTMLEmbedElement src]):
1234         (-[DOMHTMLEmbedElement setSrc:]):
1235         (-[DOMHTMLEmbedElement type]):
1236         (-[DOMHTMLEmbedElement setType:]):
1237         (-[DOMHTMLEmbedElement width]):
1238         (-[DOMHTMLEmbedElement setWidth:]):
1239         * bindings/objc/DOMPrivate.h:
1240         * bindings/objc/PublicDOMInterfaces.h:
1241         * css/CSSStyleDeclaration.idl:
1242         * dom/Document.idl:
1243         * dom/KeyboardEvent.h:
1244         * dom/KeyboardEvent.idl:
1245         * dom/MouseEvent.idl:
1246         * dom/MutationEvent.idl:
1247         * dom/OverflowEvent.idl:
1248         * dom/UIEvent.idl:
1249         * dom/WheelEvent.idl:
1250         * html/HTMLEmbedElement.idl: Added.
1251
1252 2006-09-09  Eric Seidel  <eric@eseidel.com>
1253
1254         Reviewed by Tim H.
1255         
1256         Remove DeprecatedString usage and fix style.
1257         http://bugzilla.opendarwin.org/show_bug.cgi?id=10787
1258
1259         No tests were harmed in the making of this patch.
1260
1261         * kcanvas/KCanvasFilters.cpp:
1262         (WebCore::KCanvasFilterEffect::in):
1263         (WebCore::KCanvasFilterEffect::setIn):
1264         (WebCore::KCanvasFilterEffect::result):
1265         (WebCore::KCanvasFilterEffect::setResult):
1266         (WebCore::KCanvasFEMerge::externalRepresentation):
1267         * kcanvas/KCanvasFilters.h:
1268         (WebCore::KCanvasFEBlend::in2):
1269         (WebCore::KCanvasFEBlend::setIn2):
1270         (WebCore::KCanvasFEComposite::in2):
1271         (WebCore::KCanvasFEComposite::setIn2):
1272         (WebCore::KCanvasFEDisplacementMap::in2):
1273         (WebCore::KCanvasFEDisplacementMap::setIn2):
1274         (WebCore::KCanvasFEMerge::mergeInputs):
1275         (WebCore::KCanvasFEMerge::setMergeInputs):
1276         * kcanvas/KCanvasResources.cpp:
1277         (WebCore::KCanvasResource::idInRegistry):
1278         (WebCore::KCanvasResource::setIdInRegistry):
1279         (WebCore::getResourceById):
1280         * kcanvas/KCanvasResources.h:
1281         * kcanvas/RenderPath.cpp:
1282         (WebCore::RenderPath::getAbsoluteRepaintRect):
1283         (WebCore::RenderPath::paint):
1284         (WebCore::RenderPath::drawMarkersIfNeeded):
1285         * kcanvas/RenderSVGContainer.cpp:
1286         (WebCore::RenderSVGContainer::paint):
1287         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
1288         * kcanvas/RenderSVGImage.cpp:
1289         (WebCore::RenderSVGImage::paint):
1290         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
1291         * kcanvas/RenderSVGText.cpp:
1292         (WebCore::RenderSVGText::paint):
1293         * kcanvas/device/KRenderingPaintServer.h:
1294         (WebCore::KRenderingPaintServer::idInRegistry):
1295         (WebCore::KRenderingPaintServer::setIdInRegistry):
1296         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1297         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1298         (WebCore::KCanvasFilterQuartz::imageForName):
1299         (WebCore::KCanvasFilterQuartz::setImageForName):
1300         (WebCore::KCanvasFEMergeQuartz::getCIFilter):
1301         * ksvg2/css/SVGCSSStyleSelector.cpp:
1302         (WebCore::CSSStyleSelector::applySVGProperty):
1303         * ksvg2/css/SVGRenderStyle.cpp:
1304         * ksvg2/css/SVGRenderStyle.h:
1305         * ksvg2/css/SVGRenderStyleDefs.h:
1306         * ksvg2/ecma/GlobalObject.cpp:
1307         (GlobalObject::get):
1308         * ksvg2/misc/KSVGTimeScheduler.cpp:
1309         (WebCore::SVGTimer::notifyAll):
1310         * ksvg2/svg/SVGDescElement.cpp:
1311         (WebCore::SVGDescElement::SVGDescElement):
1312         (WebCore::SVGDescElement::description):
1313         * ksvg2/svg/SVGDescElement.h:
1314         * ksvg2/svg/SVGFEBlendElement.cpp:
1315         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
1316         (WebCore::SVGFEBlendElement::filterEffect):
1317         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1318         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1319         (SVGFEColorMatrixElement::filterEffect):
1320         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1321         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1322         (WebCore::SVGFEComponentTransferElement::filterEffect):
1323         * ksvg2/svg/SVGFECompositeElement.cpp:
1324         (SVGFECompositeElement::SVGFECompositeElement):
1325         (SVGFECompositeElement::filterEffect):
1326         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1327         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1328         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1329         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1330         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1331         (SVGFEDisplacementMapElement::filterEffect):
1332         * ksvg2/svg/SVGFEFloodElement.cpp:
1333         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
1334         (WebCore::SVGFEFloodElement::filterEffect):
1335         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1336         (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
1337         (SVGFEGaussianBlurElement::filterEffect):
1338         * ksvg2/svg/SVGFELightElement.cpp:
1339         * ksvg2/svg/SVGFEMergeElement.cpp:
1340         (SVGFEMergeElement::filterEffect):
1341         * ksvg2/svg/SVGFEOffsetElement.cpp:
1342         (SVGFEOffsetElement::SVGFEOffsetElement):
1343         (SVGFEOffsetElement::filterEffect):
1344         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1345         (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1346         (SVGFESpecularLightingElement::filterEffect):
1347         * ksvg2/svg/SVGFETileElement.cpp:
1348         (WebCore::SVGFETileElement::SVGFETileElement):
1349         (WebCore::SVGFETileElement::filterEffect):
1350         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1351         (SVGFETurbulenceElement::SVGFETurbulenceElement):
1352         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1353         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1354         * ksvg2/svg/SVGFitToViewBox.cpp:
1355         (WebCore::SVGFitToViewBox::parseViewBox):
1356         (WebCore::SVGFitToViewBox::parseMappedAttribute):
1357         * ksvg2/svg/SVGFitToViewBox.h:
1358         * ksvg2/svg/SVGLinearGradientElement.cpp:
1359         (SVGLinearGradientElement::buildGradient):
1360         * ksvg2/svg/SVGPatternElement.cpp:
1361         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1362         (WebCore::SVGPatternElement::notifyAttributeChange):
1363         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1364         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1365         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
1366         (WebCore::SVGPreserveAspectRatio::getCTM):
1367         * ksvg2/svg/SVGPreserveAspectRatio.h:
1368         * ksvg2/svg/SVGRadialGradientElement.cpp:
1369         (WebCore::SVGRadialGradientElement::buildGradient):
1370         * ksvg2/svg/SVGStyleElement.cpp:
1371         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1372         * ksvg2/svg/SVGViewElement.cpp:
1373         (WebCore::SVGViewElement::SVGViewElement):
1374         (WebCore::SVGViewElement::parseMappedAttribute):
1375         * ksvg2/svg/SVGZoomAndPan.cpp:
1376         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
1377
1378 2006-09-08  Darin Adler  <darin@apple.com>
1379
1380         Reviewed by Tim H.
1381
1382         <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
1383         
1384         Fixes the quoting logic. The previous logic did not account for the
1385         CSS tokenizer's regex character range between * and ~ as valid in URL types.
1386
1387         * css/CSSPrimitiveValue.cpp:
1388         (WebCore::isCSSTokenizerURL):
1389
1390 2006-09-09  Alexey Proskuryakov  <ap@nypop.com>
1391
1392         Reviewed by Darin.
1393
1394         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10759
1395           fast/AppleScript/array.html test failing
1396
1397         * bridge/mac/WebCoreFrameBridge.mm:
1398         (aeDescFromJSValue): Convert integer values to typeSInt32 AE descriptors.
1399
1400 2006-09-08  Eric Seidel  <eric@eseidel.com>
1401
1402         Reviewed by darin.
1403
1404         Replace incorrect fooBaseValue() calls with foo() calls instead.
1405         http://bugzilla.opendarwin.org/show_bug.cgi?id=10746
1406         
1407         With the previously broken animation system, we had both base and anim values
1408         but they were not automatically connected/disconnected when animation started and stopped.
1409         So the animVals were basically never used (since they were always wrong).
1410         Now, animVal and baseVal are handled correctly.
1411         
1412         There are only 3 places in the code where we will ever need to use the BaseValue accessor variants.
1413         1. SVGAnimated* DOM bindings
1414         2. Animation Code
1415         3. parseMappedAttribute implementations
1416
1417         * kcanvas/RenderForeignObject.cpp:
1418         (WebCore::RenderForeignObject::translationForAttributes):
1419         * kcanvas/RenderSVGImage.cpp:
1420         (WebCore::RenderSVGImage::paint):
1421         (WebCore::RenderSVGImage::relativeBBox):
1422         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
1423         (WebCore::RenderSVGImage::translationForAttributes):
1424         * kcanvas/RenderSVGText.cpp:
1425         (WebCore::RenderSVGText::translationForAttributes):
1426         * ksvg2/misc/SVGImageLoader.cpp:
1427         (WebCore::SVGImageLoader::updateFromElement):
1428         * ksvg2/svg/SVGAElement.cpp:
1429         (WebCore::SVGAElement::defaultEventHandler):
1430         * ksvg2/svg/SVGCircleElement.cpp:
1431         (SVGCircleElement::parseMappedAttribute):
1432         (SVGCircleElement::toPathData):
1433         (SVGCircleElement::pushAttributeContext):
1434         (SVGCircleElement::hasPercentageValues):
1435         * ksvg2/svg/SVGClipPathElement.cpp:
1436         (SVGClipPathElement::canvasResource):
1437         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1438         (SVGComponentTransferFunctionElement::transferFunction):
1439         * ksvg2/svg/SVGCursorElement.cpp:
1440         (SVGCursorElement::parseMappedAttribute):
1441         * ksvg2/svg/SVGEllipseElement.cpp:
1442         (WebCore::SVGEllipseElement::parseMappedAttribute):
1443         (WebCore::SVGEllipseElement::toPathData):
1444         (WebCore::SVGEllipseElement::pushAttributeContext):
1445         (WebCore::SVGEllipseElement::hasPercentageValues):
1446         * ksvg2/svg/SVGFEBlendElement.cpp:
1447         (SVGFEBlendElement::filterEffect):
1448         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1449         (SVGFEColorMatrixElement::filterEffect):
1450         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1451         (SVGFEComponentTransferElement::filterEffect):
1452         * ksvg2/svg/SVGFECompositeElement.cpp:
1453         (SVGFECompositeElement::filterEffect):
1454         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1455         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1456         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1457         (SVGFEDisplacementMapElement::filterEffect):
1458         * ksvg2/svg/SVGFEDistantLightElement.cpp:
1459         (WebCore::SVGFEDistantLightElement::lightSource):
1460         * ksvg2/svg/SVGFEFloodElement.cpp:
1461         (SVGFEFloodElement::filterEffect):
1462         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1463         (SVGFEGaussianBlurElement::filterEffect):
1464         * ksvg2/svg/SVGFEImageElement.cpp:
1465         (SVGFEImageElement::parseMappedAttribute):
1466         * ksvg2/svg/SVGFEMergeElement.cpp:
1467         (SVGFEMergeElement::SVGFEMergeElement):
1468         (SVGFEMergeElement::filterEffect):
1469         * ksvg2/svg/SVGFEOffsetElement.cpp:
1470         (SVGFEOffsetElement::filterEffect):
1471         * ksvg2/svg/SVGFEPointLightElement.cpp:
1472         (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
1473         (WebCore::SVGFEPointLightElement::lightSource):
1474         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1475         (SVGFESpecularLightingElement::filterEffect):
1476         * ksvg2/svg/SVGFESpotLightElement.cpp:
1477         (WebCore::SVGFESpotLightElement::lightSource):
1478         * ksvg2/svg/SVGFETileElement.cpp:
1479         (SVGFETileElement::filterEffect):
1480         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1481         (SVGFETurbulenceElement::filterEffect):
1482         * ksvg2/svg/SVGFilterElement.cpp:
1483         (SVGFilterElement::canvasResource):
1484         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1485         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1486         * ksvg2/svg/SVGGradientElement.cpp:
1487         (SVGGradientElement::rebuildStops):
1488         * ksvg2/svg/SVGHelper.cpp:
1489         (WebCore::SVGHelper::PercentageOfViewport):
1490         * ksvg2/svg/SVGLineElement.cpp:
1491         (SVGLineElement::toPathData):
1492         (SVGLineElement::pushAttributeContext):
1493         (SVGLineElement::hasPercentageValues):
1494         * ksvg2/svg/SVGLinearGradientElement.cpp:
1495         (SVGLinearGradientElement::buildGradient):
1496         * ksvg2/svg/SVGMarkerElement.cpp:
1497         (WebCore::SVGMarkerElement::canvasResource):
1498         * ksvg2/svg/SVGMaskElement.cpp:
1499         (WebCore::SVGMaskElement::attributeChanged):
1500         (WebCore::SVGMaskElement::drawMaskerContent):
1501         * ksvg2/svg/SVGPatternElement.cpp:
1502         (WebCore::SVGPatternElement::pushAttributeContext):
1503         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1504         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1505         (WebCore::SVGPatternElement::notifyAttributeChange):
1506         (WebCore::SVGPatternElement::getCTM):
1507         * ksvg2/svg/SVGRadialGradientElement.cpp:
1508         (WebCore::SVGRadialGradientElement::buildGradient):
1509         * ksvg2/svg/SVGRectElement.cpp:
1510         (WebCore::SVGRectElement::toPathData):
1511         (WebCore::SVGRectElement::pushAttributeContext):
1512         (WebCore::SVGRectElement::hasPercentageValues):
1513         * ksvg2/svg/SVGSVGElement.cpp:
1514         (WebCore::SVGSVGElement::viewport):
1515         (WebCore::SVGSVGElement::parseMappedAttribute):
1516         (WebCore::SVGSVGElement::getCTM):
1517         (WebCore::SVGSVGElement::getScreenCTM):
1518         (WebCore::SVGSVGElement::createRenderer):
1519         * ksvg2/svg/SVGTRefElement.cpp:
1520         (SVGTRefElement::updateReferencedText):
1521         * ksvg2/svg/SVGUseElement.cpp:
1522         (SVGUseElement::closeRenderer):
1523
1524 2006-09-08  Eric Seidel  <eric@eseidel.com>
1525
1526         Reviewed by beth.
1527
1528         Remove the last vestiges of KDOM (KDOMCSSValue and KDOMCSSValueList)
1529         http://bugzilla.opendarwin.org/show_bug.cgi?id=10778
1530
1531         * ksvg2/css/SVGCSSParser.cpp:
1532         (WebCore::CSSParser::parseSVGValue):
1533         (WebCore::CSSParser::parseSVGStrokeDasharray):
1534         (WebCore::CSSParser::parseSVGPaint):
1535         (WebCore::CSSParser::parseSVGColor):
1536
1537 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
1538
1539         Reviewed by Darin and Tim H.
1540
1541         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10774
1542         Auto-generate the Objective-C DOM Traversal bindings
1543
1544         - Auto-generates DOMNodeIterator and DOMTreeWalker.
1545
1546         - Splits out DOMNodeFilter into its own file.
1547
1548         * DerivedSources.make:
1549         * WebCore.xcodeproj/project.pbxproj:
1550         * bindings/objc/DOM.mm:
1551         * bindings/objc/DOMNodeFilter.h: Added.
1552         * bindings/objc/DOMTraversal.h:
1553         * bindings/objc/PublicDOMInterfaces.h:
1554         * bindings/scripts/CodeGeneratorObjC.pm:
1555         * dom/NodeFilter.idl:
1556         * dom/NodeIterator.idl:
1557         * dom/Range.idl:
1558         * dom/TreeWalker.idl:
1559
1560 2006-09-07  MorganL  <morlmor@yahoo.com>
1561
1562         Reviewed by Darin, landed by Adam.
1563
1564         Fixes part of bug 10743: Windows build busted.
1565
1566         * platform/win/FontCacheWin.cpp: Add missing #include, set svn:eol-style to native
1567         (WebCore::FontCache::getFontLinkInterface):
1568         (WebCore::FontCache::getFontDataForCharacters):
1569         * platform/win/FontDataWin.cpp: Ditto.
1570         (WebCore::FontData::platformWidthForGlyph):
1571         * platform/win/FontWin.cpp: Add missing #include, band-aid over const problem with GlyphBufferGlyph
1572         (WebCore::Font::drawGlyphs):
1573         * platform/win/ResourceLoaderWin.cpp: Add missing #include, change .ascii() to .latin1()
1574         (WebCore::ResourceLoaderWndProc):
1575         (WebCore::ResourceLoader::start):
1576
1577 2006-09-07  Alexey Proskuryakov  <ap@nypop.com>
1578
1579         Reviewed by Darin.
1580
1581         http://bugzilla.opendarwin.org/show_bug.cgi?id=10753
1582         REGRESSION: The beginning of a CSS file is missing
1583
1584         Test: http/tests/incremental/slow-utf8-css.pl
1585
1586         * loader/Decoder.cpp:
1587         (WebCore::Decoder::checkForCSSCharset): Use the same buffering logic as used for HTML.
1588         (WebCore::Decoder::decode):
1589         * loader/Decoder.h: Added a return value and a movedDataToBuffer parameter to
1590         checkForCSSCharset().
1591
1592 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
1593
1594         Reviewed by Darin.
1595
1596         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10766
1597         Auto-generate the Objective-C DOM Events bindings
1598
1599         - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent, 
1600           DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent.
1601           
1602         - Splits out DOMEventListener and DOMEventTarget into their own files.
1603
1604         * DerivedSources.make:
1605         * WebCore.xcodeproj/project.pbxproj:
1606         * bindings/objc/DOMEventListener.h: Added.
1607         * bindings/objc/DOMEventTarget.h: Added.
1608         * bindings/objc/DOMEvents.h:
1609         * bindings/objc/DOMEvents.mm:
1610         (-[DOMEvent WebCore::]):
1611         (-[DOMEvent _initWithEvent:WebCore::]):
1612         (+[DOMEvent _eventWith:WebCore::]):
1613         * bindings/objc/DOMEventsNonstandard.mm: Removed.
1614         * bindings/objc/DOMNode.h:
1615         * bindings/objc/PublicDOMInterfaces.h:
1616         * bindings/scripts/CodeGenerator.pm:
1617         * bindings/scripts/CodeGeneratorObjC.pm:
1618         * dom/Event.idl:
1619         * dom/EventListener.idl: Added.
1620         * dom/EventTarget.idl: Added.
1621         * dom/KeyboardEvent.idl:
1622         * dom/MouseEvent.idl:
1623         * dom/UIEvent.idl:
1624         * dom/WheelEvent.idl:
1625
1626 2006-09-07  Rob Buis  <buis@kde.org>
1627
1628         Reviewed by Maciej.
1629
1630         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
1631         SVG with width and height 100% leaves room for scrollbar on the right.
1632
1633         Relayout children of svg containers, except svg shapes that do not depend on percentages.
1634
1635         * kcanvas/RenderPath.cpp:
1636         (WebCore::RenderPath::hasPercentageValues):
1637         * kcanvas/RenderPath.h:
1638         * kcanvas/RenderSVGContainer.cpp:
1639         (WebCore::RenderSVGContainer::layout):
1640         * ksvg2/svg/SVGCircleElement.cpp:
1641         (SVGCircleElement::hasPercentageValues):
1642         * ksvg2/svg/SVGCircleElement.h:
1643         * ksvg2/svg/SVGEllipseElement.cpp:
1644         (WebCore::SVGEllipseElement::hasPercentageValues):
1645         * ksvg2/svg/SVGEllipseElement.h:
1646         * ksvg2/svg/SVGLineElement.cpp:
1647         (SVGLineElement::hasPercentageValues):
1648         * ksvg2/svg/SVGLineElement.h:
1649         * ksvg2/svg/SVGRectElement.cpp:
1650         (WebCore::SVGRectElement::hasPercentageValues):
1651         * ksvg2/svg/SVGRectElement.h:
1652         * ksvg2/svg/SVGStyledElement.h:
1653         (WebCore::SVGStyledElement::hasPercentageValues):
1654
1655 2006-09-06  Brady Eidson <beidson@apple.com>
1656
1657         Constant renamed in 16250 wasn't changed in each use
1658
1659         * platform/win/GlyphMapWin.cpp:
1660         (WebCore::GlyphMap::fillPage):
1661
1662 2006-09-06  Darin Adler  <darin@apple.com>
1663
1664         Reviewed by Tim Hatcher.
1665
1666         - fix crashes affecting editing layout tests (regressions from my vector change)
1667
1668         * editing/BreakBlockquoteCommand.cpp:
1669         (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector.
1670         * editing/InsertParagraphSeparatorCommand.cpp:
1671         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
1672
1673 2006-09-06  David Harrison  <harrison@apple.com>
1674
1675         Reviewed and tweaked by Tim H.
1676
1677         <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
1678
1679         If we don't find the font in the available fonts list, call [NSFont fontWithName:size:]
1680         to trigger a search that will include auto activation. No PLT or iBench perf impact.
1681         No layout tests affected. Not testable in an automated way that will work on all systems.
1682
1683         * platform/mac/WebFontCache.mm:
1684         (+[WebFontCache fontWithFamily:traits:size:]):
1685
1686 2006-09-06  Nikolas Zimmermann  <zimmermann@kde.org>
1687
1688         Reviewed and landed by ap.
1689
1690         Fix Qt/Linux build.
1691
1692         * CMakeLists.txt: Take out CharacterData.cpp from build / add new Text* files to build.
1693         * platform/qt/BrowserExtensionQt.cpp: Add wtf/Platform.h include.
1694         * platform/qt/FontCacheQt.cpp: Add FontData.h include.
1695         * platform/qt/FontQt.cpp:
1696         (WebCore::Font::drawGlyphs): Fix constness in reinterpret_cast.
1697         * platform/qt/FrameQt.cpp:
1698         (WebCore::FrameQt::markMisspellings): Change "SelectionController" param type to "Selection".
1699         (WebCore::FrameQt::respondToChangedSelection): Ditto.
1700         (WebCore::FrameQt::respondToChangedContents): Ditto.
1701         (WebCore::FrameQt::shouldChangeSelection): Ditto.
1702         * platform/qt/FrameQt.h: Ditto.
1703         * platform/qt/ImageQt.cpp:
1704         (WebCore::Image::supportsType): Fix String->QString conversion.
1705         * platform/qt/ResourceLoaderManager.cpp:
1706         (WebCore::ResourceLoaderManager::add): Fix String->DeprecatedString conversion.
1707         * platform/qt/ScrollViewCanvasQt.cpp:
1708         (WebCore::ScrollViewCanvasQt::handleKeyEvent): Adapt to SelectionController signature changes.
1709         * platform/qt/qt-encodings.txt: Removed.
1710
1711 2006-09-06  Darin Adler  <darin@apple.com>
1712
1713         Reviewed by Tim Hatcher.
1714
1715         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10675
1716           tweak font-related headers and convert lists to vectors
1717
1718         One major change was to greatly reduce the number of files that include Font.h.
1719         Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector.
1720
1721         * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.
1722
1723         * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
1724         Font::getNSFont since a WebCore::Font represents more than one NSFont.
1725
1726         * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector.
1727         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
1728         * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto.
1729         * css/CSSComputedStyleDeclaration.cpp:
1730         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
1731         * dom/Document.cpp:
1732         (WebCore::Document::dashboardRegions): Ditto.
1733         (WebCore::Document::setDashboardRegions): Ditto.
1734         * dom/Document.h: Ditto.
1735         * editing/ReplaceSelectionCommand.cpp:
1736         (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
1737         * html/FormDataList.h: Ditto.
1738         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto.
1739         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto.
1740         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto.
1741         * kcanvas/RenderPath.h: Ditto.
1742         * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto.
1743         * kcanvas/RenderSVGImage.h: Ditto.
1744         * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto.
1745         * kcanvas/RenderSVGText.h: Ditto.
1746         * loader/FormData.cpp:
1747         (WebCore::FormData::flatten): Ditto.
1748         (WebCore::FormData::flattenToString): Ditto.
1749         * loader/FormData.h: (WebCore::FormData::elements): Ditto.
1750         * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto.
1751         * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto.
1752         * page/Frame.h: Ditto.
1753         * page/FramePrivate.h: Ditto.
1754         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto.
1755         * rendering/InlineTextBox.h: Ditto.
1756         * rendering/InlineTextBox.cpp:
1757         (WebCore::InlineTextBox::paint): Ditto.
1758         (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
1759         * rendering/RenderContainer.h: Ditto.
1760         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto.
1761         * rendering/RenderInline.h: Ditto.
1762         * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto.
1763         * rendering/RenderObject.h: Ditto.
1764         * rendering/RenderObject.cpp:
1765         (WebCore::RenderObject::lineBoxRects): Ditto.
1766         (WebCore::RenderObject::absoluteRects): Ditto.
1767         (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto.
1768         (WebCore::RenderObject::addDashboardRegions): Ditto.
1769         (WebCore::RenderObject::collectDashboardRegions): Ditto.
1770         * rendering/RenderStyle.h: Ditto.
1771         * rendering/RenderStyle.cpp:
1772         (WebCore::RenderStyle::initialDashboardRegions): Ditto.
1773         (WebCore::RenderStyle::noneDashboardRegions): Ditto.
1774         * rendering/RenderText.h: Ditto.
1775         * rendering/RenderText.cpp:
1776         (WebCore::RenderText::absoluteRects): Ditto.
1777         (WebCore::RenderText::lineBoxRects): Ditto.
1778         * rendering/RenderView.h: Ditto.
1779         * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto.
1780
1781         * bridge/mac/FrameMac.mm:
1782         (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not
1783         depend on getNSFont on a Font.
1784         (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont.
1785         (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto.
1786         (WebCore::convertAttributesToUnderlines): Updated to use Vector.
1787         (WebCore::FrameMac::setMarkedTextRange): Ditto.
1788         (WebCore::FrameMac::dashboardRegionsDictionary): Ditto.
1789
1790         * bridge/mac/WebCoreAXObject.mm:
1791         (boundingBoxRect): Updated to use Vector.
1792         (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.
1793
1794         * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
1795         * page/Settings.h: Ditto.
1796         * platform/mac/WebCoreTextRenderer.mm: Ditto.
1797         * rendering/EllipsisBox.cpp: Ditto.
1798
1799         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
1800         Updated to use a Vector that we iterate in reverse order instead of a linked list
1801         that we reverse by prepending elements instead of adding to the end.
1802         * editing/InsertParagraphSeparatorCommand.cpp:
1803         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
1804
1805         * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.
1806
1807         * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont.
1808         * platform/Font.cpp: Changed to use const instead of #define.
1809         (WebCore::Font::width): Overloaded this so we don't have a default parameter, which
1810         eliminates the need to have TextStyle defined to compiler the Font.h header.
1811
1812         * platform/TextStyle.h: Added.
1813
1814         * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
1815         can stand alone.
1816
1817         * platform/FontFallbackList.h: Tweaks.
1818         * platform/FontFallbackList.cpp: Tweaks.
1819
1820         * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by
1821         using Shared and RefPtr, which resulted in removing many explicit functions.
1822         * platform/FontFamily.cpp: More of the same.
1823
1824         * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
1825         macros.
1826
1827         * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included
1828         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
1829         since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant
1830         to GlyphPage::size.
1831         * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into
1832         constants. Updated for cGlyphPageSize change.
1833         * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change.
1834
1835         * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included
1836         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
1837         since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant
1838         to GlyphWidthPage::size.
1839         * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change.
1840
1841         * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText
1842         function to use overloading instead of default parameters to allow TextStyle to be optional.
1843         This cuts the dependency on TextStyle.
1844         * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload.
1845
1846         * platform/Image.h: Removed unneeded forward declaration of IntSize.
1847
1848         * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
1849         Changed to not depend on Font::getNSFont.
1850         * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto.
1851         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
1852         Ditto.
1853         * rendering/RenderPopupMenuMac.mm:
1854         (WebCore::RenderPopupMenuMac::showPopup): Ditto.
1855         (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto.
1856         (WebCore::RenderPopupMenuMac::addOption): Ditto.
1857
1858         * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
1859         constants and inline functions instead.
1860
1861         * platform/mac/FontMac.mm: Fixed includes.
1862         * platform/mac/PopUpButtonMac.mm: Ditto.
1863         * rendering/RenderMenuList.cpp: Ditto.
1864         * rendering/RenderTextControl.cpp: Ditto.
1865
1866         * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
1867         compatible with all 4 of C, ObjC, C++, ObjC++.
1868
1869 2006-09-05  MorganL  <morlmor@yahoocom>
1870
1871         Reviewed/landed by aroben.
1872
1873         Fixes bug 10743: Windows build is busted.
1874
1875         * WebCore.vcproj/WebCore/WebCore.vcproj:
1876         * bridge/win/FrameWin.h:
1877         * platform/ResourceLoaderInternal.h:
1878         * platform/TextEncodingRegistry.cpp:
1879         * platform/win/ResourceLoaderWin.cpp:
1880         (WebCore::ResourceLoaderWndProc):
1881         (WebCore::ResourceLoader::start):
1882         * platform/win/TemporaryLinkStubs.cpp:
1883         (FrameWin::markMisspellings):
1884         (FrameWin::shouldChangeSelection):
1885         (FrameWin::respondToChangedSelection):
1886         (FrameWin::respondToChangedContents):
1887         (RenderThemeWin::adjustMenuListStyle):
1888
1889 2006-09-05  Darin Adler  <darin@apple.com>
1890
1891         - some quick build fixes
1892
1893         * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar.
1894         * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include
1895         of CharsetNames.h.
1896         * css/CSSGrammar.y: Remove use of WebCore::UChar.
1897         * platform/UChar.h: Back out WebCore::UChar for now.
1898
1899 2006-09-05  Darin Adler  <darin@apple.com>
1900
1901         Reviewed by Alexey.
1902
1903         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10728
1904           text encodings should work without a numeric ID
1905
1906         - includes a fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10681
1907           REGRESSION: Reproducible crash at Wikipedia
1908
1909         - fixed a bug where link elements would not set the charset properly for
1910           CSS stylesheets they loaded
1911
1912         - converted DeprecatedString code paths that are related to decoding web
1913           pages to use String instead, to ensure that conversion back and forth won't
1914           hurt performance
1915
1916         Test: fast/encoding/css-link-charset.html
1917         Test: fast/forms/form-data-encoding-normalization-overrun.html
1918
1919         Coverage for encoding issues is pretty good, so we probably don't need more
1920         tests to land this. Our existing tests did find issues with this patch while
1921         it was under development. And I suppose it would be nice to have even more tests.
1922
1923         * platform/TextEncoding.h:
1924         * platform/TextEncoding.cpp:
1925         (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese.
1926         (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and
1927         added an overload for String as well as const char*. Simplified because now the only
1928         data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function
1929         to make the name canonical (resolve aliases) and atomic (use a single pointer for each
1930         encoding name so we can compare and hash efficiently).
1931         (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top
1932         of TextDecoder that can be used when the data to decode is all present at once.
1933         (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and
1934         then uses the registry to get a codec to handle the rest.
1935         (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the
1936         name of the only encoding that uses visual ordering. We blur the concepts a bit so that
1937         we treat the visual ordering and logical ordering variations as two separate encodings.
1938         (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently
1939         determine if an encoding is Japanese.
1940         (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares
1941         with the names of the two encodings that have the strange backslash.
1942         (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only"
1943         boolean parameter to the constructor.
1944         (WebCore::ASCIIEncoding): Added.
1945         (WebCore::Latin1Encoding): Added.
1946         (WebCore::UTF16BigEndianEncoding): Added.
1947         (WebCore::UTF16LittleEndianEncoding): Added.
1948         (WebCore::UTF8Encoding): Added.
1949         (WebCore::WindowsLatin1Encoding): Added.
1950
1951         * platform/TextEncodingRegistry.h: Added.
1952         * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set
1953         aliases and names and another of all the codecs and parameters for each name.
1954
1955         * platform/TextDecoder.h: Added.
1956         * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data
1957         to the proper codec, based on code that used to be in both the ICU and Mac codecs.
1958
1959         * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename
1960         the files in a later check-in. Moved creation functions into TextEncodingRegistry.h.
1961         Added typedefs of the registrar function types so classes derived from this one
1962         can use them without including the TextEncodingRegistry header. Renamed toUnicode
1963         and fromUnicode to decode and encode. Changed the parameter and return types so that
1964         the parameters are pointers to the data and the return types are String and CString.
1965         * platform/StreamingTextDecoder.cpp:
1966         (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple
1967         classes derived from this one.
1968
1969         * platform/TextCodecLatin1.h: Added.
1970         * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding
1971         Windows Latin-1, based on code that used to be in both the ICU and Mac codecs.
1972
1973         * platform/TextCodecUTF16.h: Added.
1974         * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding
1975         UTF-16, based on code that used to be in both the ICU and Mac codecs.
1976
1977         * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename
1978         the files in a later check-in. Removed all the functions having to do with handling
1979         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
1980         because that's superseded by the registry. Added registry hook functions.
1981         * platform/StreamingTextDecoderICU.cpp:
1982         (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that
1983         ICU can handle with the "IANA" standard. Also includes a special case for a particular
1984         type of encoding for Hebrew that uses logical ordering. Also includes aliases that are
1985         not in ICU but that were historically known to WebKit for encodings that ICU handles. 
1986         (WebCore::newTextCodecICU): Added. Used by registerCodecs.
1987         (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings
1988         as above.
1989         (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the
1990         actual ICU encoding and decoding.
1991         (WebCore::TextCodecICU::~TextCodecICU): Renamed.
1992         (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function.
1993         (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and
1994         to check if the cached converter can be reused in a simpler way.
1995         (WebCore::TextCodecICU::decode): Updated for changes to types.
1996         (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization
1997         since this is now handled by the caller.
1998
1999         * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename
2000         the files in a later check-in. Removed all the functions having to do with handling
2001         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
2002         because that's superseded by the registry. Added registry hook functions.
2003         * platform/mac/StreamingTextDecoderMac.cpp:
2004         (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on
2005         the charset table generated by the make-charset-table.pl perl script.
2006         (WebCore::newTextCodecMac): Added. Used by registerCodecs.
2007         (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings
2008         as above.
2009         (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the
2010         actual TEC/CF encoding and decoding.
2011         (WebCore::TextCodecMac::~TextCodecMac): Renamed.
2012         (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function.
2013         (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function.
2014         (WebCore::TextCodecMac::decode): Updated for changes to types.
2015         (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization
2016         since this is now handled by the caller.
2017
2018         * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now
2019         only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter,
2020         which is only encodings that are not supported by ICU.
2021         * platform/make-charset-table.pl: Removed flags from output. We don't use them any more.
2022         * platform/CharsetData.h: Changed from a platform-independent header into a
2023         Macintosh-specific one. A later patch should move this and rename it. Also
2024         subsumes ExtraCFEncodings.h.
2025
2026         * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
2027         "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.
2028
2029         * loader/Decoder.h: Change the default encoding parameter to the constructor to be
2030         a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a
2031         TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions,
2032         since TextEncoding supports both directly in a straightforward way. Changed both
2033         decode and flush functions to return String instead of DeprecatedString. Added a
2034         number of private functions to factor this class a bit more so it's easier to read.
2035         Got rid of a number of redundant data members. Changed the buffer to a Vector<char>.
2036         * loader/Decoder.cpp:
2037         (WebCore::Decoder::determineContentType): Added. Used by constructor to determine
2038         the content type based on the passed-in MIME type.
2039         (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the
2040         default encoding based on the passed in default and the content type.
2041         (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed
2042         m_reachedBody to m_checkedForHeadCharset.
2043         (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather
2044         than an encoding name.
2045         (WebCore::Decoder::checkForBOM): Factored out of decode.
2046         (WebCore::Decoder::checkForCSSCharset): Factored out of decode.
2047         (WebCore::Decoder::checkForHeadCharset): Factored out of decode.
2048         (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode.
2049         (WebCore::Decoder::decode): Refactored so it's no longer one huge function.
2050         Changed to use the new Vector<char> and the new API for TextDecoder.
2051         (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in
2052         practice since we don't re-use the decoder after flushing it.
2053
2054         * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching
2055         to. We'll switch away from the ICU ::UChar type, because we don't want to be so
2056         closely tied to ICU -- include this instead of <unicode/umachine.h>.
2057
2058         * platform/PlatformString.h:
2059         * platform/String.cpp:
2060         (WebCore::String::latin1): Updated for changes to TextEncoding.
2061         (WebCore::String::utf8): Ditto.
2062         (WebCore::String::newUninitialized): Added. Gives a way to create a String and
2063         then write directly into its buffer.
2064
2065         * platform/StringImpl.h: Changed return value for charactersWithNullTermination to
2066         be a const UChar*. While it's true that this function changes the underlying
2067         StringImpl, the characters still shouldn't be modified with the returned pointer.
2068         * platform/StringImpl.cpp:
2069         (WebCore::StringImpl::charactersWithNullTermination): Updated for change above.
2070         (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl
2071         and then write directly into its buffer.
2072
2073         * platform/CString.h:
2074         * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way
2075         to create a CString and then write directly into its buffer.
2076
2077         * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced
2078         +[WebCoreFrameBridge stringWithData:textEncoding:] with
2079         -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding
2080         IDs around.
2081         * bridge/mac/WebCoreFrameBridge.mm:
2082         (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion
2083         to DeprecatedString.
2084         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2085         Ditto.
2086         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto.
2087         (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString.
2088         (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder
2089         what its encoding is, and decodes using that.
2090         (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it
2091         no longer involved a text encoding ID number.
2092         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
2093         Changed to use UChar instead of DeprecatedChar.
2094         (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed
2095         now-unneeded conversion to DeprecatedString.
2096         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto.
2097
2098         * html/HTMLFormElement.cpp:
2099         (WebCore::encodeCString): Changed parameter to CString.
2100         (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.
2101
2102         * loader/CachedCSSStyleSheet.h:
2103         * loader/CachedCSSStyleSheet.cpp:
2104         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the
2105         decoder was created without passing in the character set. Also changed from
2106         DeprecatedString to String.
2107         (WebCore::CachedCSSStyleSheet::setCharset): More of the same.
2108
2109         * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed
2110         to use String instead of DeprecatedString, UChar instead of DeprecatedChar,
2111         CString instead of DeprecatedCString, etc.
2112         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
2113         * bridge/mac/FrameMac.h: Ditto.
2114         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt):
2115         Ditto.
2116         * bridge/mac/WebCoreAXObject.mm:
2117         (-[WebCoreAXObject helpText]): Ditto.
2118         (-[WebCoreAXObject value]): Ditto.
2119         (-[WebCoreAXObject accessibilityDescription]): Ditto.
2120         (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto.
2121         * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto.
2122         Also fixed code that does a deref without a ref to use RefPtr instead.
2123         * bridge/mac/WebCoreScriptDebugger.mm:
2124         (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto.
2125         * bridge/mac/WebCoreSettings.mm:
2126         (-[WebCoreSettings setDefaultTextEncoding:]): Ditto.
2127         * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto.
2128         * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto.
2129         * dom/Document.h:
2130         * dom/Document.cpp:
2131         (WebCore::Document::setCharset): Ditto.
2132         (WebCore::Document::write): Ditto.
2133         (WebCore::Document::determineParseMode): Ditto.
2134         * dom/ProcessingInstruction.cpp:
2135         (WebCore::ProcessingInstruction::checkStyleSheet): Ditto.
2136         * dom/XMLTokenizer.h:
2137         * dom/XMLTokenizer.cpp:
2138         (WebCore::shouldAllowExternalLoad): Ditto.
2139         (WebCore::createStringParser): Ditto.
2140         (WebCore::XMLTokenizer::write): Ditto.
2141         (WebCore::toString): Ditto.
2142         (WebCore::handleElementAttributes): Ditto.
2143         (WebCore::XMLTokenizer::startElementNs): Ditto.
2144         (WebCore::XMLTokenizer::endElementNs): Ditto.
2145         (WebCore::XMLTokenizer::characters): Ditto.
2146         (WebCore::XMLTokenizer::processingInstruction): Ditto.
2147         (WebCore::XMLTokenizer::cdataBlock): Ditto.
2148         (WebCore::XMLTokenizer::comment): Ditto.
2149         (WebCore::XMLTokenizer::internalSubset): Ditto.
2150         (WebCore::getXHTMLEntity): Ditto.
2151         (WebCore::externalSubsetHandler): Ditto.
2152         (WebCore::XMLTokenizer::initializeParserContext): Ditto.
2153         (WebCore::XMLTokenizer::notifyFinished): Ditto.
2154         (WebCore::xmlDocPtrForString): Ditto.
2155         (WebCore::parseXMLDocumentFragment): Ditto.
2156         (WebCore::attributesStartElementNsHandler): Ditto.
2157         (WebCore::parseAttributes): Ditto.
2158         * html/FormDataList.h:
2159         * html/FormDataList.cpp:
2160         (WebCore::FormDataList::appendString): Ditto. Also changed to call the
2161         encoding function by its new name and with new parameters.
2162         (WebCore::FormDataList::appendFile): Ditto.
2163         * html/HTMLDocument.h:
2164         * html/HTMLDocument.cpp:
2165         (WebCore::parseDocTypePart): Ditto.
2166         (WebCore::containsString): Ditto.
2167         (WebCore::parseDocTypeDeclaration): Ditto.
2168         (WebCore::HTMLDocument::determineParseMode): Ditto.
2169         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto.
2170         * html/HTMLScriptElement.cpp:
2171         (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto.
2172         * html/HTMLTokenizer.h:
2173         * html/HTMLTokenizer.cpp:
2174         (WebCore::HTMLTokenizer::scriptHandler): Ditto.
2175         (WebCore::HTMLTokenizer::parseTag): Ditto.
2176         (WebCore::HTMLTokenizer::write): Ditto.
2177         (WebCore::HTMLTokenizer::finish): Ditto.
2178         (WebCore::parseHTMLDocumentFragment): Ditto.
2179         * loader/Cache.h:
2180         * loader/Cache.cpp:
2181         (WebCore::Cache::requestStyleSheet): Ditto.
2182         (WebCore::Cache::requestScript): Ditto.
2183         * loader/CachedResource.h: Ditto.
2184         * loader/CachedScript.h:
2185         * loader/CachedScript.cpp:
2186         (WebCore::CachedScript::CachedScript): Ditto.
2187         (WebCore::CachedScript::ref): Ditto.
2188         (WebCore::CachedScript::deref): Ditto.
2189         (WebCore::CachedScript::setCharset): Ditto.
2190         (WebCore::CachedScript::data): Ditto.
2191         (WebCore::CachedScript::checkNotify): Ditto.
2192         * loader/CachedXBLDocument.h:
2193         * loader/CachedXBLDocument.cpp:
2194         (WebCore::CachedXBLDocument::setCharset): Ditto.
2195         * loader/CachedXSLStyleSheet.h:
2196         * loader/CachedXSLStyleSheet.cpp:
2197         (WebCore::CachedXSLStyleSheet::setCharset): Ditto.
2198         * loader/DocLoader.cpp:
2199         (WebCore::DocLoader::requestStyleSheet): Ditto.
2200         (WebCore::DocLoader::requestScript): Ditto.
2201         * loader/DocLoader.h: Ditto.
2202         * loader/FormData.h:
2203         * loader/FormData.cpp:
2204         (WebCore::FormData::FormData): Ditto.
2205         (WebCore::FormData::appendFile): Ditto.
2206         (WebCore::FormData::flattenToString): Ditto.
2207         * page/Frame.h:
2208         * page/FramePrivate.h:
2209         * page/Frame.cpp:
2210         (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto.
2211         (WebCore::getString): Ditto.
2212         (WebCore::Frame::replaceContentsWithScriptResult): Ditto.
2213         (WebCore::Frame::executeScript): Ditto.
2214         (WebCore::Frame::clear): Ditto.
2215         (WebCore::Frame::write): Ditto.
2216         (WebCore::Frame::endIfNotLoading): Ditto.
2217         (WebCore::Frame::baseTarget): Ditto.
2218         (WebCore::Frame::scheduleRedirection): Ditto.
2219         (WebCore::Frame::scheduleLocationChange): Ditto.
2220         (WebCore::Frame::scheduleHistoryNavigation): Ditto.
2221         (WebCore::Frame::changeLocation): Ditto.
2222         (WebCore::Frame::redirectionTimerFired): Ditto.
2223         (WebCore::Frame::encoding): Ditto.
2224         (WebCore::Frame::submitForm): Ditto.
2225         (WebCore::Frame::referrer): Ditto.
2226         (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto.
2227         (WebCore::Frame::setEncoding): Ditto.
2228         * page/Settings.h: Ditto.
2229         * platform/SegmentedString.h: Ditto.
2230         * platform/SegmentedString.cpp: Ditto.
2231         * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto.
2232         * xml/XSLTProcessor.cpp:
2233         (WebCore::transformTextStringToXHTMLDocumentString): Ditto.
2234         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
2235         * xml/xmlhttprequest.h:
2236         * xml/xmlhttprequest.cpp:
2237         (WebCore::XMLHttpRequest::open): Ditto.
2238         (WebCore::XMLHttpRequest::send): Ditto.
2239         (WebCore::XMLHttpRequest::receivedData): Ditto.
2240
2241         * platform/DeprecatedString.cpp:
2242         (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
2243         (WebCore::DeprecatedString::utf8): Ditto.
2244
2245         * platform/KURL.h:
2246         * platform/KURL.cpp:
2247         (WebCore::KURL::KURL): Updated to overload based on presence or absence of
2248         TextEncoding rather than having a default.
2249         (WebCore::KURL::init): Moved body of constructor in here. Updated to use
2250         the new TextEncoding interface.
2251         (WebCore::KURL::decode_string): Updated to overload based on presence or
2252         absence of TextEncoding rather than having a default. Updated to use
2253         the new TextEncoding interface.
2254         (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface.
2255
2256         * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
2257         code to use U_ZERO_ERROR instead of a typecast.
2258
2259         * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
2260         * platform/GraphicsContext.h: Ditto.
2261
2262         * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
2263         * rendering/break_lines.cpp: Ditto.
2264         * xml/XMLSerializer.cpp: Ditto.
2265
2266         * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.
2267
2268         * platform/CharsetNames.h: Emptied out this file. A later patch could remove it.
2269         * platform/CharsetNames.cpp: Ditto.
2270         * platform/mac/ExtraCFEncodings.h: Ditto.
2271
2272 2006-09-05  Nikolas Zimmermann  <zimmermann@kde.org>
2273
2274         Reviewed by eseidel.  Landed by eseidel.
2275
2276         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10490
2277
2278         -> Remove all SVGAnimated* usage from ksvg2.
2279         This is all done using a set of macros which live in svg/SVGElement.h
2280         (ANIMATED_PROPERTY_DECLARATIONS / ANIMATED_PROPERTY_DEFINITIONS).
2281         Transform all properties to this new concept using Eric ruby script.
2282
2283         -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()".
2284         -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()".
2285
2286         -> Add "virtual const SVGElement* contextElement() const".
2287         This concept allows to access the document (needed to access the SVGDocumentExtensions)
2288         from lowest-base-classes like SVGURIReference / SVGExternalResourcesRequired etc.
2289
2290         These classes contain this contextElement() function as pure virtual functions.
2291         The topmost classes (like SVGCircleElement) implement this function with "return this".
2292
2293         -> Move default value initialization to constructors.
2294         As the lazy_create usage, which was involved in default property initialization,
2295         has been removed, we need to do the initialization in the constructor.
2296         
2297         This forces us to fix the SVGLength class, as calling viewportElement() from the
2298         constructor does not work. This SVGLength cleanup is one of the next things to fix.
2299
2300         * bindings/scripts/CodeGeneratorJS.pm:
2301         * kcanvas/RenderForeignObject.cpp:
2302         (WebCore::RenderForeignObject::translationForAttributes):
2303         * kcanvas/RenderSVGImage.cpp:
2304         (WebCore::RenderSVGImage::paint):
2305         (WebCore::RenderSVGImage::relativeBBox):
2306         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
2307         (WebCore::RenderSVGImage::translationForAttributes):
2308         * kcanvas/RenderSVGText.cpp:
2309         (WebCore::RenderSVGText::translationForAttributes):
2310         * ksvg2/misc/KSVGTimeScheduler.cpp:
2311         (WebCore::SVGTimer::notifyAll):
2312         * ksvg2/misc/SVGDocumentExtensions.cpp:
2313         * ksvg2/misc/SVGDocumentExtensions.h:
2314         (WebCore::SVGDocumentExtensions::baseValueMap):
2315         (WebCore::SVGDocumentExtensions::baseValue):
2316         (WebCore::SVGDocumentExtensions::setBaseValue):
2317         (WebCore::SVGDocumentExtensions::hasBaseValue):
2318         (WebCore::String):
2319         (WebCore::bool):
2320         (WebCore::double):
2321         * ksvg2/misc/SVGImageLoader.cpp:
2322         (WebCore::SVGImageLoader::updateFromElement):
2323         * ksvg2/svg/SVGAElement.cpp:
2324         (WebCore::SVGAElement::parseMappedAttribute):
2325         (WebCore::SVGAElement::defaultEventHandler):
2326         * ksvg2/svg/SVGAElement.h:
2327         (WebCore::SVGAElement::contextElement):
2328         * ksvg2/svg/SVGAnimateColorElement.h:
2329         (WebCore::SVGAnimateColorElement::contextElement):
2330         * ksvg2/svg/SVGAnimateElement.h:
2331         (WebCore::SVGAnimateElement::contextElement):
2332         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2333         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
2334         (WebCore::SVGAnimateTransformElement::initialMatrix):
2335         * ksvg2/svg/SVGAnimateTransformElement.h:
2336         (WebCore::SVGAnimateTransformElement::contextElement):
2337         * ksvg2/svg/SVGCircleElement.cpp:
2338         (SVGCircleElement::SVGCircleElement):
2339         (SVGCircleElement::parseMappedAttribute):
2340         (SVGCircleElement::toPathData):
2341         (SVGCircleElement::pushAttributeContext):
2342         * ksvg2/svg/SVGCircleElement.h:
2343         (WebCore::SVGCircleElement::contextElement):
2344         * ksvg2/svg/SVGClipPathElement.cpp:
2345         (SVGClipPathElement::SVGClipPathElement):
2346         (SVGClipPathElement::parseMappedAttribute):
2347         (SVGClipPathElement::canvasResource):
2348         * ksvg2/svg/SVGClipPathElement.h:
2349         (WebCore::SVGClipPathElement::contextElement):
2350         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2351         (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2352         (SVGComponentTransferFunctionElement::parseMappedAttribute):
2353         (SVGComponentTransferFunctionElement::transferFunction):
2354         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2355         * ksvg2/svg/SVGCursorElement.cpp:
2356         (SVGCursorElement::SVGCursorElement):
2357         (SVGCursorElement::parseMappedAttribute):
2358         * ksvg2/svg/SVGCursorElement.h:
2359         (WebCore::SVGCursorElement::contextElement):
2360         * ksvg2/svg/SVGDefsElement.h:
2361         (WebCore::SVGDefsElement::contextElement):
2362         * ksvg2/svg/SVGElement.h:
2363         * ksvg2/svg/SVGEllipseElement.cpp:
2364         (WebCore::SVGEllipseElement::SVGEllipseElement):
2365         (WebCore::SVGEllipseElement::parseMappedAttribute):
2366         (WebCore::SVGEllipseElement::toPathData):
2367         (WebCore::SVGEllipseElement::pushAttributeContext):
2368         * ksvg2/svg/SVGEllipseElement.h:
2369         (WebCore::SVGEllipseElement::contextElement):
2370         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
2371         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
2372         (WebCore::SVGExternalResourcesRequired::parseMappedAttribute):
2373         * ksvg2/svg/SVGExternalResourcesRequired.h:
2374         * ksvg2/svg/SVGFEBlendElement.cpp:
2375         (SVGFEBlendElement::SVGFEBlendElement):
2376         (SVGFEBlendElement::parseMappedAttribute):
2377         (SVGFEBlendElement::filterEffect):
2378         * ksvg2/svg/SVGFEBlendElement.h:
2379         (WebCore::SVGFEBlendElement::contextElement):
2380         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2381         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2382         (SVGFEColorMatrixElement::parseMappedAttribute):
2383         (SVGFEColorMatrixElement::filterEffect):
2384         * ksvg2/svg/SVGFEColorMatrixElement.h:
2385         (WebCore::SVGFEColorMatrixElement::contextElement):
2386         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2387         (SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2388         (SVGFEComponentTransferElement::parseMappedAttribute):
2389         (SVGFEComponentTransferElement::filterEffect):
2390         * ksvg2/svg/SVGFEComponentTransferElement.h:
2391         (WebCore::SVGFEComponentTransferElement::contextElement):
2392         * ksvg2/svg/SVGFECompositeElement.cpp:
2393         (SVGFECompositeElement::SVGFECompositeElement):
2394         (SVGFECompositeElement::parseMappedAttribute):
2395         (SVGFECompositeElement::filterEffect):
2396         * ksvg2/svg/SVGFECompositeElement.h:
2397         (WebCore::SVGFECompositeElement::contextElement):
2398         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2399         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2400         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
2401         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2402         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2403         (WebCore::SVGFEDiffuseLightingElement::contextElement):
2404         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2405         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2406         (SVGFEDisplacementMapElement::parseMappedAttribute):
2407         (SVGFEDisplacementMapElement::filterEffect):
2408         * ksvg2/svg/SVGFEDisplacementMapElement.h:
2409         (WebCore::SVGFEDisplacementMapElement::contextElement):
2410         * ksvg2/svg/SVGFEDistantLightElement.cpp:
2411         (WebCore::SVGFEDistantLightElement::lightSource):
2412         * ksvg2/svg/SVGFEFloodElement.cpp:
2413         (SVGFEFloodElement::parseMappedAttribute):
2414         (SVGFEFloodElement::filterEffect):
2415         * ksvg2/svg/SVGFEFloodElement.h:
2416         (WebCore::SVGFEFloodElement::contextElement):
2417         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2418         (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2419         (SVGFEGaussianBlurElement::parseMappedAttribute):
2420         (SVGFEGaussianBlurElement::filterEffect):
2421         * ksvg2/svg/SVGFEGaussianBlurElement.h:
2422         (WebCore::SVGFEGaussianBlurElement::contextElement):
2423         * ksvg2/svg/SVGFEImageElement.cpp:
2424         (SVGFEImageElement::SVGFEImageElement):
2425         (SVGFEImageElement::parseMappedAttribute):
2426         * ksvg2/svg/SVGFEImageElement.h:
2427         (WebCore::SVGFEImageElement::contextElement):
2428         * ksvg2/svg/SVGFELightElement.cpp:
2429         (SVGFELightElement::SVGFELightElement):
2430         (SVGFELightElement::parseMappedAttribute):
2431         * ksvg2/svg/SVGFELightElement.h:
2432         * ksvg2/svg/SVGFEMergeElement.cpp:
2433         (SVGFEMergeElement::SVGFEMergeElement):
2434         (SVGFEMergeElement::filterEffect):
2435         * ksvg2/svg/SVGFEMergeElement.h:
2436         (WebCore::SVGFEMergeElement::contextElement):
2437         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2438         (SVGFEMergeNodeElement::parseMappedAttribute):
2439         * ksvg2/svg/SVGFEMergeNodeElement.h:
2440         (WebCore::SVGFEMergeNodeElement::contextElement):
2441         * ksvg2/svg/SVGFEOffsetElement.cpp:
2442         (SVGFEOffsetElement::SVGFEOffsetElement):
2443         (SVGFEOffsetElement::parseMappedAttribute):
2444         (SVGFEOffsetElement::filterEffect):
2445         * ksvg2/svg/SVGFEOffsetElement.h:
2446         (WebCore::SVGFEOffsetElement::contextElement):
2447         * ksvg2/svg/SVGFEPointLightElement.cpp:
2448         (WebCore::SVGFEPointLightElement::lightSource):
2449         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2450         (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2451         (SVGFESpecularLightingElement::parseMappedAttribute):
2452         (SVGFESpecularLightingElement::filterEffect):
2453         * ksvg2/svg/SVGFESpecularLightingElement.h:
2454         (WebCore::SVGFESpecularLightingElement::contextElement):
2455         * ksvg2/svg/SVGFESpotLightElement.cpp:
2456         (WebCore::SVGFESpotLightElement::lightSource):
2457         * ksvg2/svg/SVGFETileElement.cpp:
2458         (SVGFETileElement::parseMappedAttribute):
2459         (SVGFETileElement::filterEffect):
2460         * ksvg2/svg/SVGFETileElement.h:
2461         (WebCore::SVGFETileElement::contextElement):
2462         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2463         (SVGFETurbulenceElement::SVGFETurbulenceElement):
2464         (SVGFETurbulenceElement::parseMappedAttribute):
2465         (SVGFETurbulenceElement::filterEffect):
2466         * ksvg2/svg/SVGFETurbulenceElement.h:
2467         (WebCore::SVGFETurbulenceElement::contextElement):
2468         * ksvg2/svg/SVGFilterElement.cpp:
2469         (SVGFilterElement::SVGFilterElement):
2470         (SVGFilterElement::parseMappedAttribute):
2471         (SVGFilterElement::canvasResource):
2472         * ksvg2/svg/SVGFilterElement.h:
2473         (WebCore::SVGFilterElement::contextElement):
2474         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2475         (SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
2476         (SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes):
2477         (SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
2478         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2479         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2480         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
2481         * ksvg2/svg/SVGFitToViewBox.cpp:
2482         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2483         (WebCore::SVGFitToViewBox::parseViewBox):
2484         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
2485         (WebCore::SVGFitToViewBox::parseMappedAttribute):
2486         * ksvg2/svg/SVGFitToViewBox.h:
2487         * ksvg2/svg/SVGForeignObjectElement.cpp:
2488         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2489         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
2490         * ksvg2/svg/SVGForeignObjectElement.h:
2491         (WebCore::SVGForeignObjectElement::isValid):
2492         (WebCore::SVGForeignObjectElement::contextElement):
2493         * ksvg2/svg/SVGGElement.h:
2494         (WebCore::SVGGElement::contextElement):
2495         * ksvg2/svg/SVGGradientElement.cpp:
2496         (SVGGradientElement::SVGGradientElement):
2497         (SVGGradientElement::parseMappedAttribute):
2498         (SVGGradientElement::rebuildStops):
2499         * ksvg2/svg/SVGGradientElement.h:
2500         * ksvg2/svg/SVGHelper.cpp:
2501         (WebCore::SVGHelper::PercentageOfViewport):
2502         * ksvg2/svg/SVGImageElement.cpp:
2503         (SVGImageElement::SVGImageElement):
2504         (SVGImageElement::parseMappedAttribute):
2505         (SVGImageElement::haveLoadedRequiredResources):
2506         * ksvg2/svg/SVGImageElement.h:
2507         (WebCore::SVGImageElement::contextElement):
2508         * ksvg2/svg/SVGLangSpace.h:
2509         * ksvg2/svg/SVGLength.cpp:
2510         * ksvg2/svg/SVGLineElement.cpp:
2511         (SVGLineElement::SVGLineElement):
2512         (SVGLineElement::parseMappedAttribute):
2513         (SVGLineElement::toPathData):
2514         (SVGLineElement::pushAttributeContext):
2515         * ksvg2/svg/SVGLineElement.h:
2516         (WebCore::SVGLineElement::contextElement):
2517         * ksvg2/svg/SVGLinearGradientElement.cpp:
2518         (SVGLinearGradientElement::SVGLinearGradientElement):
2519         (SVGLinearGradientElement::parseMappedAttribute):
2520         (SVGLinearGradientElement::buildGradient):
2521         * ksvg2/svg/SVGLinearGradientElement.h:
2522         (WebCore::SVGLinearGradientElement::contextElement):
2523         * ksvg2/svg/SVGMarkerElement.cpp:
2524         (WebCore::SVGMarkerElement::SVGMarkerElement):
2525         (WebCore::SVGMarkerElement::parseMappedAttribute):
2526         (WebCore::SVGMarkerElement::setOrientToAuto):
2527         (WebCore::SVGMarkerElement::setOrientToAngle):
2528         (WebCore::SVGMarkerElement::canvasResource):
2529         * ksvg2/svg/SVGMarkerElement.h:
2530         (WebCore::SVGMarkerElement::contextElement):
2531         * ksvg2/svg/SVGMaskElement.cpp:
2532         (WebCore::SVGMaskElement::SVGMaskElement):
2533         (WebCore::SVGMaskElement::attributeChanged):
2534         (WebCore::SVGMaskElement::parseMappedAttribute):
2535         (WebCore::SVGMaskElement::drawMaskerContent):
2536         * ksvg2/svg/SVGMaskElement.h:
2537         (WebCore::SVGMaskElement::contextElement):
2538         * ksvg2/svg/SVGPathElement.cpp:
2539         (WebCore::SVGPathElement::SVGPathElement):
2540         * ksvg2/svg/SVGPathElement.h:
2541         (WebCore::SVGPathElement::isValid):
2542         (WebCore::SVGPathElement::contextElement):
2543         * ksvg2/svg/SVGPatternElement.cpp:
2544         (WebCore::SVGPatternElement::SVGPatternElement):
2545         (WebCore::SVGPatternElement::parseMappedAttribute):
2546         (WebCore::SVGPatternElement::pushAttributeContext):
2547         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2548         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2549         (WebCore::SVGPatternElement::notifyAttributeChange):
2550         (WebCore::SVGPatternElement::getCTM):
2551         * ksvg2/svg/SVGPatternElement.h:
2552         (WebCore::SVGPatternElement::contextElement):
2553         * ksvg2/svg/SVGPolyElement.h:
2554         (WebCore::SVGPolyElement::contextElement):
2555         * ksvg2/svg/SVGRadialGradientElement.cpp:
2556         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2557         (WebCore::SVGRadialGradientElement::~SVGRadialGradientElement):
2558         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
2559         (WebCore::SVGRadialGradientElement::buildGradient):
2560         * ksvg2/svg/SVGRadialGradientElement.h:
2561         (WebCore::SVGRadialGradientElement::contextElement):
2562         * ksvg2/svg/SVGRectElement.cpp:
2563         (WebCore::SVGRectElement::SVGRectElement):
2564         (WebCore::SVGRectElement::parseMappedAttribute):
2565         (WebCore::SVGRectElement::toPathData):
2566         (WebCore::SVGRectElement::pushAttributeContext):
2567         * ksvg2/svg/SVGRectElement.h:
2568         (WebCore::SVGRectElement::contextElement):
2569         * ksvg2/svg/SVGSVGElement.cpp:
2570         (WebCore::SVGSVGElement::SVGSVGElement):
2571         (WebCore::SVGSVGElement::~SVGSVGElement):
2572         (WebCore::SVGSVGElement::viewport):
2573         (WebCore::SVGSVGElement::parseMappedAttribute):
2574         (WebCore::SVGSVGElement::getCTM):
2575         (WebCore::SVGSVGElement::getScreenCTM):
2576         (WebCore::SVGSVGElement::createRenderer):
2577         * ksvg2/svg/SVGSVGElement.h:
2578         (WebCore::SVGSVGElement::contextElement):
2579         * ksvg2/svg/SVGScriptElement.h:
2580         (WebCore::SVGScriptElement::contextElement):
2581         * ksvg2/svg/SVGSetElement.h:
2582         (WebCore::SVGSetElement::contextElement):
2583         * ksvg2/svg/SVGStopElement.cpp:
2584         (SVGStopElement::SVGStopElement):
2585         (SVGStopElement::parseMappedAttribute):
2586         * ksvg2/svg/SVGStopElement.h:
2587         * ksvg2/svg/SVGStylable.h:
2588         * ksvg2/svg/SVGStyledElement.cpp:
2589         * ksvg2/svg/SVGStyledElement.h:
2590         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2591         (SVGStyledTransformableElement::SVGStyledTransformableElement):
2592         (SVGStyledTransformableElement::parseMappedAttribute):
2593         * ksvg2/svg/SVGStyledTransformableElement.h:
2594         * ksvg2/svg/SVGSwitchElement.cpp:
2595         * ksvg2/svg/SVGSwitchElement.h:
2596         (WebCore::SVGSwitchElement::contextElement):
2597         * ksvg2/svg/SVGSymbolElement.h:
2598         (WebCore::SVGSymbolElement::contextElement):
2599         * ksvg2/svg/SVGTRefElement.cpp:
2600         (SVGTRefElement::updateReferencedText):
2601         * ksvg2/svg/SVGTRefElement.h:
2602         (WebCore::SVGTRefElement::contextElement):
2603         * ksvg2/svg/SVGTSpanElement.h:
2604         (WebCore::SVGTSpanElement::contextElement):
2605         * ksvg2/svg/SVGTextContentElement.cpp:
2606         (SVGTextContentElement::SVGTextContentElement):
2607         (SVGTextContentElement::parseMappedAttribute):
2608         * ksvg2/svg/SVGTextContentElement.h:
2609         * ksvg2/svg/SVGTextElement.cpp:
2610         (WebCore::SVGTextElement::SVGTextElement):
2611         (WebCore::SVGTextElement::parseMappedAttribute):
2612         * ksvg2/svg/SVGTextElement.h:
2613         (WebCore::SVGTextElement::contextElement):
2614         * ksvg2/svg/SVGTextPositioningElement.cpp:
2615         (SVGTextPositioningElement::SVGTextPositioningElement):
2616         (SVGTextPositioningElement::parseMappedAttribute):
2617         * ksvg2/svg/SVGTextPositioningElement.h:
2618         * ksvg2/svg/SVGTransformable.cpp:
2619         * ksvg2/svg/SVGTransformable.h:
2620         * ksvg2/svg/SVGURIReference.cpp:
2621         (SVGURIReference::parseMappedAttribute):
2622         * ksvg2/svg/SVGURIReference.h:
2623         * ksvg2/svg/SVGUseElement.cpp:
2624         (SVGUseElement::SVGUseElement):
2625         (SVGUseElement::parseMappedAttribute):
2626         (SVGUseElement::closeRenderer):
2627         * ksvg2/svg/SVGUseElement.h:
2628         (WebCore::SVGUseElement::contextElement):
2629         * ksvg2/svg/SVGViewElement.h:
2630         (WebCore::SVGViewElement::contextElement):
2631
2632 2006-09-05  Eric Seidel  <eric@eseidel.com>
2633
2634         Reviewed by aroben.
2635
2636         Speed up path parsing by removing string copies.
2637         http://bugzilla.opendarwin.org/show_bug.cgi?id=10722
2638         
2639         Tests already cover path parsing.
2640
2641         * ksvg2/svg/SVGFitToViewBox.cpp:
2642         (WebCore::SVGFitToViewBox::parseViewBox):
2643         * ksvg2/svg/svgpathparser.cpp:
2644         (WebCore::skipOptionalSpaces): Added.
2645         (WebCore::skipOptionalSpacesOrComma): Added.
2646         (WebCore::parseCoord):
2647         (WebCore::SVGPolyParser::parsePoints):
2648         (WebCore::SVGPathParser::parseSVG):
2649
2650 2006-09-05  Sam Weinig  <sam.weinig@gmail.com>
2651
2652         Reviewed by Tim H.
2653
2654         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10742
2655         More Objective-C DOM auto-generation cleanup
2656         
2657         - Factor out implementation type-getters into their own function 
2658           and standardize naming as was done for type-makers (ie. HTML 
2659           and CSS prefixing for method names).
2660
2661         * bindings/objc/DOMCSS.mm:
2662         (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
2663         (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
2664         (-[DOMCSSStyleDeclaration _CSSStyleDeclaration]):
2665         * bindings/objc/DOMHTML.mm:
2666         (-[DOMHTMLTableCaptionElement _HTMLTableCaptionElement]):
2667         (-[DOMHTMLTableSectionElement _HTMLTableSectionElement]):
2668         (-[DOMHTMLTableElement _HTMLTableElement]):
2669         (-[DOMHTMLTableCellElement _HTMLTableCellElement]):
2670         (-[DOMHTMLEmbedElement _HTMLEmbedElement]):
2671         (-[DOMHTMLEmbedElement align]):
2672         (-[DOMHTMLEmbedElement setAlign:]):
2673         (-[DOMHTMLEmbedElement height]):
2674         (-[DOMHTMLEmbedElement setHeight:]):
2675         (-[DOMHTMLEmbedElement name]):
2676         (-[DOMHTMLEmbedElement setName:]):
2677         (-[DOMHTMLEmbedElement src]):
2678         (-[DOMHTMLEmbedElement setSrc:]):
2679         (-[DOMHTMLEmbedElement type]):
2680         (-[DOMHTMLEmbedElement setType:]):
2681         (-[DOMHTMLEmbedElement width]):
2682         (-[DOMHTMLEmbedElement setWidth:]):
2683         * bindings/objc/DOMInternal.h:
2684         * bindings/scripts/CodeGeneratorObjC.pm:
2685         * bridge/mac/WebCoreFrameBridge.mm:
2686         (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
2687         (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
2688         (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
2689         (-[WebCoreFrameBridge selectionStartHasStyle:]):
2690         (-[WebCoreFrameBridge selectionHasStyle:]):
2691
2692 2006-09-05  Adele Peterson  <adele@apple.com>
2693
2694         Reviewed by Adam.
2695
2696         Removed dead code for password field.
2697
2698         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
2699         * platform/mac/WebCoreTextField.h:
2700         * platform/mac/WebCoreTextField.mm:
2701
2702 2006-09-05  Justin Garcia  <justin.garcia@apple.com>
2703
2704         Reviewed by thatcher
2705         
2706         Setup for <rdar://problem/4344550> Misspellings aren't marked after undo delete
2707         
2708         Fixes:
2709         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6498>
2710         SelectionController's setters should notify delegates of selection changes
2711         
2712         Moved setSelection from Frame to SelectionController.
2713         I haven't moved any of the work that's done as a result of a 
2714         Selection change to SelectionController yet.
2715         Make fewer uses of SelectionControllers.  They're now only used for 
2716         the Frame's selection, the Page's drag caret, and functions that
2717         need to do Selection expansion.
2718
2719         * bindings/js/kjs_window.cpp:
2720         (KJS::Selection::getValueProperty):
2721         (KJS::Selection::toString):
2722         (KJS::SelectionFunc::callAsFunction):
2723         * bridge/mac/FrameMac.h:
2724         * bridge/mac/FrameMac.mm:
2725         (WebCore::FrameMac::advanceToNextMisspelling):
2726         (WebCore::FrameMac::dispatchCPPEvent):
2727         (WebCore::FrameMac::fontForSelection):
2728         (WebCore::FrameMac::baseWritingDirectionForSelectionStart):
2729         (WebCore::FrameMac::markMisspellingsInAdjacentWords):
2730         (WebCore::FrameMac::markMisspellings):
2731         (WebCore::FrameMac::respondToChangedSelection):
2732         (WebCore::FrameMac::shouldChangeSelection):
2733         (WebCore::FrameMac::shouldDeleteSelection):
2734         (WebCore::FrameMac::respondToChangedContents):
2735         * bridge/mac/PageMac.mm:
2736         (WebCore::Page::Page):
2737         * bridge/mac/WebCoreAXObject.mm:
2738         (-[WebCoreAXObject accessibilityAttributeValue:]):
2739         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
2740         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
2741         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
2742         (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]):
2743         * bridge/mac/WebCoreFrameBridge.mm:
2744         (-[WebCoreFrameBridge isSelectionEditable]):
2745         (-[WebCoreFrameBridge isSelectionRichlyEditable]):
2746         (-[WebCoreFrameBridge selectionState]):
2747         (-[WebCoreFrameBridge deselectText]):
2748         (-[WebCoreFrameBridge selectedAttributedString]):
2749         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
2750         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
2751         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
2752         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
2753         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
2754         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
2755         (-[WebCoreFrameBridge selectedDOMRange]):
2756         (-[WebCoreFrameBridge selectNSRange:]):
2757         (-[WebCoreFrameBridge selectedNSRange]):
2758         (-[WebCoreFrameBridge selectionAffinity]):
2759         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
2760         (-[WebCoreFrameBridge setSelectionToDragCaret]):
2761         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
2762         (-[WebCoreFrameBridge moveDragCaretToPoint:]):
2763         (-[WebCoreFrameBridge removeDragCaret]):
2764         (-[WebCoreFrameBridge dragCaretDOMRange]):
2765         (-[WebCoreFrameBridge isDragCaretRichlyEditable]):
2766         (-[WebCoreFrameBridge editableDOMRangeForPoint:]):
2767         (-[WebCoreFrameBridge ensureSelectionVisible]):
2768         (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
2769         * bridge/win/PageWin.cpp:
2770         (WebCore::Page::Page):
2771         * dom/Document.cpp:
2772         (WebCore::Document::updateSelection):
2773         (WebCore::Document::clearSelectionIfNeeded):
2774         (WebCore::Document::notifyBeforeNodeRemoval):
2775         * dom/Element.cpp:
2776         (WebCore::Element::updateFocusAppearance):
2777         * editing/EditCommand.cpp:
2778         (WebCore::EditCommand::EditCommand):
2779         * editing/JSEditor.cpp:
2780         * editing/ModifySelectionListLevel.cpp:
2781         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
2782         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
2783         * editing/Selection.cpp:
2784         (WebCore::Selection::setBase):
2785         (WebCore::Selection::setExtent):
2786         * editing/Selection.h:
2787         (WebCore::Selection::extent):
2788         * editing/SelectionController.cpp:
2789         (WebCore::SelectionController::SelectionController):
2790         (WebCore::SelectionController::moveTo):
2791         (WebCore::SelectionController::setSelection):
2792         (WebCore::SelectionController::nodeWillBeRemoved):
2793         (WebCore::SelectionController::modify):
2794         (WebCore::SelectionController::clear):
2795         (WebCore::SelectionController::setBase):
2796         (WebCore::SelectionController::setExtent):
2797         * editing/SelectionController.h:
2798         * editing/TypingCommand.cpp:
2799         (WebCore::TypingCommand::insertText):
2800         (WebCore::TypingCommand::deleteKeyPressed):
2801         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2802         * editing/VisiblePosition.cpp:
2803         (WebCore::VisiblePosition::caretRect):
2804         * editing/VisiblePosition.h:
2805         * html/HTMLInputElement.cpp:
2806         (WebCore::HTMLInputElement::defaultEventHandler):
2807         * page/Frame.cpp:
2808         (WebCore::Frame::selectedText):
2809         (WebCore::Frame::hasSelection):
2810         (WebCore::Frame::selectionController):
2811         (WebCore::Frame::dragCaretController):
2812         (WebCore::Frame::notifyRendererOfSelectionChange):
2813         (WebCore::Frame::invalidateSelection):
2814         (WebCore::Frame::clearCaretRectIfNeeded):
2815         (WebCore::Frame::setFocusNodeIfNeeded):
2816         (WebCore::Frame::selectionLayoutChanged):
2817         (WebCore::Frame::caretBlinkTimerFired):
2818         (WebCore::Frame::paintCaret):
2819         (WebCore::Frame::paintDragCaret):
2820         (WebCore::Frame::isPointInsideSelection):
2821         (WebCore::Frame::selectClosestWordFromMouseEvent):
2822         (WebCore::Frame::handleMousePressEventDoubleClick):
2823         (WebCore::Frame::handleMousePressEventTripleClick):
2824         (WebCore::Frame::handleMousePressEventSingleClick):
2825         (WebCore::Frame::handleMouseMoveEvent):
2826         (WebCore::Frame::handleMouseReleaseEvent):
2827         (WebCore::Frame::selectAll):
2828         (WebCore::Frame::selectContentsOfNode):
2829         (WebCore::Frame::shouldChangeSelection):
2830         (WebCore::Frame::shouldDeleteSelection):
2831         (WebCore::Frame::isSelectionInPasswordField):
2832         (WebCore::Frame::appliedEditing):
2833         (WebCore::Frame::unappliedEditing):
2834         (WebCore::Frame::reappliedEditing):
2835         (WebCore::Frame::computeAndSetTypingStyle):
2836         (WebCore::Frame::applyStyle):
2837         (WebCore::Frame::applyParagraphStyle):
2838         (WebCore::Frame::selectionListState):
2839         (WebCore::Frame::selectionHasStyle):
2840         (WebCore::Frame::selectionComputedStyle):
2841         (WebCore::Frame::selectFrameElementInParentIfFullySelected):
2842         (WebCore::Frame::currentForm):
2843         (WebCore::Frame::revealSelection):
2844         (WebCore::Frame::centerSelectionInVisibleArea):
2845         (WebCore::Frame::styleForSelectionStart):
2846         (WebCore::Frame::setSelectionFromNone):
2847         (WebCore::Frame::findString):
2848         * page/Frame.h:
2849         * page/FramePrivate.h:
2850         (WebCore::FramePrivate::FramePrivate):
2851         * page/FrameView.cpp:
2852         (WebCore::FrameView::clear):
2853         * page/Page.cpp:
2854         (WebCore::Page::dragCaretController):
2855         * page/Page.h:
2856         * rendering/RenderBlock.cpp:
2857         (WebCore::RenderBlock::paintCaret):
2858         * rendering/RenderLayer.cpp:
2859         (WebCore::RenderLayer::autoscroll):
2860         * rendering/RenderTextControl.cpp:
2861         (WebCore::RenderTextControl::selectionStart):
2862         (WebCore::RenderTextControl::selectionEnd):
2863         (WebCore::RenderTextControl::setSelectionRange):
2864         (WebCore::RenderTextControl::selectionChanged):
2865         * rendering/RenderTreeAsText.cpp:
2866         (WebCore::writeSelection):
2867
2868 2006-09-05  Adele Peterson  <adele@apple.com>
2869
2870         Reviewed by Adam.
2871
2872         Let the engine draw the focus ring for styled menu lists.
2873
2874         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::supportsFocusRing): Added case for MenulistButtonAppearance.
2875
2876 2006-09-05  Adele Peterson  <adele@apple.com>
2877
2878         Reviewed by Adam.
2879
2880         - Fix for <rdar://problem/4706463> REGRESSION: Must click twice on <select> elements for menu to show
2881
2882         * rendering/RenderPopupMenuMac.h:
2883         * rendering/RenderPopupMenuMac.mm:
2884         (WebCore::RenderPopupMenuMac::showPopup): Moved call to dismiss popup into hidePopup method.
2885          Now calls RenderMenuList::hidePopup which will update the m_popupIsVisible flag on the menu list before hiding the popup.
2886         (WebCore::RenderPopupMenuMac::hidePopup): Added.
2887
2888 2006-09-05  Sam Weinig  <sam.weinig@gmail.com>
2889
2890         Reviewed by Tim H.
2891
2892         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10738
2893         Consolidate the Objective-C DOM Bindings Internal files into DOMInternal.h
2894
2895         - Consolidate DOMHTMLInternal.h, DOMCSSInternal.h, DOMEventsInternal.h,
2896           DOMViewsInternal.h and DOMXPathInternal.h into DOMInternal.h.
2897
2898         - Rename the "type-makers" (used to make a binding from an implementation 
2899           type) so that all the HTML ones begin with the prefix HTML.  Did the same
2900           for the CSS.
2901
2902         - Auto-generate a couple more methods from DOMExtensions.h.
2903
2904         - Various cleanups of the Objective-C auto-generation code.
2905
2906         * WebCore.xcodeproj/project.pbxproj:
2907         * bindings/objc/DOM.mm:
2908         (-[DOMDocument createCSSStyleDeclaration]):
2909         * bindings/objc/DOMCSS.mm:
2910         (+[DOMCSSRuleList _CSSRuleListWith:]):
2911         (+[DOMCSSRule _CSSRuleWith:]):
2912         (+[DOMCSSStyleDeclaration _CSSStyleDeclarationWith:]):
2913         (+[DOMCSSValue _CSSValueWith:]):
2914         (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:]):
2915         (-[DOMDocument getComputedStyle::]):
2916         (-[DOMDocument getMatchedCSSRules::]):
2917         * bindings/objc/DOMCSSInternal.h: Removed.
2918         * bindings/objc/DOMEvents.mm:
2919         * bindings/objc/DOMEventsInternal.h: Removed.
2920         * bindings/objc/DOMEventsNonstandard.mm:
2921         * bindings/objc/DOMExtensions.h:
2922         * bindings/objc/DOMHTML.mm:
2923         (+[DOMHTMLCollection _HTMLCollectionWith:]):
2924         (+[DOMHTMLOptionsCollection _HTMLOptionsCollectionWith:]):
2925         (+[DOMHTMLElement _HTMLElementWith:]):
2926         (+[DOMHTMLFormElement _HTMLFormElementWith:]):
2927         (+[DOMHTMLTableCaptionElement _HTMLTableCaptionElementWith:]):
2928         (+[DOMHTMLTableSectionElement _HTMLTableSectionElementWith:]):
2929         (+[DOMHTMLTableElement _HTMLTableElementWith:]):
2930         (+[DOMHTMLTableCellElement _HTMLTableCellElementWith:]):
2931         * bindings/objc/DOMHTMLAppletElement.mm:
2932         * bindings/objc/DOMHTMLDocument.mm:
2933         (-[DOMHTMLDocument body]):
2934         (-[DOMHTMLDocument images]):
2935         (-[DOMHTMLDocument applets]):
2936         (-[DOMHTMLDocument links]):
2937         (-[DOMHTMLDocument forms]):
2938         (-[DOMHTMLDocument anchors]):
2939         * bindings/objc/DOMHTMLInternal.h: Removed.
2940         * bindings/objc/DOMHTMLOptionElement.mm:
2941         (-[DOMHTMLOptionElement form]):
2942         * bindings/objc/DOMInternal.h:
2943         * bindings/objc/DOMRGBColor.mm:
2944         (setWrapperForRGB):
2945         (-[DOMRGBColor red]):
2946         (-[DOMRGBColor green]):
2947         (-[DOMRGBColor blue]):
2948         (-[DOMRGBColor alpha]):
2949         * bindings/objc/DOMUtility.mm:
2950         (KJS::ScriptInterpreter::createObjcInstanceForValue):
2951         * bindings/objc/DOMViews.mm:
2952         (-[DOMAbstractView WebCore::]):
2953         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
2954         (+[DOMAbstractView _abstractViewWith:WebCore::]):
2955         * bindings/objc/DOMViewsInternal.h: Removed.
2956         * bindings/objc/DOMXPath.mm:
2957         * bindings/objc/DOMXPathInternal.h: Removed.
2958         * bindings/objc/PublicDOMInterfaces.h:
2959         * bindings/scripts/CodeGeneratorObjC.pm:
2960         * bridge/mac/WebCoreFrameBridge.mm:
2961         (-[WebCoreFrameBridge typingStyle]):
2962         * html/HTMLAnchorElement.idl:
2963         * html/HTMLAreaElement.idl:
2964         * html/HTMLImageElement.idl:
2965         * html/HTMLInputElement.idl:
2966         * html/HTMLLinkElement.idl:
2967
2968 2006-09-05  Steve Falkenburg  <sfalken@apple.com>
2969
2970         Conditionalize new DOM headers for ObjC only
2971
2972         * DerivedSources.make:
2973
2974 2006-09-04  Alexey Proskuryakov  <ap@nypop.com>
2975
2976         Reviewed by Darin.
2977
2978         http://bugzilla.opendarwin.org/show_bug.cgi?id=10716
2979         XMLHttpRequest.responseText is null if HTTP response is empty
2980
2981         Extended existing tests:
2982         - http/tests/xmlhttrequest/zero-length-response.html
2983         - http/tests/xmlhttrequest/zero-length-response-sync.html
2984
2985         * xml/xmlhttprequest.cpp:
2986         (WebCore::XMLHttpRequest::XMLHttpRequest): Initialize responseText to an empty string.
2987         (WebCore::XMLHttpRequest::open): Reset responseText to an empty string.
2988         * bindings/js/JSXMLHttpRequest.cpp:
2989         (KJS::JSXMLHttpRequest::getValueProperty): Return null rather than undefined
2990         for nil responseXML.
2991
2992 2006-09-04  Timothy Hatcher  <timothy@apple.com>
2993
2994         Reviewed by Darin.
2995
2996         Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
2997         http://bugzilla.opendarwin.org/show_bug.cgi?id=10714
2998         
2999         - New PublicDOMInterfaces.h file is consulted when generating
3000           the ObjC DOM files. All public DOM class interfaces, properties
3001           and methods need to be in this file. Anything not in the file will
3002           be generated into the appropriate private header file. During
3003           generation if something changed or is missing in the public API
3004           a build error will occur. New interfaces added to the IDLs files
3005           will now not automatically be reflected in the public ObjC API.
3006           Methods commented out in PublicDOMInterfaces.h are pending public
3007           and will be uncommented once approved.
3008
3009         - Removed most of the Exclude=ObjC uses from the IDL files. This
3010           attribute was mostly used to prevent changes to the public headers.
3011
3012         - Make a new parameter name if the original conflicts with a property name.
3013
3014         - Simplified the generation code for dealing with exceptions.
3015
3016         - Moved file opens to WriteData. Files are unlinked before
3017           being opened to work around a Leopard file truncation bug.
3018
3019         - Fixed #imports for DOMImplementation to be DOMDOMImplementation.h
3020
3021         * WebCore.xcodeproj/project.pbxproj:
3022         * bindings/objc/DOMCSS.h:
3023         * bindings/objc/DOMCore.h:
3024         * bindings/objc/DOMExtensions.h:
3025         * bindings/objc/DOMHTMLInternal.h:
3026         * bindings/objc/DOMPrivate.h:
3027         * bindings/objc/PublicDOMInterfaces.h: Added.
3028         * bindings/scripts/CodeGeneratorObjC.pm:
3029         * dom/Document.idl:
3030         * dom/Element.idl:
3031         * dom/NamedNodeMap.idl:
3032         * dom/ProcessingInstruction.idl:
3033         * html/HTMLAnchorElement.idl:
3034         * html/HTMLAreaElement.idl:
3035         * html/HTMLBodyElement.idl:
3036         * html/HTMLButtonElement.idl:
3037         * html/HTMLImageElement.idl:
3038         * html/HTMLInputElement.idl:
3039         * html/HTMLLabelElement.idl:
3040         * html/HTMLLegendElement.idl:
3041         * html/HTMLLinkElement.idl:
3042         * html/HTMLOptionsCollection.idl:
3043         * html/HTMLPreElement.idl:
3044         * html/HTMLStyleElement.idl:
3045         * html/HTMLTextAreaElement.idl:
3046
3047 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
3048
3049         Reviewed by Tim H.
3050
3051         Continue fixing the build, I forgot this in my previous patch!
3052
3053         * platform/qt/PathQt.cpp:
3054         (WebCore::Path::apply):
3055
3056 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
3057
3058         Reviewed by Tim H.
3059
3060         Fix build on Qt/Linux.
3061
3062         * CMakeLists.txt:
3063         * platform/qt/PathQt.cpp:
3064         (WebCore::Path::transform):
3065
3066 2006-09-04  Alexey Proskuryakov  <ap@nypop.com>
3067
3068         Reviewed by Darin.
3069
3070         http://bugzilla.opendarwin.org/show_bug.cgi?id=10676
3071         @charset rules not accessible via DOM
3072
3073         Test: fast/encoding/css-charset-dom.html
3074
3075         * WebCore.xcodeproj/project.pbxproj: Added CSSCharsetRule.cpp
3076         * bindings/js/kjs_css.cpp:
3077         (KJS::DOMCSSStyleSheet::getValueProperty):
3078         Separated Rules and CssRules, since now they behave differently.
3079
3080         * css/CSSCharsetRule.h: Make the constructor take an encoding.
3081         * css/CSSCharsetRule.cpp: Added.
3082
3083         * css/CSSGrammar.y: Create CSSStylesheetRules as necessary.
3084
3085         * css/CSSRuleList.cpp:
3086         (WebCore::CSSRuleList::CSSRuleList):
3087         * css/CSSRuleList.h:
3088         * css/CSSStyleSheet.cpp:
3089         (WebCore::CSSStyleSheet::cssRules):
3090         * css/CSSStyleSheet.h:
3091         Skip charset rules in IE compatibility mode.
3092
3093         * css/StyleBase.h:
3094         (WebCore::StyleBase::isCharsetRule): Fixed a typo.
3095
3096         * css/cssparser.cpp:
3097         (WebCore::CSSParser::createCharsetRule):
3098         * css/cssparser.h:
3099         Added createCharsetRule().
3100
3101 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
3102
3103         Reviewed by Darin.
3104
3105         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10644
3106         Let FrameQt operate on a FrameQtClient, just like Win/Mac handle it.
3107
3108         * CMakeLists.txt:
3109         * platform/qt/FrameQt.cpp:
3110         (WebCore::FrameQt::FrameQt):
3111         (WebCore::FrameQt::~FrameQt):
3112         (WebCore::FrameQt::openURL):
3113         (WebCore::FrameQt::submitForm):
3114         (WebCore::FrameQt::urlSelected):
3115         * platform/qt/FrameQt.h:
3116         * platform/qt/FrameQtClient.cpp: Added.
3117         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
3118         (WebCore::FrameQtClientDefault::~FrameQtClientDefault):
3119         (WebCore::FrameQtClientDefault::setFrame):
3120         (WebCore::FrameQtClientDefault::openURL):
3121         (WebCore::FrameQtClientDefault::submitForm):
3122         (WebCore::FrameQtClientDefault::receivedResponse):
3123         (WebCore::FrameQtClientDefault::receivedData):
3124         (WebCore::FrameQtClientDefault::receivedAllData):
3125         * platform/qt/FrameQtClient.h: Added.
3126         (WebCore::FrameQtClient::~FrameQtClient):
3127
3128 2006-09-04  Eric Seidel  <eric@eseidel.com>
3129
3130         Reviewed by andersca.
3131
3132         Clean-up style and spacing.
3133         http://bugzilla.opendarwin.org/show_bug.cgi?id=10724
3134         No tests needed, no functional changes.
3135
3136         * ksvg2/svg/svgpathparser.cpp:
3137         (WebCore::parseCoord):
3138         (WebCore::SVGPolyParser::parsePoints):
3139         (WebCore::SVGPathParser::parseSVG):
3140         (WebCore::SVGPathParser::calculateArc):
3141         (WebCore::SVGPathParser::svgLineToHorizontal):
3142         (WebCore::SVGPathParser::svgLineToVertical):
3143         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
3144         (WebCore::SVGPathParser::svgCurveToQuadratic):
3145         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
3146         (WebCore::SVGPathParser::svgArcTo):
3147
3148 2006-09-04  Rob Buis  <buis@kde.org>
3149
3150         Reviewed by Eric.
3151
3152         http://bugzilla.opendarwin.org/show_bug.cgi?id=6546
3153         clipPath data does not respect transforms
3154
3155         Get the transform from the dom element and adjust
3156         the clip path with it.
3157
3158         * ksvg2/svg/SVGClipPathElement.cpp:
3159         (SVGClipPathElement::canvasResource):
3160
3161 2006-09-04  Rob Buis  <buis@kde.org>
3162
3163         Reviewed by Eric.
3164
3165         This code should have gone in as part of:
3166         http://bugzilla.opendarwin.org/show_bug.cgi?id=10696
3167         It addresses the comments there, also we use double instead
3168         of float now in calculations.
3169
3170         * platform/Path.cpp:
3171         (WebCore::Path::createRoundedRectangle):
3172         (WebCore::Path::createRectangle):
3173         (WebCore::Path::createEllipse):
3174         (WebCore::Path::createCircle):
3175
3176 2006-09-03  Sam Weinig  <sam.weinig@gmail.com>
3177
3178         Reviewed by Darin and Tim H.
3179
3180         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10711
3181           Auto-generate the Objective-C DOM Stylesheet bindings
3182
3183           Auto-generates DOMMediaList, DOMStyleSheet, and DOMStyleSheetList.
3184
3185         * DerivedSources.make:
3186         * WebCore.xcodeproj/project.pbxproj:
3187         * bindings/objc/DOMCSS.mm:
3188         (+[DOMStyleSheet _styleSheetWith:]):
3189         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
3190         * bindings/objc/DOMCSSInternal.h:
3191         * bindings/objc/DOMInternal.h:
3192         * bindings/objc/DOMObject.mm:
3193         (-[DOMObject sheet]):
3194         * bindings/objc/DOMPrivate.h:
3195         * bindings/objc/DOMStylesheets.h:
3196         * bindings/objc/DOMUtility.mm:
3197         (KJS::ScriptInterpreter::createObjcInstanceForValue):
3198         * bindings/scripts/CodeGeneratorObjC.pm:
3199         * css/StyleSheet.idl: Added.
3200         * css/StyleSheetList.idl: Added.
3201
3202 2006-09-03  Rob Buis  <buis@kde.org>
3203
3204         Reviewed by Darin.
3205
3206         http://bugzilla.opendarwin.org/show_bug.cgi?id=10696
3207         RenderPathQuartz and RenderPathQt should not be needed
3208
3209         Cleanup of code related to RenderPath.
3210
3211         * CMakeLists.txt:
3212         * WebCore.xcodeproj/project.pbxproj:
3213         * kcanvas/KCanvasCreator.cpp:
3214         * kcanvas/KCanvasCreator.h:
3215         * kcanvas/RenderPath.cpp:
3216         (WebCore::):
3217         (WebCore::DrawMarkersData::DrawMarkersData):
3218         (WebCore::drawMarkerWithData):
3219         (WebCore::updateMarkerDataForElement):
3220         (WebCore::drawStartAndMidMarkers):
3221         (WebCore::RenderPath::drawMarkersIfNeeded):
3222         * kcanvas/RenderPath.h:
3223         * kcanvas/device/KRenderingDevice.h:
3224         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3225         * kcanvas/device/qt/KRenderingDeviceQt.h:
3226         * kcanvas/device/qt/RenderPathQt.cpp:
3227         (WebCore::RenderPath::strokeContains):
3228         (WebCore::RenderPath::strokeBBox):
3229         * kcanvas/device/qt/RenderPathQt.h:
3230         * kcanvas/device/quartz/KCanvasItemQuartz.h:
3231         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3232         (WebCore::RenderPath::strokeBBox):
3233         (WebCore::RenderPath::strokeContains):
3234         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3235         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3236         * kcanvas/device/quartz/QuartzSupport.h:
3237         * ksvg2/svg/SVGAElement.cpp:
3238         * ksvg2/svg/SVGCircleElement.cpp:
3239         (SVGCircleElement::toPathData):
3240         * ksvg2/svg/SVGEllipseElement.cpp:
3241         (WebCore::SVGEllipseElement::toPathData):
3242         * ksvg2/svg/SVGFEImageElement.cpp:
3243         * ksvg2/svg/SVGGElement.cpp:
3244         * ksvg2/svg/SVGImageElement.cpp:
3245         * ksvg2/svg/SVGLineElement.cpp:
3246         (SVGLineElement::toPathData):
3247         * ksvg2/svg/SVGMarkerElement.cpp:
3248         * ksvg2/svg/SVGPathElement.cpp:
3249         * ksvg2/svg/SVGPatternElement.cpp:
3250         * ksvg2/svg/SVGPolygonElement.cpp:
3251         * ksvg2/svg/SVGPolylineElement.cpp:
3252         * ksvg2/svg/SVGRectElement.cpp:
3253         (WebCore::SVGRectElement::toPathData):
3254         * ksvg2/svg/SVGSVGElement.cpp:
3255         * ksvg2/svg/SVGStyledElement.cpp:
3256         (WebCore::SVGStyledElement::createRenderer):
3257         * ksvg2/svg/SVGSwitchElement.cpp:
3258         * ksvg2/svg/SVGTextElement.cpp:
3259         * ksvg2/svg/SVGUseElement.cpp:
3260         * platform/Path.h:
3261         (WebCore::):
3262         * platform/cg/PathCG.cpp:
3263         (WebCore::CGPathToCFStringApplierFunction):
3264         (WebCore::CGPathApplierToPathApplier):
3265         (WebCore::Path::apply):
3266         (WebCore::Path::transform):
3267         * platform/qt/PathQt.cpp:
3268         (WebCore::Path::apply):
3269
3270 2006-09-03  Timothy Hatcher  <timothy@apple.com>
3271
3272         Reviewed by Darin.
3273
3274         Bug 10685: ObjC DOM should have no unnamed parameters
3275         http://bugzilla.opendarwin.org/show_bug.cgi?id=10685
3276
3277         - The ObjC code generation script now outputs parameter prefixes
3278           for methods that have more than 1 parameter. This prefix is simply
3279           the parameter name. Some parameter names have been changed in the IDL
3280           files to produce better prefixes. If an extended attribute of "ObjCPrefix"
3281           exists on a parameter we will use that for the prefix.
3282
3283         - A backwards compatible version of the method is placed in a
3284           category with a deprecation macro for 10.5 and later. This step only
3285           happens if the IDL extended attribute "OldStyleObjC" is defined.
3286           All new functions in IDL should not get this attribute.
3287
3288         - Made the $interfaceMethodSelector regex in IDLStructure.pm allow "=" so 
3289           parameter extended attributes can have values.
3290
3291         - Moved RemoveExcludedAttributesAndFunctions to CodeGenerator.pm
3292           so it can be shared between the two generators.
3293           
3294         - Removed the die when we encounter a getter that uses exceptions.
3295           Sam Weinig added support for this in an earlier change.
3296
3297         - Check if $ENV{"MACOSX_DEPLOYMENT_TARGET"} is defined before we compare.
3298           This caused a perl warning when generating on other platforms.
3299
3300         - The ObjC generation will not happen on platforms other than Mac OS.
3301           This is determined by the "OS" env variable Xcode sets. This check
3302           is in the DerivedSources.make.
3303
3304         - Added a way to skip generation if the constructor of the specific
3305           generator returns undef. Not used yet.
3306
3307         - Many cleanup tweaks in CodeGeneratorObjC.pm.
3308
3309         - Removed IDL and CSS files from the project's resource copy phase,
3310           these do no need to be in WebCore's resources. 
3311
3312         * DerivedSources.make
3313         * WebCore.xcodeproj/project.pbxproj
3314         * bindings/scripts/CodeGenerator.pm
3315         * bindings/scripts/CodeGeneratorJS.pm
3316         * bindings/scripts/CodeGeneratorObjC.pm
3317         * bindings/scripts/IDLStructure.pm
3318         * css/CSSMediaRule.idl
3319         * css/CSSPrimitiveValue.idl
3320         * css/CSSStyleDeclaration.idl
3321         * css/CSSStyleSheet.idl
3322         * dom/CharacterData.idl
3323         * dom/DOMImplementation.idl
3324         * dom/Document.idl
3325         * dom/Element.idl
3326         * dom/KeyboardEvent.idl
3327         * dom/MouseEvent.idl
3328         * dom/MutationEvent.idl
3329         * dom/NamedNodeMap.idl
3330         * dom/UIEvent.idl
3331         * html/HTMLCanvasElement.idl
3332         * html/HTMLSelectElement.idl
3333         * ksvg2/bindings/idl/svg/SVGLengthList.idl
3334         * ksvg2/bindings/idl/svg/SVGNumberList.idl
3335         * ksvg2/bindings/idl/svg/SVGPointList.idl
3336         * ksvg2/bindings/idl/svg/SVGStringList.idl
3337         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl
3338         * ksvg2/bindings/idl/svg/SVGTransformList.idl
3339         * ksvg2/svg/SVGSVGElement.idl
3340         * page/DOMWindow.idl
3341
3342 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
3343
3344         Reviewed by Tim H.
3345
3346         http://bugzilla.opendarwin.org/show_bug.cgi?id=10693
3347         Convert JavaScript arrays to AppleScript lists
3348
3349         Test: fast/AppleScript/array.html
3350
3351         * bridge/mac/WebCoreFrameBridge.mm:
3352         (aeDescFromJSValue): Added a case for ArrayInstance.
3353
3354 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
3355
3356         Reviewed by Eric.
3357
3358         http://bugzilla.opendarwin.org/show_bug.cgi?id=10697
3359         REGRESSION (r16175): Errors in incremental decoding of UTF-8
3360
3361         Tests:
3362         - http/tests/incremental/slow-utf8-html.pl
3363         - fast/encoding/charset-invalid.html
3364
3365         * loader/Decoder.cpp:
3366         (Decoder::Decoder): Ensure that we have a valid encoding. Get its name via TextEncoding, to match
3367         the logic in setEncodingName().
3368         (Decoder::setEncodingName): Only set m_encodingName if the encoding is valid. Rely on TextEncoding
3369         constructor to lowercase it if necessary.
3370         (Decoder::decode): Use setEncodingName() to apply encoding from BOM. Don't try to ensure the
3371         validity of encoding - it is enforced by class constructor and setEncodingName().
3372
3373 2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
3374
3375         Reviewed by Tim H.
3376
3377         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
3378           Auto-generate the Objective-C DOM CSS bindings
3379
3380           Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
3381           DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
3382           DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
3383           DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.
3384
3385           Splits DOMRGBColor into its own files.
3386
3387         * DerivedSources.make:
3388         * WebCore.xcodeproj/project.pbxproj:
3389         * bindings/objc/DOMCSS.h:
3390         * bindings/objc/DOMCSS.mm:
3391         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
3392         (+[DOMCSSPrimitiveValue _valueWith:]):
3393         * bindings/objc/DOMCSSInternal.h:
3394         * bindings/objc/DOMExtensions.h:
3395         * bindings/objc/DOMInternal.h:
3396         * bindings/objc/DOMRGBColor.h: Added.
3397         * bindings/objc/DOMRGBColor.mm: Added.
3398         (getWrapperForRGB):
3399         (setWrapperForRGB):
3400         (removeWrapperForRGB):
3401         (-[DOMRGBColor dealloc]):
3402         (-[DOMRGBColor finalize]):
3403         (-[DOMRGBColor red]):
3404         (-[DOMRGBColor green]):
3405         (-[DOMRGBColor blue]):
3406         (-[DOMRGBColor alpha]):
3407         (-[DOMRGBColor color]):
3408         (-[DOMRGBColor _initWithRGB:WebCore::]):
3409         (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
3410         * bindings/scripts/CodeGeneratorObjC.pm:
3411         * css/CSSCharsetRule.idl: Added.
3412         * css/CSSFontFaceRule.idl: Added.
3413         * css/CSSImportRule.idl: Added.
3414         * css/CSSMediaRule.idl: Added.
3415         * css/CSSPageRule.idl: Added.
3416         * css/CSSRule.idl:
3417         * css/CSSStyleDeclaration.idl:
3418         * css/CSSStyleRule.idl: Added.
3419         * css/CSSStyleSheet.idl: Added.
3420         * css/CSSUnknownRule.idl: Added.
3421         * css/CSSValue.idl:
3422         * css/MediaList.idl:
3423         * css/RGBColor.idl: Added.
3424         * css/Rect.idl:
3425         * css/RectImpl.h:
3426
3427 2006-09-02  Graham Dennis  <graham.dennis@gmail.com>
3428
3429         Reviewed by Justin.
3430         
3431         http://bugzilla.opendarwin.org/show_bug.cgi?id=10579
3432         AppleStyleCommand::applyBlockStyle crash
3433
3434         * editing/ApplyStyleCommand.cpp:
3435         (WebCore::ApplyStyleCommand::applyBlockStyle): Prevent a crash by
3436         making sure that the 'beyondEnd' node is after the start node.
3437
3438 2006-09-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3439
3440         Reviewed by Tim H.
3441
3442         Bug 10454: Unix bakefile fixes
3443         http://bugzilla.opendarwin.org/show_bug.cgi?id=10454
3444
3445         * WebCoreSources.bkl:
3446         * platform/gdk/RenderPopupMenuGdk.cpp:
3447         (WebCore::RenderPopupMenuGdk::RenderPopupMenuGdk):
3448         * platform/gdk/RenderPopupMenuGdk.h:
3449         * platform/gdk/RenderThemeGdk.cpp:
3450         (WebCore::RenderThemeGdk::createPopupMenu):
3451         (WebCore::RenderThemeGdk::systemFont):
3452         * platform/gdk/RenderThemeGdk.h:
3453         * platform/gdk/TemporaryLinkStubs.cpp:
3454         * webcore-base.bkl:
3455
3456 2006-09-02  Adele Peterson  <adele@apple.com>
3457
3458         Reviewed by Anders.
3459
3460         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10667
3461           Password: Double-click should select-all to avoid exposing word boundaries
3462
3463         Test: fast/forms/password-doubleclick-selection.html
3464
3465         * editing/visible_units.cpp:
3466         (WebCore::previousBoundary): When searching for boundaries in renderers that use the textSecurity property, 
3467          convert characters in strings to alpha-numeric characters (in this case, all 'x's) so that every character
3468          isn't treated as a punctuation boundary.
3469         (WebCore::nextBoundary): ditto.
3470         * editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Updated to use the renderer's 
3471           string instead of the node value.  This matches the base class implementation of handleTextNode.
3472
3473         Code cleanup.
3474         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 
3475           Avoid unnecessary check for password field case if the smart replace condition is false.
3476         * page/Frame.cpp: (WebCore::Frame::mayCopy): Removed duplicate code.  Calls isSelectionInPasswordField now.
3477         * rendering/RenderText.cpp: (WebCore::RenderText::setText): Updated formatting.
3478
3479 2006-09-01  David Hyatt  <hyatt@apple.com>
3480
3481         Fix for 10682, refine the FOUC paint suppression logic so that it
3482         is only triggered when FOUC would really have occurred.
3483
3484         Reviewed by aroben
3485
3486         * css/cssstyleselector.cpp:
3487         (WebCore::CSSStyleSelector::styleForElement):
3488         * dom/Document.cpp:
3489         (WebCore::Document::Document):
3490         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
3491         (WebCore::Document::updateStyleSelector):
3492         * dom/Document.h:
3493         (WebCore::Document::haveStylesheetsLoaded):
3494         (WebCore::Document::):
3495         (WebCore::Document::didLayoutWithPendingStylesheets):
3496         * rendering/RenderBlock.cpp:
3497         (WebCore::RenderBlock::paintChildren):
3498         * rendering/RenderLayer.cpp:
3499         (WebCore::RenderLayer::paintLayer):
3500
3501 2006-09-01  MorganL  <morlmor@yahoo.com>
3502
3503         Reviewed by Darin. Updated/landed by Adam.
3504
3505         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10553
3506         Windows build fixes
3507
3508         * WebCore.vcproj/WebCore/WebCore.vcproj:
3509         * WebCore.vcproj/WebCore/build-generated-files.sh:
3510         * bridge/win/FrameWin.h:
3511         * bridge/win/PageWin.cpp:
3512         (WebCore::Page::Page):
3513         * platform/win/FontWin.cpp:
3514         * platform/win/TemporaryLinkStubs.cpp:
3515         (FrameWin::registerCommandForUndo):
3516         (FrameWin::canPaste):
3517         (FrameWin::issuePasteAndMatchStyleCommand):
3518         (WebCore::screenDepthPerComponent):