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