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