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