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