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