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