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