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