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