Reviewed by Hyatt.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
2
3         Reviewed by Hyatt.
4
5         http://bugzilla.opendarwin.org/show_bug.cgi?id=10779
6         REGRESSION: Animated GIF ignores frame intervals and loops infinitely
7
8         No test possible.
9
10         * platform/Image.cpp:
11         (WebCore::Image::shouldAnimate): Don't check that there is more than one frame,
12         maybe the rest just hasn't been loaded yet.
13         (WebCore::Image::startAnimation): Move the frame count check here - there is no need
14         to start animating before we get at least two frames.
15
16 2006-09-17  Brady Eidson <beidson@apple.com>
17
18         Reviewed by Sarge
19
20         IconLoader now gracefully handles the condition where there's no document in the frame
21         (ie. PDFs)
22
23         * loader/icon/IconLoader.cpp:
24         (IconLoader::startLoading):
25
26 2006-09-17  David Hyatt  <hyatt@apple.com>
27
28         Fix for bug 10899, rework how CSS keywords work to be smarter about
29         using the correct size when generic families change (e.g., monospace to
30         serif and vice versa).
31
32         Reviewed by aroben
33
34         Added fast/text/basic/generic-family-changes.html
35
36         * css/cssstyleselector.cpp:
37         (WebCore::CSSStyleSelector::applyProperty):
38         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
39         (WebCore::CSSStyleSelector::fontSizeForKeyword):
40         * css/cssstyleselector.h:
41         * dom/Document.cpp:
42         (WebCore::Document::recalcStyle):
43         * platform/FontDescription.h:
44         (WebCore::FontDescription::FontDescription):
45         (WebCore::FontDescription::keywordSize):
46         (WebCore::FontDescription::setKeywordSize):
47         (WebCore::FontDescription::operator==):
48
49 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
50
51         Reviewed by Brady.
52
53         http://bugzilla.opendarwin.org/show_bug.cgi?id=10852
54         REGRESSION: Reproducible crash in XMLHttpRequest::abort()
55
56         Test: http/tests/xmlhttprequest/xhr-onunload.html
57
58         * xml/xmlhttprequest.cpp:
59         (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start().
60
61         * loader/icon/IconLoader.cpp:
62         (IconLoader::startLoading): Fix a similar latent bug here.
63
64 2006-09-17  Adam Roben  <aroben@apple.com>
65
66         Build fix.
67
68         * loader/icon/IconDatabase.cpp:
69
70 2006-09-17  Anders Carlsson  <acarlsson@apple.com>
71
72         Reviewed by Brady.
73
74         Add simplifyWhiteSpace and stripWhiteSpace to the String class. 
75         Change the XSLT Parameter Map to use Strings instead of StringImpls.
76         General cleanup.
77
78         * bindings/js/JSXSLTProcessor.cpp:
79         (KJS::XSLTProcessorProtoFunc::callAsFunction):
80         * bindings/js/kjs_events.cpp:
81         (KJS::JSAbstractEventListener::handleEvent):
82         * bindings/js/kjs_window.cpp:
83         (KJS::ScheduledAction::execute):
84         * css/MediaList.cpp:
85         (WebCore::MediaList::setMediaText):
86         * dom/Document.cpp:
87         (WebCore::Document::processHttpEquiv):
88         * editing/ApplyStyleCommand.cpp:
89         (WebCore::StyleChange::init):
90         * html/HTMLDocument.cpp:
91         (WebCore::parseDocTypeDeclaration):
92         * html/HTMLLinkElement.cpp:
93         (WebCore::HTMLLinkElement::parseMappedAttribute):
94         * html/HTMLObjectElement.cpp:
95         (WebCore::HTMLObjectElement::HTMLObjectElement):
96         (WebCore::HTMLObjectElement::parseMappedAttribute):
97         (WebCore::HTMLObjectElement::attach):
98         (WebCore::HTMLObjectElement::setComplete):
99         (WebCore::HTMLObjectElement::detach):
100         (WebCore::HTMLObjectElement::recalcStyle):
101         (WebCore::HTMLObjectElement::childrenChanged):
102         (WebCore::HTMLObjectElement::isImageType):
103         * html/HTMLObjectElement.h:
104         * html/HTMLOptionElement.cpp:
105         (WebCore::HTMLOptionElement::value):
106         * html/HTMLSelectElement.cpp:
107         (WebCore::HTMLSelectElement::appendFormData):
108         * html/HTMLTokenizer.cpp:
109         (WebCore::HTMLTokenizer::parseTag):
110         * ksvg2/svg/SVGColor.cpp:
111         (WebCore::SVGColor::setRGBColor):
112         * ksvg2/svg/SVGDescElement.cpp:
113         (WebCore::SVGDescElement::description):
114         * platform/PlatformString.h:
115         * platform/String.cpp:
116         (WebCore::String::stripWhiteSpace):
117         (WebCore::String::simplifyWhiteSpace):
118         * platform/StringImpl.cpp:
119         (WebCore::isSpace):
120         (WebCore::parseLength):
121         (WebCore::StringImpl::stripWhiteSpace):
122         (WebCore::StringImpl::simplifyWhiteSpace):
123         (WebCore::StringImpl::toInt):
124         * platform/StringImpl.h:
125         * platform/mac/ClipboardMac.mm:
126         (WebCore::cocoaTypeFromMIMEType):
127         * rendering/RenderPartObject.cpp:
128         (WebCore::RenderPartObject::updateWidget):
129         * xml/XPathFunctions.cpp:
130         (WebCore::XPath::FunNormalizeSpace::doEvaluate):
131         * xml/XPathGrammar.y:
132         * xml/XPathStep.cpp:
133         (WebCore::XPath::Step::nodeTestMatches):
134         * xml/XSLStyleSheet.cpp:
135         (WebCore::XSLStyleSheet::loadChildSheets):
136         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
137         * xml/XSLTProcessor.cpp:
138         (WebCore::xsltParamArrayFromParameterMap):
139         (WebCore::XSLTProcessor::setParameter):
140         (WebCore::XSLTProcessor::getParameter):
141         (WebCore::XSLTProcessor::removeParameter):
142         * xml/XSLTProcessor.h:
143         * xml/xmlhttprequest.cpp:
144         (WebCore::XMLHttpRequest::getStatusText):
145
146 2006-09-17  David Hyatt  <hyatt@apple.com>
147
148         Fix for bugzilla bugs 10895 and 6336, fieldsets misbehaving when floats
149         are declared right before the fieldsets.  It turns out fieldsets in other
150         browsers avoid floats (like overflow:auto/hidden/scroll sections do), so
151         adding that behavior to fieldset fixes the bug.
152
153         Made avoidsFloats virtual and did some refactoring to make tables, flexboxes
154         and fieldsets all subclass.
155
156         Reviewed by anders
157
158         Added fast/forms/float-before-fieldset.html
159
160         * rendering/RenderFieldset.h:
161         (WebCore::RenderFieldset::avoidsFloats):
162         * rendering/RenderFlexibleBox.h:
163         (WebCore::RenderFlexibleBox::avoidsFloats):
164         * rendering/RenderObject.cpp:
165         (WebCore::RenderObject::avoidsFloats):
166         * rendering/RenderObject.h:
167         * rendering/RenderTable.h:
168         (WebCore::RenderTable::avoidsFloats):
169
170 2006-09-17  David Hyatt  <hyatt@apple.com>
171
172         Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and
173         "rules" attributes on tables.
174
175         Reviewed by bradee-oh
176
177         Well-covered by existing layout tests.
178
179         * html/HTMLTableCellElement.cpp:
180         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecl):
181         * html/HTMLTableColElement.cpp:
182         (WebCore::HTMLTableColElement::additionalAttributeStyleDecl):
183         * html/HTMLTableColElement.h:
184         * html/HTMLTableElement.cpp:
185         (WebCore::HTMLTableElement::HTMLTableElement):
186         (WebCore::HTMLTableElement::~HTMLTableElement):
187         (WebCore::HTMLTableElement::setCaption):
188         (WebCore::HTMLTableElement::setTHead):
189         (WebCore::HTMLTableElement::setTFoot):
190         (WebCore::HTMLTableElement::setTBody):
191         (WebCore::HTMLTableElement::createTHead):
192         (WebCore::HTMLTableElement::deleteTHead):
193         (WebCore::HTMLTableElement::createTFoot):
194         (WebCore::HTMLTableElement::deleteTFoot):
195         (WebCore::HTMLTableElement::createCaption):
196         (WebCore::HTMLTableElement::deleteCaption):
197         (WebCore::HTMLTableElement::insertRow):
198         (WebCore::HTMLTableElement::deleteRow):
199         (WebCore::HTMLTableElement::addChild):
200         (WebCore::HTMLTableElement::childrenChanged):
201         (WebCore::HTMLTableElement::mapToEntry):
202         (WebCore::HTMLTableElement::parseMappedAttribute):
203         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
204         (WebCore::HTMLTableElement::getSharedCellDecl):
205         (WebCore::HTMLTableElement::getSharedGroupDecl):
206         (WebCore::HTMLTableElement::attach):
207         * html/HTMLTableElement.h:
208         (WebCore::HTMLTableElement::caption):
209         (WebCore::HTMLTableElement::tHead):
210         (WebCore::HTMLTableElement::tFoot):
211         (WebCore::HTMLTableElement::):
212         * html/HTMLTableRowElement.h:
213         * html/HTMLTableSectionElement.cpp:
214         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecl):
215         * html/HTMLTableSectionElement.h:
216
217 2006-09-17  David Hyatt  <hyatt@apple.com>
218
219         Fix for bugzilla bug 4192, font size wrong for <tt> elements that
220         specify their own new font-family list.  Make sure to always
221         reset the generic family along with the family list when mapping in
222         new font-family values.
223
224         Reviewed by bradee-oh
225
226         fast/text/basic/generic-family-reset.html
227
228         * css/cssstyleselector.cpp:
229         (WebCore::CSSStyleSelector::applyProperty):
230
231 2006-09-16  Brady Eidson <beidson@apple.com>
232
233         Reviewed by Hyatt
234
235         Pruning code relating to WebKit's icon loader
236
237         * bridge/mac/WebCoreIconDatabaseBridge.h:
238         * bridge/mac/WebCoreIconDatabaseBridge.mm:
239         * loader/icon/IconDatabase.h:
240         * page/Frame.cpp:
241         (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to 
242         its new home
243
244 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
245
246         Reviewed by Tim H.
247
248         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10885
249         Auto-generate DOMHTMLDocument for the Objective-C bindings
250
251         * DerivedSources.make:
252         * WebCore.xcodeproj/project.pbxproj:
253         * bindings/objc/DOMExtensions.h:
254         * bindings/objc/DOMHTML.mm:
255         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
256         * bindings/objc/DOMHTMLDocument.h: Removed.
257         * bindings/objc/DOMHTMLDocument.mm: Removed.
258         * bindings/objc/PublicDOMInterfaces.h:
259         * bindings/scripts/CodeGeneratorObjC.pm:
260         * html/HTMLDocument.idl:
261         * platform/DeprecatedString.h:
262         (WebCore::DeprecatedString::operator NSString*):
263
264 2006-09-16  Rob Buis  <buis@kde.org>
265
266         Reviewed by Eric.
267
268         http://bugzilla.opendarwin.org/show_bug.cgi?id=10866
269         Code in kcanvas/ should not use Private
270
271         Remove Private classes and tweak coding style.
272
273         WARNING: NO TEST CASES ADDED OR CHANGED
274
275         * kcanvas/RenderPath.cpp:
276         (WebCore::RenderPath::RenderPath):
277         (WebCore::RenderPath::~RenderPath):
278         (WebCore::RenderPath::localTransform):
279         (WebCore::RenderPath::setLocalTransform):
280         (WebCore::RenderPath::fillContains):
281         (WebCore::RenderPath::relativeBBox):
282         (WebCore::RenderPath::setPath):
283         (WebCore::RenderPath::path):
284         (WebCore::RenderPath::layout):
285         * kcanvas/RenderPath.h:
286         * kcanvas/RenderSVGContainer.cpp:
287         (WebCore::RenderSVGContainer::RenderSVGContainer):
288         (WebCore::RenderSVGContainer::~RenderSVGContainer):
289         (WebCore::RenderSVGContainer::drawsContents):
290         (WebCore::RenderSVGContainer::setDrawsContents):
291         (WebCore::RenderSVGContainer::localTransform):
292         (WebCore::RenderSVGContainer::setLocalTransform):
293         (WebCore::RenderSVGContainer::layout):
294         (WebCore::RenderSVGContainer::paint):
295         (WebCore::RenderSVGContainer::setViewport):
296         (WebCore::RenderSVGContainer::viewport):
297         (WebCore::RenderSVGContainer::setViewBox):
298         (WebCore::RenderSVGContainer::viewBox):
299         (WebCore::RenderSVGContainer::setAlign):
300         (WebCore::RenderSVGContainer::align):
301         (WebCore::RenderSVGContainer::fillContains):
302         (WebCore::RenderSVGContainer::strokeContains):
303         (WebCore::RenderSVGContainer::setSlice):
304         (WebCore::RenderSVGContainer::slice):
305         * kcanvas/RenderSVGContainer.h:
306         * kcanvas/device/KRenderingFillPainter.cpp:
307         (WebCore::KRenderingFillPainter::KRenderingFillPainter):
308         (WebCore::KRenderingFillPainter::~KRenderingFillPainter):
309         (WebCore::KRenderingFillPainter::fillRule):
310         (WebCore::KRenderingFillPainter::setFillRule):
311         (WebCore::KRenderingFillPainter::opacity):
312         (WebCore::KRenderingFillPainter::setOpacity):
313         * kcanvas/device/KRenderingFillPainter.h:
314         * kcanvas/device/KRenderingPaintServerGradient.cpp:
315         (WebCore::KRenderingPaintServerGradient::KRenderingPaintServerGradient):
316         (WebCore::KRenderingPaintServerGradient::~KRenderingPaintServerGradient):
317         (WebCore::KRenderingPaintServerGradient::gradientStops):
318         (WebCore::KRenderingPaintServerGradient::setGradientStops):
319         (WebCore::KRenderingPaintServerGradient::spreadMethod):
320         (WebCore::KRenderingPaintServerGradient::setGradientSpreadMethod):
321         (WebCore::KRenderingPaintServerGradient::boundingBoxMode):
322         (WebCore::KRenderingPaintServerGradient::setBoundingBoxMode):
323         (WebCore::KRenderingPaintServerGradient::gradientTransform):
324         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
325         (WebCore::KRenderingPaintServerLinearGradient::KRenderingPaintServerLinearGradient):
326         (WebCore::KRenderingPaintServerLinearGradient::~KRenderingPaintServerLinearGradient):
327         (WebCore::KRenderingPaintServerLinearGradient::gradientStart):
328         (WebCore::KRenderingPaintServerLinearGradient::setGradientStart):
329         (WebCore::KRenderingPaintServerLinearGradient::gradientEnd):
330         (WebCore::KRenderingPaintServerLinearGradient::setGradientEnd):
331         (WebCore::KRenderingPaintServerRadialGradient::KRenderingPaintServerRadialGradient):
332         (WebCore::KRenderingPaintServerRadialGradient::~KRenderingPaintServerRadialGradient):
333         (WebCore::KRenderingPaintServerRadialGradient::gradientCenter):
334         (WebCore::KRenderingPaintServerRadialGradient::setGradientCenter):
335         (WebCore::KRenderingPaintServerRadialGradient::gradientFocal):
336         (WebCore::KRenderingPaintServerRadialGradient::setGradientFocal):
337         (WebCore::KRenderingPaintServerRadialGradient::gradientRadius):
338         (WebCore::KRenderingPaintServerRadialGradient::setGradientRadius):
339         (WebCore::KRenderingPaintServerGradient::listener):
340         (WebCore::KRenderingPaintServerGradient::setListener):
341         * kcanvas/device/KRenderingPaintServerGradient.h:
342         * kcanvas/device/KRenderingPaintServerPattern.cpp:
343         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
344         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
345         (WebCore::KRenderingPaintServerPattern::setBbox):
346         (WebCore::KRenderingPaintServerPattern::bbox):
347         (WebCore::KRenderingPaintServerPattern::boundingBoxMode):
348         (WebCore::KRenderingPaintServerPattern::setBoundingBoxMode):
349         (WebCore::KRenderingPaintServerPattern::tile):
350         (WebCore::KRenderingPaintServerPattern::setTile):
351         (WebCore::KRenderingPaintServerPattern::patternTransform):
352         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
353         (WebCore::KRenderingPaintServerPattern::listener):
354         (WebCore::KRenderingPaintServerPattern::setListener):
355         * kcanvas/device/KRenderingPaintServerPattern.h:
356         * kcanvas/device/KRenderingPaintServerSolid.cpp:
357         (WebCore::KRenderingPaintServerSolid::KRenderingPaintServerSolid):
358         (WebCore::KRenderingPaintServerSolid::~KRenderingPaintServerSolid):
359         (WebCore::KRenderingPaintServerSolid::color):
360         (WebCore::KRenderingPaintServerSolid::setColor):
361         * kcanvas/device/KRenderingPaintServerSolid.h:
362         * kcanvas/device/KRenderingStrokePainter.cpp:
363         (WebCore::KRenderingStrokePainter::KRenderingStrokePainter):
364         (WebCore::KRenderingStrokePainter::~KRenderingStrokePainter):
365         (WebCore::KRenderingStrokePainter::strokeWidth):
366         (WebCore::KRenderingStrokePainter::setStrokeWidth):
367         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
368         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
369         (WebCore::KRenderingStrokePainter::strokeCapStyle):
370         (WebCore::KRenderingStrokePainter::setStrokeCapStyle):
371         (WebCore::KRenderingStrokePainter::strokeJoinStyle):
372         (WebCore::KRenderingStrokePainter::setStrokeJoinStyle):
373         (WebCore::KRenderingStrokePainter::dashOffset):
374         (WebCore::KRenderingStrokePainter::setDashOffset):
375         (WebCore::KRenderingStrokePainter::dashArray):
376         (WebCore::KRenderingStrokePainter::setDashArray):
377         (WebCore::KRenderingStrokePainter::opacity):
378         (WebCore::KRenderingStrokePainter::setOpacity):
379         (WebCore::KRenderingStrokePainter::dirty):
380         (WebCore::KRenderingStrokePainter::setDirty):
381         * kcanvas/device/KRenderingStrokePainter.h:
382
383 2006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
384
385         Reviewed by Anders.
386
387         http://bugzilla.opendarwin.org/show_bug.cgi?id=10887
388         Fix build error
389
390         * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h.
391
392 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
393
394         Reviewed by Anders.
395
396         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10886
397         REGRESSION (r16387): Reproducible crash when mousing over HTML document
398
399         - Special case method [DOMNode ownerDocument] to call document() instead
400           or ownerDocument() to return to the old behavior. 
401
402         * WebCore.xcodeproj/project.pbxproj:
403         * bindings/scripts/CodeGeneratorObjC.pm:
404
405 2006-09-15  Brady Eidson  <beidson@apple.com>
406
407         Reviewed by Tim Hatcher
408
409         <rdar://problem/4730811> - New IconDatabase needs to attempt to create its path.
410         Otherwise new installs and new user accounts won't have any icons because the icon.db cannot be created
411
412         * loader/icon/IconDatabase.cpp: Removed a now obsolete FIXME
413         (WebCore::makeAllDirectories): Added - candidate to be in a header for "platform neutral file utilities"
414         (WebCore::IconDatabase::open): Make sure the directory exists
415
416 2006-09-15  Timothy Hatcher  <timothy@apple.com>
417
418         Reviewed by Brady.
419
420         Make new style ObjC methods public API.
421
422         * WebCore.xcodeproj/project.pbxproj:
423         * bindings/objc/DOMPrivate.h:
424         * bindings/objc/PublicDOMInterfaces.h:
425
426 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
427
428         Reviewed by Tim H.
429
430         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10870
431         Auto-generate DOMNode for the Objective-C bindings
432
433         * DerivedSources.make:
434         * WebCore.xcodeproj/project.pbxproj:
435         * bindings/objc/DOM.mm:
436         (-[DOMNode boundingBox]):
437         (-[DOMNode lineBoxRects]):
438         * bindings/objc/DOMEvents.h:
439         * bindings/objc/DOMExtensions.h:
440         * bindings/objc/DOMNode.h: Removed.
441         * bindings/objc/DOMNode.mm: Removed.
442         * bindings/objc/PublicDOMInterfaces.h:
443         * bindings/scripts/CodeGeneratorObjC.pm:
444         * dom/Node.idl:
445
446 2006-09-15  Timothy Hatcher  <timothy@apple.com>
447
448         Reviewed by Justin.
449
450         Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.
451
452         * bridge/mac/WebCoreFrameBridge.h:
453         * bridge/mac/WebCoreFrameBridge.mm:
454         (-[WebCoreFrameBridge centerSelectionInVisibleArea]):
455         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
456         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
457         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
458         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
459         (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
460         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
461         (-[WebCoreFrameBridge increaseSelectionListLevel]):
462         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
463         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
464         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
465         (-[WebCoreFrameBridge insertLineBreak]):
466         (-[WebCoreFrameBridge insertParagraphSeparator]):
467         (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
468         (-[WebCoreFrameBridge insertText:selectInsertedText:]):
469         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
470         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
471         (createMouseEventFromDraggingInfo):
472         * editing/SelectionController.cpp:
473         (WebCore::SelectionController::moveTo):
474         (WebCore::SelectionController::setSelection):
475         (WebCore::SelectionController::modify):
476         (WebCore::SelectionController::setBase):
477         (WebCore::SelectionController::setExtent):
478         * editing/SelectionController.h:
479         * page/Frame.cpp:
480         (WebCore::Frame::revealSelection):
481         (WebCore::Frame::revealCaret):
482         * page/Frame.h:
483
484 2006-09-15  Brady Eidson  <beidson@apple.com>
485
486         Reviewed by Anders
487
488         Added the ability to get a mutable char* from a CString, which will copy the internal
489         buffer if the ref count is greater than 1 so your mutable char* won't affect any other
490         referrer of that buffer.
491
492         * platform/CString.cpp:
493         (WebCore::CString::mutableData):
494         (WebCore::CString::copyBufferIfNeeded):
495         * platform/CString.h:
496
497 2006-09-15  Justin Garcia  <justin.garcia@apple.com>
498
499         Reviewed by harrison
500         
501         <rdar://problem/4674869>
502         REGRESSION: selecting text to write over results in cursor jumping to middle of next line
503
504         * editing/SelectionController.cpp:
505         (WebCore::SelectionController::modify): Added lineBoundary to test fix.
506         * editing/visible_units.cpp:
507         (WebCore::endOfLine): If the last box on the line is a lineBreak, return the
508         position before it, not after it.
509
510 2006-09-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
511
512         Reviewed by Adam.
513
514         http://bugzilla.opendarwin.org/show_bug.cgi?id=10864
515         Bug 10864: Linux\GDK build fixes
516
517         * Projects/gdk/webcore-gdk.bkl:
518         * WebCoreSources.bkl:
519         * platform/gdk/FontCacheGdk.cpp:
520         * platform/gdk/FontDataGdk.cpp:
521         (WebCore::FontData::platformInit):
522         * platform/gdk/FontGdk.cpp:
523         (WebCore::Font::drawGlyphs):
524         * platform/gdk/FrameGdk.cpp:
525         (WebCore::FrameGdk::handleGdkEvent):
526         * platform/gdk/FrameGdk.h:
527         * platform/gdk/ImageGdk.cpp: Added.
528         (WebCore::Image::initPlatformData):
529         (WebCore::Image::invalidatePlatformData):
530         (WebCore::Image::loadPlatformResource):
531         (WebCore::Image::supportsType):
532         * platform/gdk/RenderPopupMenuGdk.cpp:
533         (WebCore::RenderPopupMenuGdk::hidePopup):
534         * platform/gdk/RenderPopupMenuGdk.h:
535         * platform/gdk/ScreenGdk.cpp:
536         (WebCore::drawableForPage):
537         (WebCore::screenRect):
538         (WebCore::screenDepth):
539         (WebCore::usableScreenRect):
540         (WebCore::scaleFactor):
541         * platform/gdk/SystemTimeLinux.cpp:
542         (WebCore::currentTime):
543         * platform/gdk/TemporaryLinkStubs.cpp:
544         (FrameGdk::bindingRootObject):
545         (FrameGdk::markMisspellings):
546         (WebCore::screenDepthPerComponent):
547         (WebCore::screenIsMonochrome):
548         (WebCore::fileButtonChooseFileLabel):
549         (WebCore::fileButtonNoFileSelectedLabel):
550         (FrameGdk::shouldChangeSelection):
551         (FrameGdk::respondToChangedSelection):
552         (FrameGdk::respondToChangedContents):
553         (Path::contains):
554         (PlatformScrollBar::PlatformScrollBar):
555         (PlatformScrollBar::~PlatformScrollBar):
556         (PlatformScrollBar::width):
557         (PlatformScrollBar::height):
558         (PlatformScrollBar::setEnabled):
559         (PlatformScrollBar::paint):
560         (PlatformScrollBar::setScrollBarValue):
561         (PlatformScrollBar::setKnobProportion):
562         (PlatformScrollBar::setRect):
563         (ScrollBar::ScrollBar):
564         (FileChooser::FileChooser):
565         (FileChooser::~FileChooser):
566         (FileChooser::openFileChooser):
567         (FileChooser::basenameForWidth):
568         (FileChooser::uploadControlDetaching):
569         (FileChooser::chooseFile):
570         (Icon::Icon):
571         (Icon::~Icon):
572         (Icon::newIconForFile):
573         (Icon::paint):
574         (IconLoader::stopLoading):
575         (IconLoader::startLoading):
576         (IconLoader::createForFrame):
577         (IconDatabase::isIconExpiredForIconURL):
578         (IconDatabase::hasEntryForIconURL):
579         (IconDatabase::sharedIconDatabase):
580         * platform/gdk/WidgetGdk.cpp:
581         * webcore-base.bkl:
582
583 2006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
584
585         Reviewed by Eric.
586
587         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10835
588         Fix svg memory leaks.
589
590         Reworked SVGList to deal with RefPtr's for ptr types
591         which makes manual refcounting unnecessary, and is much safer.
592
593         Removing all virtual functions (nullItem) from SVGList, and
594         also remove SVGListBase. Switch to a similar concept like
595         Vector/VectorTraits (see new file SVGListTraits.h).
596
597         Credits go to Eric/Maciej for the inspiration.
598
599         * CMakeLists.txt: Add SVGListTraits.cpp to build
600         * WebCore.xcodeproj/project.pbxproj: Ditto.
601         * bindings/scripts/CodeGeneratorJS.pm: Generator changes for SVGTransform/PathSeg/LengthList (now RefPtr based)
602         * kcanvas/RenderSVGText.cpp: Add some get() methods, as SVGLengthList is RefPtr based now.
603         (WebCore::RenderSVGText::translationForAttributes):
604         * ksvg2/svg/SVGAnimateTransformElement.cpp: Add some get() methods, as SVGTransformList is RefPtr based now.
605         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
606         * ksvg2/svg/SVGElementInstanceList.cpp: Be RefPtr based.
607         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
608         * ksvg2/svg/SVGElementInstanceList.h:
609         * ksvg2/svg/SVGLengthList.cpp: Ditto.
610         (WebCore::SVGLengthList::SVGLengthList):
611         * ksvg2/svg/SVGLengthList.h: Ditto.
612         * ksvg2/svg/SVGList.h: Rewrote, as described above.
613         (WebCore::SVGListTypeOperations::nullItem):
614         (WebCore::SVGList::SVGList):
615         (WebCore::SVGList::~SVGList):
616         (WebCore::SVGList::clear):
617         (WebCore::SVGList::getFirst):
618         (WebCore::SVGList::getLast):
619         (WebCore::SVGList::getItem):
620         (WebCore::SVGList::replaceItem):
621         (WebCore::SVGList::removeItem):
622         * ksvg2/svg/SVGListTraits.cpp: Added.
623         * ksvg2/svg/SVGListTraits.h: Added.
624         (WebCore::):
625         * ksvg2/svg/SVGPathElement.cpp: Add some get() methods, as SVGPathSegList is RefPtr based now.
626         (WebCore::SVGPathElement::toPathData):
627         * ksvg2/svg/SVGPathSegList.cpp: Be RefPtr based.
628         (WebCore::SVGPathSegList::SVGPathSegList):
629         * ksvg2/svg/SVGPathSegList.h: Ditto.
630         * ksvg2/svg/SVGTransform.cpp: Style cleanup.
631         (SVGTransform::SVGTransform):
632         * ksvg2/svg/SVGTransformList.cpp: Be RefPtr based.
633         (SVGTransformList::SVGTransformList):
634         (SVGTransformList::createSVGTransformFromMatrix):
635         (SVGTransformList::consolidate):
636         * ksvg2/svg/SVGTransformList.h: Ditto.
637         * ksvg2/svg/SVGTransformable.cpp: Fix RefPtr usage of SVGTransform.
638         (SVGTransformable::parseTransformAttribute):
639
640 2006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
641
642         Reviewed by eseidel.  Landed by eseidel.
643
644         Fix build on Qt/Linux and implement Frame::addMessageToConsole to
645         be able to see javascript errors for instance.
646
647         * CMakeLists.txt:
648         * platform/qt/FrameQt.h:
649         * platform/qt/FrameQt.cpp: Implement addMessageToConsole.
650         (WebCore::FrameQt::bindingRootObject):
651         * platform/qt/TemporaryLinkStubs.cp
652         (WebCore::IconDatabase::hasEntryForIconURL):
653         (WebCore::IconDatabase::sharedIconDatabase):
654
655 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
656
657         Reviewed by Tim H.
658
659         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10869
660         Auto-generate the internal methods for the Objective-C bindings
661
662         - Auto-generates the internal method (ie. the _fooBar and _fooBarWith methods)
663           implementations where standard.  For cases where a custom implementation was
664           needed, added a [ObjCNoInternal] extended attribute to the corresponding IDL.
665
666         - Some general cleanup of some of the non-generated bindings, to bring them in-
667           line with what the generated bindings look like.
668
669         * bindings/objc/DOM.mm:
670         (-[DOMNode description]):
671         * bindings/objc/DOMCSS.mm:
672         (-[DOMCSSPrimitiveValue WebCore::]):
673         (-[DOMDocument getComputedStyle::]):
674         (-[DOMDocument getMatchedCSSRules::]):
675         * bindings/objc/DOMEvents.mm:
676         (-[DOMEvent WebCore::]):
677         * bindings/objc/DOMHTML.mm:
678         * bindings/objc/DOMHTMLDocument.mm:
679         (-[DOMHTMLDocument title]):
680         (-[DOMHTMLDocument setTitle:]):
681         (-[DOMHTMLDocument referrer]):
682         (-[DOMHTMLDocument domain]):
683         (-[DOMHTMLDocument URL]):
684         (-[DOMHTMLDocument body]):
685         (-[DOMHTMLDocument setBody:]):
686         (-[DOMHTMLDocument images]):
687         (-[DOMHTMLDocument applets]):
688         (-[DOMHTMLDocument links]):
689         (-[DOMHTMLDocument forms]):
690         (-[DOMHTMLDocument anchors]):
691         (-[DOMHTMLDocument cookie]):
692         (-[DOMHTMLDocument setCookie:]):
693         (-[DOMHTMLDocument open]):
694         (-[DOMHTMLDocument close]):
695         (-[DOMHTMLDocument write:]):
696         (-[DOMHTMLDocument writeln:]):
697         (-[DOMHTMLDocument getElementById:]):
698         (-[DOMHTMLDocument getElementsByName:]):
699         (-[DOMHTMLDocument WebCore::]):
700         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
701         * bindings/objc/DOMHTMLOptionElement.mm:
702         (-[DOMHTMLOptionElement form]):
703         (-[DOMHTMLOptionElement defaultSelected]):
704         (-[DOMHTMLOptionElement setDefaultSelected:]):
705         (-[DOMHTMLOptionElement text]):
706         (-[DOMHTMLOptionElement index]):
707         (-[DOMHTMLOptionElement disabled]):
708         (-[DOMHTMLOptionElement setDisabled:]):
709         (-[DOMHTMLOptionElement label]):
710         (-[DOMHTMLOptionElement setLabel:]):
711         (-[DOMHTMLOptionElement selected]):
712         (-[DOMHTMLOptionElement setSelected:]):
713         (-[DOMHTMLOptionElement value]):
714         (-[DOMHTMLOptionElement setValue:]):
715         (-[DOMHTMLOptionElement WebCore::]):
716         (+[DOMHTMLOptionElement _HTMLOptionElementWith:WebCore::]):
717         * bindings/objc/DOMInternal.h:
718         * bindings/objc/DOMNode.mm:
719         (-[DOMNode dealloc]):
720         (-[DOMNode finalize]):
721         (-[DOMNode nodeName]):
722         (-[DOMNode nodeValue]):
723         (-[DOMNode setNodeValue:]):
724         (-[DOMNode nodeType]):
725         (-[DOMNode parentNode]):
726         (-[DOMNode childNodes]):
727         (-[DOMNode firstChild]):
728         (-[DOMNode lastChild]):
729         (-[DOMNode previousSibling]):
730         (-[DOMNode nextSibling]):
731         (-[DOMNode attributes]):
732         (-[DOMNode ownerDocument]):
733         (-[DOMNode insertBefore::]):
734         (-[DOMNode replaceChild::]):
735         (-[DOMNode removeChild:]):
736         (-[DOMNode appendChild:]):
737         (-[DOMNode hasChildNodes]):
738         (-[DOMNode cloneNode:]):
739         (-[DOMNode normalize]):
740         (-[DOMNode isSupported::]):
741         (-[DOMNode namespaceURI]):
742         (-[DOMNode prefix]):
743         (-[DOMNode setPrefix:]):
744         (-[DOMNode localName]):
745         (-[DOMNode hasAttributes]):
746         (-[DOMNode isSameNode:]):
747         (-[DOMNode isEqualNode:]):
748         (-[DOMNode isDefaultNamespace:]):
749         (-[DOMNode lookupPrefix:]):
750         (-[DOMNode lookupNamespaceURI:]):
751         (-[DOMNode textContent]):
752         (-[DOMNode setTextContent:]):
753         (-[DOMNode boundingBox]):
754         (-[DOMNode lineBoxRects]):
755         * bindings/objc/DOMObject.mm:
756         (-[DOMObject _init]):
757         * bindings/objc/DOMXPath.mm:
758         (-[DOMNativeXPathNSResolver dealloc]):
759         (-[DOMNativeXPathNSResolver finalize]):
760         (-[DOMNativeXPathNSResolver WebCore::]):
761         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
762         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]):
763         (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
764         * bindings/scripts/CodeGeneratorObjC.pm:
765         * bridge/mac/WebCoreFrameBridge.mm:
766         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
767         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
768         * css/CSSCharsetRule.idl:
769         * css/CSSFontFaceRule.idl:
770         * css/CSSImportRule.idl:
771         * css/CSSMediaRule.idl:
772         * css/CSSPageRule.idl:
773         * css/CSSPrimitiveValue.idl:
774         * css/CSSRule.idl:
775         * css/CSSStyleRule.idl:
776         * css/CSSStyleSheet.idl:
777         * css/CSSUnknownRule.idl:
778         * css/CSSValue.idl:
779         * css/CSSValueList.idl:
780         * css/StyleSheet.idl:
781         * dom/Event.idl:
782         * dom/KeyboardEvent.idl:
783         * dom/MouseEvent.idl:
784         * dom/MutationEvent.idl:
785         * dom/NodeIterator.idl:
786         * dom/OverflowEvent.idl:
787         * dom/TreeWalker.idl:
788         * dom/UIEvent.idl:
789         * dom/WheelEvent.idl:
790
791 2006-09-15  Adam Roben  <aroben@apple.com>
792
793         Reviewed by timothy.
794
795         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10865
796         New file upload control should match the width of the old one
797
798         Make width of new file upload control match the old one as closely as
799         possible.
800
801         * rendering/RenderFileUploadControl.cpp:
802
803 2006-09-15  Timothy Hatcher  <timothy@apple.com>
804
805         Reviewed by Eric.
806
807         Remove the SVG IDL files from the Copy Resources phase.
808
809         * WebCore.xcodeproj/project.pbxproj:
810
811 2006-09-15  Brady Eidson  <beidson@apple.com>
812
813         Reviewed by Eric Siedel
814
815         Dumped the use of CGColorRef and directly use the floating point data from
816         WebCore::Color
817
818         This fixes the performance regression found between 16285 and 16286
819
820         * platform/mac/FontMac.mm:
821         (WebCore::Font::drawComplexText):
822         (WebCore::Font::drawGlyphs):
823
824 2006-09-14  Mark Rowe  <opendarwin.org@bdash.net.nz>
825
826         Reviewed by Adam.
827
828         http://bugzilla.opendarwin.org/show_bug.cgi?id=10838
829         Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate
830
831         FrameMac relies on its cleanupPluginObjects being called to perform cleanup.  The virtual
832         Frame::cleanupPluginObjects method is called from Frame's destructor, which results
833         in Frame::cleanupPluginObjects being called rather than FrameMac::cleanupPluginObjects.
834
835         * bridge/mac/FrameMac.mm:
836         (WebCore::FrameMac::~FrameMac): Call cancelAndClear to ensure that FrameMac::cleanupPluginObjects
837         will be called from Frame::clear
838         * page/Frame.cpp:
839         (WebCore::Frame::~Frame): Use cancelAndClear.
840         (WebCore::Frame::cancelAndClear): Move cancellation and clearing into a separate method that
841         FrameMac can use.
842         * page/Frame.h:
843
844 2006-09-14  Brady Eidson  <beidson@apple.com>
845
846         Reviewed by Maciej's rubber stamp
847
848         Exact same fix I just made, but in the other method I horked up
849         Also added a reference to the bugzilla in comments
850
851         * page/Frame.cpp:
852         (WebCore::Frame::endIfNotLoading):
853         (WebCore::Frame::stop):
854
855 2006-09-14  Brady Eidson  <beidson@apple.com>
856
857         Reviewed by Maciej
858
859         Fixed a bad iFrame crash, resolving some of the layout test badness
860
861         * page/Frame.cpp:
862         (WebCore::Frame::endIfNotLoading):
863         - Added a RefPtr to protect the frame itself to prevent its destruction during this method
864
865 2006-09-14  Justin Garcia  <justin.garcia@apple.com>
866
867         Reviewed by harrison
868         
869         <rdar://problem/4655880> Up/Down arrows skip over To Do
870
871         * bridge/mac/WebCoreFrameBridge.mm:
872         (-[WebCoreFrameBridge canDeleteRange:]): Added a FIXME.
873         * dom/Node.cpp: Removed the unused inSameRootEditableElement.
874         * dom/Node.h:
875         * editing/SelectionController.cpp:
876         (WebCore::SelectionController::modify): Added documentboundary to granularities in order test a fix.
877         * editing/visible_units.cpp:
878         (WebCore::previousLinePosition): Use highestEditableRoot so that this function can move from
879         editable content into editable content that's embedded in non-editable content.
880         (WebCore::nextLinePosition): Ditto.
881         (WebCore::startOfEditableContent): Renamed from startOfEditableRoot and use highestEditableRoot.
882         This is the behavior that callers desire.  This fixes Command + Up/Down.
883         (WebCore::endOfEditableContent): Ditto.
884         * editing/visible_units.h:
885
886 2006-09-14  Karthik Kumar  <karthikkumar@gmail.com>
887
888         Reviewed by timothy. Landed by aroben.
889
890         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10856
891         Windows build fixes after r16360
892
893         * WebCore.vcproj/WebCore/WebCore.vcproj: Add loader\icon to
894         AdditionalIncludeDirectories
895         * platform/win/TemporaryLinkStubs.cpp: Add link stubs for IconLoader,
896         IconDatabase
897         (IconLoader::stopLoading):
898         (IconLoader::startLoading):
899         (IconLoader::createForFrame):
900         (IconDatabase::isIconExpiredForIconURL):
901         (IconDatabase::hasEntryForIconURL):
902         (IconDatabase::sharedIconDatabase):
903
904 2006-09-14  Brady Eidson  <beidson@apple.com>
905
906         Part of a build fix for Windows - rest will be working out a mess of temporary link stubs
907
908         * loader/icon/IconLoader.cpp:
909         (IconLoader::receivedAllData):
910         * page/Frame.cpp:
911         * page/FramePrivate.h:
912
913 2006-09-14  Graham Dennis  <graham.dennis@gmail.com>
914
915         Reviewed by Justin Garcia.
916
917         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10726
918           Crash in ApplyStyleCommand::applyRelativeFontStyleChange
919
920         * editing/ApplyStyleCommand.cpp:
921         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Prevent a crash by
922         makeing sure that the 'beyondEnd' node is after the start node.
923
924 2006-09-14  MorganL  <morlmor@yahoo.com>
925
926         Reviewed by Brady.
927
928         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10845
929         Various bugs/crashes in ResourceLoaderWin with local files.
930
931         * platform/ResourceLoaderInternal.h:
932         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
933         * platform/win/ResourceLoaderWin.cpp:
934         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
935         (WebCore::ResourceLoader::fileLoadTimer):
936
937 2006-09-13  Brady Eidson <beidson@apple.com>
938
939         Reviewed by Maciej
940
941         Icon loads now take place in WebCore
942
943         * WebCore.xcodeproj/project.pbxproj:
944         * bridge/BrowserExtension.h:
945         * bridge/mac/BrowserExtensionMac.h:
946         * bridge/mac/BrowserExtensionMac.mm:
947         - Moved enforcement of a Mozilla Favicon extension elsewhere
948         
949         * bridge/mac/FrameMac.h: 
950         * bridge/mac/FrameMac.mm: 
951         (WebCore::FrameMac::originalRequestURL):
952         - Added accessor to "original request URL"
953         
954         * bridge/mac/WebCoreFrameBridge.h: 
955         - Removed methods to set the iconURL as all loading is now done in WebCore
956         - Added call throughs to notify WebKit an Icon is done loading, and a to get the original request URL
957         
958         * html/HTMLLinkElement.cpp: 
959         (WebCore::HTMLLinkElement::process):
960         - Moved enforcement of a Mozilla Favicon extension elsewhere
961         
962         * loader/icon/IconDatabase.cpp:
963         (WebCore::IconDatabase::setIconURLForPageURL):
964         - Changed an ASSERT to correctly handle a sketchy (invalid) situation
965
966         * loader/icon/IconLoader.h: Added.
967         * loader/icon/IconLoader.cpp: Added.
968         (IconLoader::IconLoader):
969         (IconLoader::createForFrame):
970         - Static factory method with a private constructor to enforce 
971           "you MUST have a Frame to create an IconLoader" semantics
972         (IconLoader::~IconLoader):
973         (IconLoader::startLoading):
974         (IconLoader::stopLoading):
975         (IconLoader::receivedData):
976         - ResourceLoaderClient delegate
977         (IconLoader::receivedAllData):
978         - Ditto
979
980         * loader/mac/IconLoaderMac.mm: Added.
981         (IconLoader::receivedResponse):
982         (IconLoader::notifyIconChanged):
983         - For now, these are platform specific methods
984         - One to get the HTTP response code of an icon load
985         - The other to call through to the app when the icon has changed (loaded)
986
987         * page/Frame.h:
988         * page/Frame.cpp:
989         (WebCore::Frame::iconURL):
990         (WebCore::Frame::setIconURL):
991         - Frame objects now have an inherent icon URL and a way to calculate/access it
992         (WebCore::Frame::endIfNotLoading):
993         - This is where we actually kick off the IconLoader
994         (WebCore::Frame::stop):
995         - Added call to stop loading the icon
996
997         * page/FramePrivate.h:
998         (WebCore::FramePrivate::FramePrivate):
999         (WebCore::FramePrivate::~FramePrivate):
1000         - Added the icon URL as a private member
1001         - Added the IconLoader as a private member, and clean it up on deletion
1002
1003         * platform/mac/ResourceLoaderMac.mm:
1004         (WebCore::ResourceLoader::start):  Added a valuable ASSERT
1005
1006 2006-09-13  David Hyatt  <hyatt@apple.com>
1007
1008         Fix for 10841, unable to check checkboxes inside labels.
1009
1010         Reviewed by xenon, bradee-oh
1011
1012         * css/html4.css:
1013         * dom/Element.cpp:
1014         (WebCore::Element::contains):
1015         * dom/Element.h:
1016         * html/HTMLLabelElement.cpp:
1017         (WebCore::HTMLLabelElement::defaultEventHandler):
1018
1019 2006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
1020
1021         Reviewed by Adam.
1022
1023         http://bugzilla.opendarwin.org/show_bug.cgi?id=10834
1024         Bug 10834: FileChooser constructor in FileChooserMac appears to overretain m_controller
1025
1026         * platform/mac/FileChooserMac.mm:
1027         (WebCore::FileChooser::FileChooser): Don't over-retain the OpenPanelController.
1028
1029 2006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
1030
1031         Reviewed by Eric.
1032
1033         http://bugzilla.opendarwin.org/show_bug.cgi?id=10836
1034         Bug 10836: REGRESSION: Mac implementation of Font::drawGlyphs leaks a CGColorRef
1035
1036         * platform/mac/FontMac.mm:
1037         (WebCore::Font::drawComplexText): Release CGColorRef after use.
1038         (WebCore::Font::drawGlyphs): Ditto.
1039
1040 2006-09-14  Anders Carlsson  <acarlsson@apple.com>
1041
1042         Try fixing the Win32 build.
1043         
1044         * bridge/win/FrameWin.h:
1045         * platform/win/TemporaryLinkStubs.cpp:
1046         (FrameWin::bindingRootObject):
1047
1048 2006-09-14  Anders Carlsson  <acarlsson@apple.com>
1049
1050         Reviewed by Tim O.
1051
1052         Add USE defines for the generic JavaScriptCore bindings as well as NPAPI bindings.
1053         
1054         * bindings/js/kjs_binding.cpp:
1055         (KJS::ScriptInterpreter::createLanguageInstanceForValue):
1056         * bindings/js/kjs_dom.cpp:
1057         (KJS::getRuntimeObject):
1058         * bridge/mac/FrameMac.h:
1059         * config.h:
1060         * html/HTMLAppletElement.cpp:
1061         (WebCore::HTMLAppletElement::~HTMLAppletElement):
1062         (WebCore::HTMLAppletElement::detach):
1063         * html/HTMLAppletElement.h:
1064         * html/HTMLEmbedElement.cpp:
1065         (WebCore::HTMLEmbedElement::~HTMLEmbedElement):
1066         (WebCore::HTMLEmbedElement::detach):
1067         * html/HTMLEmbedElement.h:
1068         * html/HTMLObjectElement.cpp:
1069         (WebCore::HTMLObjectElement::~HTMLObjectElement):
1070         (WebCore::HTMLObjectElement::detach):
1071         * html/HTMLObjectElement.h:
1072         * html/HTMLPlugInElement.cpp:
1073         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
1074         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
1075         (WebCore::HTMLPlugInElement::createNPObject):
1076         * html/HTMLPlugInElement.h:
1077         * page/Frame.h:
1078
1079 2006-09-13  David Hyatt  <hyatt@apple.com>
1080
1081         Clean up the XBL and XSLT ifdefs to be consistent with the SVG
1082         and XPath ifdefs.  KHTML_NO_XBL is flipped and is now XBL_SUPPORT.
1083         KHTML_XSLT is now XSLT_SUPPORT.
1084
1085         * WebCore.xcodeproj/project.pbxproj:
1086         * bindings/js/JSXSLTProcessor.cpp:
1087         * bindings/js/JSXSLTProcessor.h:
1088         * bindings/js/kjs_window.cpp:
1089         (KJS::Window::getValueProperty):
1090         * config.h:
1091         * css/CSSComputedStyleDeclaration.cpp:
1092         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1093         * css/cssparser.cpp:
1094         (WebCore::CSSParser::parseValue):
1095         * css/cssstyleselector.cpp:
1096         (WebCore::CSSStyleSelector::applyProperty):
1097         * dom/Document.cpp:
1098         (WebCore::Document::Document):
1099         (WebCore::Document::~Document):
1100         (WebCore::Document::recalcStyleSelector):
1101         * dom/Document.h:
1102         (WebCore::Document::bindingManager):
1103         * dom/Node.cpp:
1104         (WebCore::Node::createRendererIfNeeded):
1105         * dom/ProcessingInstruction.cpp:
1106         (WebCore::ProcessingInstruction::ProcessingInstruction):
1107         (WebCore::ProcessingInstruction::checkStyleSheet):
1108         (WebCore::ProcessingInstruction::setStyleSheet):
1109         * dom/ProcessingInstruction.h:
1110         * dom/XMLTokenizer.cpp:
1111         (WebCore::XMLTokenizer::processingInstruction):
1112         (WebCore::XMLTokenizer::insertErrorMessageBlock):
1113         * dom/XMLTokenizer.h:
1114         * loader/Cache.cpp:
1115         (WebCore::Cache::getStatistics):
1116         * loader/Cache.h:
1117         * loader/CachedResource.h:
1118         (WebCore::CachedResource::):
1119         * loader/CachedResourceClient.h:
1120         * loader/CachedXBLDocument.cpp:
1121         * loader/CachedXBLDocument.h:
1122         * loader/CachedXSLStyleSheet.cpp:
1123         * loader/CachedXSLStyleSheet.h:
1124         * loader/DocLoader.cpp:
1125         * loader/DocLoader.h:
1126         * rendering/RenderStyle.cpp:
1127         (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
1128         (WebCore::StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData):
1129         (WebCore::StyleCSS3NonInheritedData::operator==):
1130         * rendering/RenderStyle.h:
1131         * xml/XSLImportRule.cpp:
1132         * xml/XSLImportRule.h:
1133         * xml/XSLStyleSheet.cpp:
1134         * xml/XSLStyleSheet.h:
1135         * xml/XSLTProcessor.cpp:
1136         * xml/XSLTProcessor.h:
1137
1138 2006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
1139
1140         Reviewed by eseidel.  Landed by eseidel.
1141
1142         Fix newly introduced memory leaks in SVG.
1143         http://bugzilla.opendarwin.org/show_bug.cgi?id=10835
1144
1145         * ksvg2/svg/SVGList.h:
1146         (WebCore::SVGListBase::~SVGListBase):
1147         (WebCore::SVGListBase::clearVector):
1148         (WebCore::SVGListBase::clear):
1149         (WebCore::SVGList::clearVector):
1150         (WebCore::):
1151         * ksvg2/svg/SVGNumberList.cpp: s/float/double/ - forgot that!
1152         (SVGNumberList::SVGNumberList):
1153         * ksvg2/svg/SVGNumberList.h: Ditto.
1154
1155 2006-09-13  MorganL  <morlmor@yahoo.com>
1156
1157         Reviewed/landed by aroben.
1158
1159         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10833
1160         Windows build needs fixed after move to engine-rendered file upload widget
1161
1162         * WebCore.vcproj/WebCore/WebCore.vcproj: Add RenderFileUpload files,
1163         remove RenderFileButton files
1164         * platform/win/TemporaryLinkStubs.cpp: Add stubs for FileChooser, Icon
1165         (FileChooser::FileChooser):
1166         (FileChooser::~FileChooser):
1167         (FileChooser::openFileChooser):
1168         (FileChooser::basenameForWidth):
1169         (FileChooser::uploadControlDetaching):
1170         (FileChooser::chooseFile):
1171         (WebCore::fileButtonChooseFileLabel):
1172         (WebCore::fileButtonNoFileSelectedLabel):
1173         (Icon::Icon):
1174         (Icon::~Icon):
1175         (Icon::newIconForFile):
1176         (Icon::paint):
1177
1178 2006-09-13  MorganL  <morlmor@yahoo.com>
1179
1180         Reviewed/landed by aroben.
1181
1182         Fixes http://bugzilla.opendarwin.org/attachment.cgi?id=10537
1183         Webkit WebCore build fails on Windows
1184
1185         * WebCore.vcproj/WebCore/build-generated-files.sh: export SOURCE_ROOT
1186         variable
1187
1188 2006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
1189
1190         Reviewed by Tim H.
1191
1192         Fix Qt/Linux build.
1193
1194         * CMakeLists.txt: Change SVGZoomEvent.idl location & add RenderFileUploadControl
1195         * platform/Icon.h: Add wtf/Platform.h include
1196         * platform/qt/FileChooserQt.cpp: Added as stub. Easy to implement though.
1197         (WebCore::FileChooser::FileChooser):
1198         (WebCore::FileChooser::~FileChooser):
1199         (WebCore::FileChooser::openFileChooser):
1200         (WebCore::FileChooser::basenameForWidth):
1201         (WebCore::FileChooser::uploadControlDetaching):
1202         (WebCore::FileChooser::chooseFile):
1203         * platform/qt/IconQt.cpp: Added as stub.
1204         (WebCore::Icon::Icon):
1205         (WebCore::Icon::~Icon):
1206         (WebCore::Icon::newIconForFile):
1207         (WebCore::Icon::paint):
1208         * platform/qt/TemporaryLinkStubs.cpp: Remove old RenderFileButton code & some new *Labels needed
1209         (searchableIndexIntroduction):
1210         (fileButtonChooseFileLabel):
1211         (fileButtonNoFileSelectedLabel):
1212
1213 2006-09-12  Adam Roben  <aroben@apple.com>
1214
1215         Reviewed by eseidel.
1216
1217         Switch back to passing relative paths to generate-bindings.pl when
1218         generating JS bindings.
1219
1220         * DerivedSources.make: Pass in relative paths to generate-bindings.pl
1221         * bindings/scripts/CodeGenerator.pm: Make ScanDirectory never call
1222         chdir and always construct absolute paths instead.
1223
1224 2006-09-12  David Hyatt  <hyatt@apple.com>
1225
1226         Fix for bug 3244, implement html4 label support.
1227
1228         Reviewed by mjs, aroben
1229
1230         Added fast/events/label-focus.html
1231
1232         * css/html4.css:
1233         * html/HTMLLabelElement.cpp:
1234         (WebCore::HTMLLabelElement::formElement):
1235         (WebCore::HTMLLabelElement::setActive):
1236         (WebCore::HTMLLabelElement::setHovered):
1237         (WebCore::HTMLLabelElement::defaultEventHandler):
1238         * html/HTMLLabelElement.h:
1239
1240 2006-09-12  Julien Palmas  <julien.palmas@gmail.com>
1241
1242         Reviewed by darin.  Landed by eseidel.
1243
1244         * ksvg2/svg/svgpathparser.cpp:
1245         (WebCore::SVGPolyParser::parsePoints):
1246
1247 2006-09-11  Kevin McCullough  <KMcCullough@apple.com>
1248
1249         Reviewed by Andersca, Maciej, Brady.
1250
1251         - Implemented intersectsNode in the Range Class
1252           to be compliant with Mozilla standard
1253
1254         * dom/Range.cpp:
1255         (WebCore::Range::intersectsNode):
1256         * dom/Range.h:
1257         * dom/Range.idl:
1258
1259 2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
1260
1261         Reviewed by eseidel.  Landed by eseidel.
1262
1263         Test: svg/W3C-SVG-1.1/struct-dom-01-b.svg (fixed)
1264         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10826
1265         
1266         Also finally fixes some long outstanding bugs:
1267         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=9190
1268         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=9229
1269         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10413
1270
1271         Enable all JavaScript SVG bindings. Builds on Qt/Linux & OSX.
1272
1273         * CMakeLists.txt:
1274         * DerivedSources.make:
1275         * WebCore.xcodeproj/project.pbxproj:
1276         * bindings/scripts/CodeGenerator.pm:
1277         * bindings/scripts/CodeGeneratorJS.pm:
1278         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1279         * ksvg2/svg/SVGAElement.idl: Added.
1280         * ksvg2/svg/SVGAngle.idl:
1281         * ksvg2/svg/SVGAnimateColorElement.idl: Added.
1282         * ksvg2/svg/SVGAnimateElement.idl: Added.
1283         * ksvg2/svg/SVGAnimateTransformElement.idl: Added.
1284         * ksvg2/svg/SVGAnimatedLengthList.idl: Added.
1285         * ksvg2/svg/SVGAnimatedNumberList.idl: Added.
1286         * ksvg2/svg/SVGAnimatedTransformList.idl: Added.
1287         * ksvg2/svg/SVGAnimationElement.idl: Added.
1288         * ksvg2/svg/SVGCircleElement.idl: Added.
1289         * ksvg2/svg/SVGClipPathElement.idl: Added.
1290         * ksvg2/svg/SVGColor.idl:
1291         * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Added.
1292         * ksvg2/svg/SVGCursorElement.idl: Added.
1293         * ksvg2/svg/SVGDefsElement.idl: Added.
1294         * ksvg2/svg/SVGDescElement.idl: Added.
1295         * ksvg2/svg/SVGEllipseElement.idl: Added.
1296         * ksvg2/svg/SVGEvent.idl:
1297         * ksvg2/svg/SVGExternalResourcesRequired.idl: Added.
1298         * ksvg2/svg/SVGFEBlendElement.idl: Added.
1299         * ksvg2/svg/SVGFEColorMatrixElement.idl: Added.
1300         * ksvg2/svg/SVGFEComponentTransferElement.idl: Added.
1301         * ksvg2/svg/SVGFECompositeElement.idl: Added.
1302         * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Added.
1303         * ksvg2/svg/SVGFEDisplacementMapElement.idl: Added.
1304         * ksvg2/svg/SVGFEDistantLightElement.idl: Added.
1305         * ksvg2/svg/SVGFEFloodElement.idl: Added.
1306         * ksvg2/svg/SVGFEFuncAElement.idl: Added.
1307         * ksvg2/svg/SVGFEFuncBElement.idl: Added.
1308         * ksvg2/svg/SVGFEFuncGElement.idl: Added.
1309         * ksvg2/svg/SVGFEFuncRElement.idl: Added.
1310         * ksvg2/svg/SVGFEGaussianBlurElement.idl: Added.
1311         * ksvg2/svg/SVGFEImageElement.idl: Added.
1312         * ksvg2/svg/SVGFEMergeElement.idl: Added.
1313         * ksvg2/svg/SVGFEMergeNodeElement.idl: Added.
1314         * ksvg2/svg/SVGFEOffsetElement.idl: Added.
1315         * ksvg2/svg/SVGFEPointLightElement.idl: Added.
1316         * ksvg2/svg/SVGFESpecularLightingElement.idl: Added.
1317         * ksvg2/svg/SVGFESpotLightElement.idl: Added.
1318         * ksvg2/svg/SVGFETileElement.idl: Added.
1319         * ksvg2/svg/SVGFETurbulenceElement.idl: Added.
1320         * ksvg2/svg/SVGFilterElement.idl: Added.
1321         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Added.
1322         * ksvg2/svg/SVGFitToViewBox.idl: Added.
1323         * ksvg2/svg/SVGForeignObjectElement.idl: Added.
1324         * ksvg2/svg/SVGGElement.idl: Added.
1325         * ksvg2/svg/SVGGradientElement.idl: Added.
1326         * ksvg2/svg/SVGImageElement.idl: Added.
1327         * ksvg2/svg/SVGLangSpace.idl: Added.
1328         * ksvg2/svg/SVGLength.idl:
1329         * ksvg2/svg/SVGLengthList.idl: Added.
1330         * ksvg2/svg/SVGLineElement.idl: Added.
1331         * ksvg2/svg/SVGLinearGradientElement.idl: Added.
1332         * ksvg2/svg/SVGLocatable.idl: Added.
1333         * ksvg2/svg/SVGMarkerElement.idl: Added.
1334         * ksvg2/svg/SVGMaskElement.idl: Added.
1335         * ksvg2/svg/SVGNumberList.idl: Added.
1336         * ksvg2/svg/SVGPaint.idl: Added.
1337         * ksvg2/svg/SVGPathElement.idl:
1338         * ksvg2/svg/SVGPathSeg.idl:
1339         * ksvg2/svg/SVGPatternElement.idl: Added.
1340         * ksvg2/svg/SVGPointList.idl: Added.
1341         * ksvg2/svg/SVGPolygonElement.idl: Added.
1342         * ksvg2/svg/SVGPolylineElement.idl: Added.
1343         * ksvg2/svg/SVGPreserveAspectRatio.idl:
1344         * ksvg2/svg/SVGRadialGradientElement.idl: Added.
1345         * ksvg2/svg/SVGRectElement.idl: Added.
1346         * ksvg2/svg/SVGRenderingIntent.idl: Added.
1347         * ksvg2/svg/SVGSVGElement.idl:
1348         * ksvg2/svg/SVGScriptElement.idl: Added.
1349         * ksvg2/svg/SVGSetElement.idl: Added.
1350         * ksvg2/svg/SVGStopElement.idl: Added.
1351         * ksvg2/svg/SVGStringList.idl: Added.
1352         * ksvg2/svg/SVGStylable.idl: Added.
1353         * ksvg2/svg/SVGStyleElement.idl: Added.
1354         * ksvg2/svg/SVGSwitchElement.idl: Added.
1355         * ksvg2/svg/SVGSymbolElement.idl: Added.
1356         * ksvg2/svg/SVGTRefElement.idl: Added.
1357         * ksvg2/svg/SVGTSpanElement.idl: Added.
1358         * ksvg2/svg/SVGTests.idl: Added.
1359         * ksvg2/svg/SVGTextContentElement.idl: Added.
1360         * ksvg2/svg/SVGTextElement.idl: Added.
1361         * ksvg2/svg/SVGTextPositioningElement.idl: Added.
1362         * ksvg2/svg/SVGTitleElement.idl: Added.
1363         * ksvg2/svg/SVGTransform.idl:
1364         * ksvg2/svg/SVGTransformList.idl: Added.
1365         * ksvg2/svg/SVGTransformable.idl: Added.
1366         * ksvg2/svg/SVGURIReference.idl: Added.
1367         * ksvg2/svg/SVGUnitTypes.idl: Added.
1368         * ksvg2/svg/SVGUseElement.idl: Added.
1369         * ksvg2/svg/SVGViewElement.idl: Added.
1370         * ksvg2/svg/SVGZoomAndPan.idl: Added.
1371         * ksvg2/svg/SVGZoomEvent.idl: Added.
1372
1373 2006-09-12  Adam Roben  <aroben@apple.com>
1374
1375         Reviewed by timo, ggaren.
1376
1377         Make Icon ref-counted.
1378
1379         * platform/FileChooser.h: Store m_icon as a RefPtr instead of
1380         auto_ptr.
1381         * platform/Icon.h: Inherit from Shared<Icon>
1382         * platform/mac/FileChooserMac.mm:
1383         (WebCore::FileChooser::chooseFile): Update m_icon usage
1384         * platform/mac/IconMac.mm:
1385         (WebCore::Icon::newIconForFile): Return a RefPtr instead of an
1386         auto_ptr
1387
1388 === Safari-521.26 ===
1389
1390 2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
1391
1392         Reviewed by Anders.
1393
1394         Add exception codes to SVGList functions, adjust all code using it.
1395
1396         Move SVGPaintType enums from ksvg.h into SVGPaint (needed for js generation)
1397         Move SVGUnitTypes enums from ksvg.h into it's own file SVGUnitType.h (ditto)
1398         Move SVGRenderingIntent enums from ksvg.h into it's own file SVGRenderingIntent.h (ditto)
1399         Move SVGZoomAndPan enums from ksvg.h into SVGSVGElement (ditto)
1400         Move SVGFE* related enums into their respecitive classes.
1401
1402         Fix JSSVGNumber to operator on doubles, instead of floats.
1403
1404         * ksvg2/bindings/js/JSSVGNumber.cpp:
1405         (WebCore::getJSSVGNumber):
1406         * ksvg2/bindings/js/JSSVGNumber.h:
1407         (WebCore::JSSVGNumber::JSSVGNumber):
1408         * ksvg2/css/SVGCSSParser.cpp:
1409         (WebCore::CSSParser::parseSVGValue):
1410         (WebCore::CSSParser::parseSVGPaint):
1411         * ksvg2/css/SVGRenderStyleDefs.cpp:
1412         (StyleFillData::operator==):
1413         * ksvg2/ksvg.h:
1414         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1415         (WebCore::KSVGPainterFactory::isFilled):
1416         (WebCore::KSVGPainterFactory::fillPaintServer):
1417         (WebCore::KSVGPainterFactory::isStroked):
1418         (WebCore::KSVGPainterFactory::strokePaintServer):
1419         * ksvg2/misc/KSVGTimeScheduler.cpp:
1420         (WebCore::SVGTimer::notifyAll):
1421         * ksvg2/svg/SVGAnimateColorElement.cpp:
1422         (WebCore::SVGAnimateColorElement::handleTimerEvent):
1423         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1424         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
1425         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
1426         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
1427         (WebCore::SVGAnimateTransformElement::parseTransformValue):
1428         * ksvg2/svg/SVGAnimateTransformElement.h:
1429         * ksvg2/svg/SVGAnimatedTemplate.h:
1430         * ksvg2/svg/SVGAnimationElement.cpp:
1431         (SVGAnimationElement::getSimpleDuration):
1432         (SVGAnimationElement::parseMappedAttribute):
1433         (SVGAnimationElement::setTargetAttribute):
1434         * ksvg2/svg/SVGAnimationElement.h:
1435         * ksvg2/svg/SVGClipPathElement.cpp:
1436         (SVGClipPathElement::SVGClipPathElement):
1437         (SVGClipPathElement::parseMappedAttribute):
1438         (SVGClipPathElement::canvasResource):
1439         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1440         (SVGComponentTransferFunctionElement::transferFunction):
1441         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1442         (WebCore::SVGComponentTransferFunctionElement::):
1443         * ksvg2/svg/SVGDocument.cpp:
1444         (WebCore::SVGDocument::dispatchZoomEvent):
1445         (WebCore::SVGDocument::dispatchScrollEvent):
1446         * ksvg2/svg/SVGFEBlendElement.cpp:
1447         (WebCore::SVGFEBlendElement::parseMappedAttribute):
1448         (WebCore::SVGFEBlendElement::filterEffect):
1449         * ksvg2/svg/SVGFEBlendElement.h:
1450         (WebCore::SVGFEBlendElement::):
1451         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1452         (SVGFEColorMatrixElement::parseMappedAttribute):
1453         (SVGFEColorMatrixElement::filterEffect):
1454         * ksvg2/svg/SVGFEColorMatrixElement.h:
1455         (WebCore::SVGFEColorMatrixElement::):
1456         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1457         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
1458         (WebCore::SVGFEComponentTransferElement::filterEffect):
1459         * ksvg2/svg/SVGFEComponentTransferElement.h:
1460         * ksvg2/svg/SVGFECompositeElement.cpp:
1461         (SVGFECompositeElement::parseMappedAttribute):
1462         (SVGFECompositeElement::filterEffect):
1463         * ksvg2/svg/SVGFECompositeElement.h:
1464         (WebCore::SVGFECompositeElement::):
1465         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1466         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
1467         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1468         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1469         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1470         (SVGFEDisplacementMapElement::parseMappedAttribute):
1471         (SVGFEDisplacementMapElement::filterEffect):
1472         * ksvg2/svg/SVGFEDisplacementMapElement.h:
1473         (WebCore::SVGFEDisplacementMapElement::):
1474         * ksvg2/svg/SVGFEFloodElement.cpp:
1475         (WebCore::SVGFEFloodElement::parseMappedAttribute):
1476         (WebCore::SVGFEFloodElement::filterEffect):
1477         * ksvg2/svg/SVGFEFloodElement.h:
1478         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1479         (SVGFEGaussianBlurElement::parseMappedAttribute):
1480         (SVGFEGaussianBlurElement::filterEffect):
1481         * ksvg2/svg/SVGFEGaussianBlurElement.h:
1482         * ksvg2/svg/SVGFEMergeElement.cpp:
1483         (SVGFEMergeElement::filterEffect):
1484         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1485         (SVGFEMergeNodeElement::parseMappedAttribute):
1486         * ksvg2/svg/SVGFEMergeNodeElement.h:
1487         * ksvg2/svg/SVGFEOffsetElement.cpp:
1488         (SVGFEOffsetElement::parseMappedAttribute):
1489         (SVGFEOffsetElement::filterEffect):
1490         * ksvg2/svg/SVGFEOffsetElement.h:
1491         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1492         (SVGFESpecularLightingElement::parseMappedAttribute):
1493         (SVGFESpecularLightingElement::filterEffect):
1494         * ksvg2/svg/SVGFESpecularLightingElement.h:
1495         * ksvg2/svg/SVGFETileElement.cpp:
1496         (WebCore::SVGFETileElement::parseMappedAttribute):
1497         (WebCore::SVGFETileElement::filterEffect):
1498         * ksvg2/svg/SVGFETileElement.h:
1499         * ksvg2/svg/SVGFETurbulenceElement.h:
1500         (WebCore::SVGFETurbulenceElement::):
1501         * ksvg2/svg/SVGFilterElement.cpp:
1502         (SVGFilterElement::SVGFilterElement):
1503         (SVGFilterElement::parseMappedAttribute):
1504         (SVGFilterElement::canvasResource):
1505         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1506         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1507         * ksvg2/svg/SVGGradientElement.cpp:
1508         (SVGGradientElement::SVGGradientElement):
1509         (SVGGradientElement::parseMappedAttribute):
1510         * ksvg2/svg/SVGGradientElement.h:
1511         (WebCore::SVGGradientElement::):
1512         * ksvg2/svg/SVGHelper.cpp:
1513         (WebCore::SVGHelper::ParseSeperatedList):
1514         * ksvg2/svg/SVGLengthList.cpp:
1515         (WebCore::SVGLengthList::parse):
1516         * ksvg2/svg/SVGLinearGradientElement.cpp:
1517         (SVGLinearGradientElement::buildGradient):
1518         * ksvg2/svg/SVGList.h:
1519         (WebCore::SVGListBase::clear):
1520         (WebCore::SVGListBase::initialize):
1521         (WebCore::SVGListBase::getItem):
1522         (WebCore::SVGListBase::insertItemBefore):
1523         (WebCore::SVGListBase::replaceItem):
1524         (WebCore::SVGListBase::removeItem):
1525         (WebCore::SVGListBase::appendItem):
1526         * ksvg2/svg/SVGLocatable.cpp:
1527         * ksvg2/svg/SVGLocatable.h:
1528         * ksvg2/svg/SVGMarkerElement.h:
1529         (WebCore::SVGMarkerElement::):
1530         * ksvg2/svg/SVGNumberList.cpp:
1531         (SVGNumberList::parse):
1532         * ksvg2/svg/SVGPaint.cpp:
1533         (WebCore::SVGPaint::SVGPaint):
1534         (WebCore::SVGPaint::uri):
1535         (WebCore::SVGPaint::setUri):
1536         (WebCore::SVGPaint::setPaint):
1537         * ksvg2/svg/SVGPaint.h:
1538         (WebCore::SVGPaint::):
1539         * ksvg2/svg/SVGPathElement.cpp:
1540         (WebCore::SVGPathElement::svgMoveTo):
1541         (WebCore::SVGPathElement::svgLineTo):
1542         (WebCore::SVGPathElement::svgLineToHorizontal):
1543         (WebCore::SVGPathElement::svgLineToVertical):
1544         (WebCore::SVGPathElement::svgCurveToCubic):
1545         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
1546         (WebCore::SVGPathElement::svgCurveToQuadratic):
1547         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
1548         (WebCore::SVGPathElement::svgArcTo):
1549         (WebCore::SVGPathElement::svgClosePath):
1550         (WebCore::SVGPathElement::parseMappedAttribute):
1551         (WebCore::SVGPathElement::toPathData):
1552         * ksvg2/svg/SVGPatternElement.cpp:
1553         (WebCore::SVGPatternElement::SVGPatternElement):
1554         (WebCore::SVGPatternElement::parseMappedAttribute):
1555         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1556         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1557         * ksvg2/svg/SVGPolyElement.cpp:
1558         (SVGPolyElement::parseMappedAttribute):
1559         (SVGPolyElement::svgPolyTo):
1560         (SVGPolyElement::notifyAttributeChange):
1561         * ksvg2/svg/SVGPolygonElement.cpp:
1562         (SVGPolygonElement::toPathData):
1563         * ksvg2/svg/SVGPolylineElement.cpp:
1564         (SVGPolylineElement::toPathData):
1565         * ksvg2/svg/SVGRadialGradientElement.cpp:
1566         (WebCore::SVGRadialGradientElement::buildGradient):
1567         * ksvg2/svg/SVGRenderingIntent.h: Added.
1568         (WebCore::SVGRenderingIntent::):
1569         (WebCore::SVGRenderingIntent::SVGRenderingIntent):
1570         (WebCore::SVGRenderingIntent::~SVGRenderingIntent):
1571         * ksvg2/svg/SVGSVGElement.h:
1572         (WebCore::SVGSVGElement::):
1573         * ksvg2/svg/SVGScriptElement.cpp:
1574         (WebCore::SVGScriptElement::type):
1575         (WebCore::SVGScriptElement::setType):
1576         (WebCore::SVGScriptElement::parseMappedAttribute):
1577         * ksvg2/svg/SVGScriptElement.h:
1578         * ksvg2/svg/SVGStringList.cpp:
1579         (WebCore::SVGStringList::reset):
1580         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1581         (SVGStyledLocatableElement::getTransformToElement):
1582         * ksvg2/svg/SVGStyledLocatableElement.h:
1583         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1584         (SVGStyledTransformableElement::parseMappedAttribute):
1585         (SVGStyledTransformableElement::getTransformToElement):
1586         * ksvg2/svg/SVGStyledTransformableElement.h:
1587         * ksvg2/svg/SVGTests.cpp:
1588         (WebCore::SVGTests::hasExtension):
1589         (WebCore::SVGTests::isValid):
1590         * ksvg2/svg/SVGTests.h:
1591         * ksvg2/svg/SVGTextContentElement.cpp:
1592         (SVGTextContentElement::getSubStringLength):
1593         (SVGTextContentElement::getStartPositionOfChar):
1594         (SVGTextContentElement::getEndPositionOfChar):
1595         (SVGTextContentElement::getExtentOfChar):
1596         (SVGTextContentElement::getRotationOfChar):
1597         (SVGTextContentElement::selectSubString):
1598         * ksvg2/svg/SVGTextContentElement.h:
1599         (WebCore::SVGTextContentElement::):
1600         * ksvg2/svg/SVGTextElement.cpp:
1601         (WebCore::SVGTextElement::parseMappedAttribute):
1602         * ksvg2/svg/SVGTextElement.h:
1603         (WebCore::SVGTextElement::getTransformToElement):
1604         * ksvg2/svg/SVGTransform.h:
1605         * ksvg2/svg/SVGTransformList.cpp:
1606         (SVGTransformList::consolidate):
1607         (SVGTransformList::concatenate):
1608         * ksvg2/svg/SVGTransformable.cpp:
1609         (SVGTransformable::parseTransformAttribute):
1610         * ksvg2/svg/SVGUnitTypes.h: Added.
1611         (WebCore::SVGUnitTypes::):
1612         (WebCore::SVGUnitTypes::SVGUnitTypes):
1613         (WebCore::SVGUnitTypes::~SVGUnitTypes):
1614         * ksvg2/svg/SVGUseElement.cpp:
1615         (SVGUseElement::closeRenderer):
1616         * ksvg2/svg/SVGViewElement.h:
1617         (WebCore::SVGViewElement::):
1618         * ksvg2/svg/SVGZoomAndPan.cpp:
1619         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
1620         (WebCore::SVGZoomAndPan::parseMappedAttribute):
1621
1622 2006-09-12  John Sullivan  <sullivan@apple.com>
1623
1624         Reviewed by Adele Peterson.
1625
1626         * bridge/mac/FrameMac.mm:
1627         (WebCore::FrameMac::doTextFieldCommandFromEvent):
1628         Don't call textField:doCommandBySelector: with a nil selector. This was indirectly causing a
1629         (valid) assertion failure in some Safari code.
1630
1631 2006-09-12  David Harrison  <harrison@apple.com>
1632
1633         Reviewed by John Sullivan.
1634
1635         <rdar://problem/4717841> Setting AXFocused to true does not activate the insertion point in text field
1636
1637         * bridge/mac/WebCoreAXObject.mm:
1638         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
1639         For AXFocus, use focus() if the node is an element, so that selection is set.
1640         Matches tabbing behavior in text fields and text areas.
1641
1642 2006-09-12  Adam Roben  <aroben@apple.com>
1643
1644         Reviewed by adele.
1645
1646         Make uploading work with the new file upload control.
1647
1648         * css/html4.css: Remove unnecessary style (this is already done in
1649         RenderFileUpload.cpp)
1650         * html/HTMLInputElement.cpp: Don't get the button text from the value
1651         attribute for file controls.
1652         (WebCore::HTMLInputElement::valueWithDefault):
1653         * platform/mac/FileChooserMac.mm: Call
1654         RenderFileUploadControl::valueChanged when the user selects a file.
1655         (WebCore::FileChooser::chooseFile):
1656         * rendering/RenderFileUploadControl.cpp: Add valueChanged() method to
1657         update the form and fire the onChange event.
1658         (WebCore::RenderFileUploadControl::valueChanged):
1659         (WebCore::RenderFileUploadControl::updateFromElement):
1660         * rendering/RenderFileUploadControl.h: Add valueChanged() declaration.
1661
1662 2006-09-12  Adam Roben  <aroben@apple.com>
1663
1664         Adding rules to html4.css to style the button in file upload controls.
1665
1666         * css/html4.css:
1667
1668 2006-09-12  Adam Roben  <aroben@apple.com>
1669
1670         Reviewed many times by darin, hyatt.
1671
1672         Switch to new engine-based implementation of <input type="file">
1673
1674         * WebCore.exp: Remove obsolete symbol WebCoreFileButton
1675         * WebCore.xcodeproj/project.pbxproj: Remove files for old widget-based
1676         control, add files for new engine-based control
1677         * css/CSSSelector.cpp: Add support for new
1678         '-webkit-file-upload-button' pseudo element
1679         (WebCore::CSSSelector::extractPseudoType):
1680         * css/CSSSelector.h: Ditto.
1681         (WebCore::CSSSelector::):
1682         * css/cssstyleselector.cpp: Ditto.
1683         (WebCore::CSSStyleSelector::checkOneSelector):
1684         * html/HTMLInputElement.cpp: Send click events to new control
1685         (WebCore::HTMLInputElement::select):
1686         (WebCore::HTMLInputElement::click):
1687         (WebCore::HTMLInputElement::createRenderer):
1688         (WebCore::HTMLInputElement::valueWithDefault):
1689         (WebCore::HTMLInputElement::defaultEventHandler):
1690         * html/HTMLTextFieldInnerElement.h: Add 'virtual' keyword
1691         (WebCore::HTMLTextFieldInnerElement::shadowParentNode):
1692         * platform/FileButton.h: Removed.
1693         * platform/FileChooser.h: Added. This is the replacement for
1694         FileButton.h
1695         (WebCore::FileChooser::filename):
1696         (WebCore::FileChooser::icon):
1697         (WebCore::FileChooser::uploadControl):
1698         (WebCore::FileChooser::document):
1699         * platform/Icon.h: Added new platform-specific class representing a
1700         file icon.
1701         * platform/LocalizedStrings.h:
1702         * platform/mac/FileButtonMac.mm: Removed.
1703         * platform/mac/FileChooserMac.mm: Added. This is the replacement for
1704         FileButtonMac.mm
1705         (-[OpenPanelController initWithFileChooser:]):
1706         (-[OpenPanelController fileChooserDetachingSoon]):
1707         (-[OpenPanelController beginSheet]):
1708         (-[OpenPanelController chooseFilename:]):
1709         (-[OpenPanelController cancel]):
1710         (WebCore::FileChooser::FileChooser):
1711         (WebCore::FileChooser::~FileChooser):
1712         (WebCore::FileChooser::openFileChooser):
1713         (WebCore::FileChooser::basenameForWidth):
1714         (WebCore::FileChooser::uploadControlDetaching):
1715         (WebCore::FileChooser::chooseFile):
1716         * platform/mac/IconMac.mm: Added.
1717         (WebCore::Icon::Icon):
1718         (WebCore::Icon::~Icon):
1719         (WebCore::Icon::newIconForFile):
1720         (WebCore::Icon::paint):
1721         * platform/mac/LocalizedStringsMac.mm: Call across bridge to get
1722         localized strings.
1723         (WebCore::fileButtonChooseFileLabel):
1724         (WebCore::fileButtonNoFileSelectedLabel):
1725         * rendering/RenderButton.cpp: Extract method setText() from
1726         updateFromElement.
1727         (WebCore::RenderButton::updateFromElement):
1728         (WebCore::RenderButton::setText):
1729         * rendering/RenderButton.h: Add declaration for new setText method.
1730         * rendering/RenderFileButton.cpp: Removed.
1731         * rendering/RenderFileButton.h: Removed.
1732         * rendering/RenderFileUploadControl.cpp: Added. This is the
1733         replacement for RenderFileButton.cpp.
1734         (WebCore::RenderFileUploadInnerFileBox::renderName):
1735         (WebCore::HTMLFileUploadInnerButtonElement::isShadowNode):
1736         (WebCore::HTMLFileUploadInnerButtonElement::shadowParentNode):
1737         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
1738         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
1739         (WebCore::RenderFileUploadControl::setStyle):
1740         (WebCore::RenderFileUploadControl::updateIconAndFilename):
1741         (WebCore::RenderFileUploadControl::click):
1742         (WebCore::RenderFileUploadControl::updateFromElement):
1743         (WebCore::RenderFileUploadControl::maxFilenameWidth):
1744         (WebCore::RenderFileUploadControl::createButtonStyle):
1745         (WebCore::RenderFileUploadControl::paintObject):
1746         (WebCore::RenderFileUploadInnerFileBox::RenderFileUploadInnerFileBox):
1747         (WebCore::RenderFileUploadInnerFileBox::setStyle):
1748         (WebCore::RenderFileUploadInnerFileBox::layout):
1749         (WebCore::RenderFileUploadInnerFileBox::setHasIcon):
1750         (WebCore::RenderFileUploadInnerFileBox::setFilename):
1751         (WebCore::RenderFileUploadInnerFileBox::calcMinMaxWidth):
1752         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
1753         (WebCore::HTMLFileUploadInnerButtonElement::createRenderer):
1754         * rendering/RenderFileUploadControl.h: Added. This is the replacement
1755         for RenderFileButton.h.
1756         (WebCore::RenderFileUploadControl::renderName):
1757         * rendering/RenderStyle.cpp: Add support for
1758         -webkit-file-upload-button pseudo element.
1759         (WebCore::):
1760         (WebCore::pseudoBit):
1761         * rendering/RenderStyle.h: Ditto.
1762         (WebCore::RenderStyle::):
1763
1764 2006-09-12  Anders Carlsson  <acarlsson@apple.com>
1765
1766         Reviewed by John Sullivan.
1767
1768         Do the plugin object cleanup in Frame::clear instead of setView.
1769         
1770         * bridge/mac/FrameMac.h:
1771         * bridge/mac/FrameMac.mm:
1772         (WebCore::FrameMac::setView):
1773         (WebCore::FrameMac::cleanupPluginObjects):
1774         * page/Frame.cpp:
1775         (WebCore::Frame::clear):
1776         * page/Frame.h:
1777
1778 2006-09-12  MorganL  <morlmor@yahoo.com>
1779
1780         Reviewed/landed by aroben.
1781
1782         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10822
1783         windows build is busted
1784
1785         * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing
1786         JSRangeException.{cpp,h} to project
1787
1788 2006-09-12  David Hyatt  <hyatt@apple.com>
1789
1790         Fix fieldsets so that they properly expand to enclose overhanging floats
1791         when the fieldset has auto height.  This is a nifty undocumented behavior
1792         of the fieldset element.  The bug is 3898.
1793
1794         Reviewed by mjs
1795
1796         Added fast/forms/fieldset-with-float.html
1797
1798         * rendering/RenderBlock.cpp:
1799         (WebCore::RenderBlock::layoutBlock):
1800         * rendering/RenderFieldset.h:
1801         (WebCore::RenderFieldset::renderName):
1802         (WebCore::RenderFieldset::expandsToEncloseOverhangingFloats):
1803         * rendering/RenderObject.h:
1804         (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
1805         * rendering/RenderTableCell.h:
1806         (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats):
1807
1808 2006-09-11  Eric Seidel  <eric@eseidel.com>
1809
1810         Reviewed by hyatt.
1811         
1812         REGRESSION: When dragging a link on a page, the selected link doesn't display it's name or URL
1813         http://bugzilla.opendarwin.org/show_bug.cgi?id=10819
1814         http://bugzilla.opendarwin.org/show_bug.cgi?id=10814
1815
1816         No test cases were harmed in the coding of the patch.
1817
1818         * platform/mac/WebCoreTextRenderer.mm:
1819         (WebCoreDrawTextAtPoint):
1820
1821 2006-09-11  David Hyatt  <hyatt@apple.com>
1822
1823         Fix for bug 8126, column widths apply to the border boxes of cells.
1824
1825         Reviewed by aroben
1826
1827         * rendering/RenderTableCell.cpp:
1828         (WebCore::RenderTableCell::styleOrColWidth):
1829
1830 2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
1831
1832         Reviewed by Adele.
1833
1834         Fix Qt/Linux build.
1835
1836         * CMakeLists.txt: Add dom/RangeException.idl to build & fix feature defines.
1837
1838 2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
1839
1840         Reviewed by eseidel.  Landed by eseidel.
1841
1842         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10750
1843
1844         This finally fixes the SVGAnimated* classes JS bindings!
1845
1846         - Move all SVGAnimated*.idl files from ksvg2/bindings/idl/svg to ksvg2/svg
1847         - Adjust XCode/Qt build files to generate the new idl files
1848
1849         - Remove all SVGAnimated* primitives cpp implementations (Angle/Boolean/Color/Enumeration/Integer/Length/
1850                                                                   LengthList/Number/NumberList/PreserveAspectRatio/
1851                                                                   Rect/String/TransformList)
1852
1853         - Remove unneeded methods from CodeGenerator.pm and add new helper function: IsSVGAnimatedType
1854         - Adjust CodeGeneratorJS.pm to the new SVGAnimated* tear-off concept
1855
1856         - Add two new macros: ANIMATED_PROPERTY_EMPTY_DECLARATIONS / ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1857           This is used to fix multiple-inheritance issues in SVG with properties,
1858           similar like SVGTests::isValid() was fixed.
1859
1860         - Rewrote SVGList using WTF::Vector, instead of DeprecatedPtrList and killed DOMList.
1861           (SVGAnimated*Lists work again now)
1862
1863         - Adjust macros in SVGElement to create the "*Animated" tear-off classes.
1864
1865         - Adjust all SVG classes which use the ANIMATED macros to include the ClassName as first param in the header.
1866
1867         * CMakeLists.txt:
1868         * DerivedSources.make:
1869         * WebCore.xcodeproj/project.pbxproj:
1870         * bindings/scripts/CodeGenerator.pm:
1871         * bindings/scripts/CodeGeneratorJS.pm:
1872         * kcanvas/RenderSVGImage.cpp:
1873         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
1874         (WebCore::RenderSVGImage::paint):
1875         * kcanvas/RenderSVGText.cpp:
1876         (WebCore::RenderSVGText::translationForAttributes):
1877         * ksvg2/ksvg.h:
1878         * ksvg2/misc/SVGDocumentExtensions.h:
1879         (WebCore::FloatRect):
1880         * ksvg2/svg/SVGAElement.h:
1881         * ksvg2/svg/SVGAnimateColorElement.cpp:
1882         * ksvg2/svg/SVGAnimateColorElement.h:
1883         * ksvg2/svg/SVGAnimateTransformElement.h:
1884         * ksvg2/svg/SVGAnimatedTemplate.h:
1885         (WebCore::SVGAnimatedTemplate::~SVGAnimatedTemplate):
1886         * ksvg2/svg/SVGAnimationElement.h:
1887         * ksvg2/svg/SVGCircleElement.h:
1888         * ksvg2/svg/SVGClipPathElement.h:
1889         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1890         (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
1891         (SVGComponentTransferFunctionElement::transferFunction):
1892         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1893         * ksvg2/svg/SVGCursorElement.h:
1894         * ksvg2/svg/SVGDefsElement.h:
1895         * ksvg2/svg/SVGElement.h:
1896         * ksvg2/svg/SVGElementInstanceList.cpp:
1897         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
1898         * ksvg2/svg/SVGElementInstanceList.h:
1899         * ksvg2/svg/SVGEllipseElement.h:
1900         * ksvg2/svg/SVGExternalResourcesRequired.h:
1901         * ksvg2/svg/SVGFEBlendElement.h:
1902         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1903         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1904         (SVGFEColorMatrixElement::parseMappedAttribute):
1905         (SVGFEColorMatrixElement::filterEffect):
1906         * ksvg2/svg/SVGFEColorMatrixElement.h:
1907         * ksvg2/svg/SVGFEComponentTransferElement.h:
1908         * ksvg2/svg/SVGFECompositeElement.h:
1909         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1910         * ksvg2/svg/SVGFEDisplacementMapElement.h:
1911         * ksvg2/svg/SVGFEFloodElement.h:
1912         * ksvg2/svg/SVGFEGaussianBlurElement.h:
1913         * ksvg2/svg/SVGFEImageElement.h:
1914         * ksvg2/svg/SVGFELightElement.h:
1915         * ksvg2/svg/SVGFEMergeNodeElement.h:
1916         * ksvg2/svg/SVGFEOffsetElement.h:
1917         * ksvg2/svg/SVGFESpecularLightingElement.h:
1918         * ksvg2/svg/SVGFETileElement.h:
1919         * ksvg2/svg/SVGFETurbulenceElement.h:
1920         * ksvg2/svg/SVGFilterElement.h:
1921         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
1922         * ksvg2/svg/SVGFitToViewBox.cpp:
1923         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
1924         (WebCore::SVGFitToViewBox::parseViewBox):
1925         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
1926         * ksvg2/svg/SVGFitToViewBox.h:
1927         * ksvg2/svg/SVGForeignObjectElement.h:
1928         * ksvg2/svg/SVGGElement.h:
1929         * ksvg2/svg/SVGGradientElement.cpp:
1930         (SVGGradientElement::SVGGradientElement):
1931         * ksvg2/svg/SVGGradientElement.h:
1932         * ksvg2/svg/SVGHelper.cpp:
1933         (WebCore::SVGHelper::PercentageOfViewport):
1934         * ksvg2/svg/SVGImageElement.h:
1935         * ksvg2/svg/SVGLength.cpp:
1936         * ksvg2/svg/SVGLengthList.cpp:
1937         (WebCore::SVGLengthList::SVGLengthList):
1938         (WebCore::SVGLengthList::parse):
1939         * ksvg2/svg/SVGLengthList.h:
1940         * ksvg2/svg/SVGLineElement.h:
1941         * ksvg2/svg/SVGLinearGradientElement.h:
1942         * ksvg2/svg/SVGList.h:
1943         (WebCore::SVGListBase::SVGListBase):
1944         (WebCore::SVGListBase::~SVGListBase):
1945         (WebCore::SVGListBase::numberOfItems):
1946         (WebCore::SVGListBase::clear):
1947         (WebCore::SVGListBase::initialize):
1948         (WebCore::SVGListBase::getFirst):
1949         (WebCore::SVGListBase::getLast):
1950         (WebCore::SVGListBase::getItem):
1951         (WebCore::SVGListBase::insertItemBefore):
1952         (WebCore::SVGListBase::replaceItem):
1953         (WebCore::SVGListBase::removeItem):
1954         (WebCore::SVGListBase::appendItem):
1955         (WebCore::SVGList::nullItem):
1956         (WebCore::):
1957         * ksvg2/svg/SVGLocatable.cpp:
1958         * ksvg2/svg/SVGMarkerElement.h:
1959         * ksvg2/svg/SVGMaskElement.h:
1960         * ksvg2/svg/SVGNumberList.cpp:
1961         (SVGNumberList::SVGNumberList):
1962         (SVGNumberList::parse):
1963         * ksvg2/svg/SVGNumberList.h:
1964         * ksvg2/svg/SVGPathElement.cpp:
1965         (WebCore::SVGPathElement::pathSegList):
1966         * ksvg2/svg/SVGPathElement.h:
1967         * ksvg2/svg/SVGPathSegList.cpp:
1968         (WebCore::SVGPathSegList::SVGPathSegList):
1969         * ksvg2/svg/SVGPathSegList.h:
1970         * ksvg2/svg/SVGPatternElement.cpp:
1971         (WebCore::SVGPatternElement::SVGPatternElement):
1972         * ksvg2/svg/SVGPatternElement.h:
1973         * ksvg2/svg/SVGPointList.cpp:
1974         (SVGPointList::SVGPointList):
1975         * ksvg2/svg/SVGPointList.h:
1976         * ksvg2/svg/SVGPolyElement.cpp:
1977         (SVGPolyElement::points):
1978         (SVGPolyElement::svgPolyTo):
1979         (SVGPolyElement::notifyAttributeChange):
1980         * ksvg2/svg/SVGPolyElement.h:
1981         * ksvg2/svg/SVGPolygonElement.cpp:
1982         (SVGPolygonElement::toPathData):
1983         * ksvg2/svg/SVGPolylineElement.cpp:
1984         (SVGPolylineElement::toPathData):
1985         * ksvg2/svg/SVGPreserveAspectRatio.h:
1986         (WebCore::SVGPreserveAspectRatio::):
1987         * ksvg2/svg/SVGRadialGradientElement.h:
1988         * ksvg2/svg/SVGRectElement.h:
1989         * ksvg2/svg/SVGSVGElement.cpp:
1990         (WebCore::SVGSVGElement::SVGSVGElement):
1991         (WebCore::SVGSVGElement::parseMappedAttribute):
1992         (WebCore::SVGSVGElement::createRenderer):
1993         * ksvg2/svg/SVGSVGElement.h:
1994         * ksvg2/svg/SVGScriptElement.h:
1995         * ksvg2/svg/SVGStopElement.h:
1996         * ksvg2/svg/SVGStringList.cpp:
1997         (WebCore::SVGStringList::SVGStringList):
1998         (WebCore::SVGStringList::reset):
1999         * ksvg2/svg/SVGStringList.h:
2000         * ksvg2/svg/SVGStyledElement.h:
2001         * ksvg2/svg/SVGStyledLocatableElement.cpp:
2002         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2003         (SVGStyledTransformableElement::SVGStyledTransformableElement):
2004         * ksvg2/svg/SVGStyledTransformableElement.h:
2005         * ksvg2/svg/SVGSwitchElement.h:
2006         * ksvg2/svg/SVGSymbolElement.h:
2007         * ksvg2/svg/SVGTRefElement.h:
2008         * ksvg2/svg/SVGTests.cpp:
2009         (WebCore::SVGTests::isValid):
2010         * ksvg2/svg/SVGTextContentElement.h:
2011         * ksvg2/svg/SVGTextElement.cpp:
2012         (WebCore::SVGTextElement::SVGTextElement):
2013         * ksvg2/svg/SVGTextElement.h:
2014         * ksvg2/svg/SVGTextPositioningElement.cpp:
2015         (SVGTextPositioningElement::SVGTextPositioningElement):
2016         (SVGTextPositioningElement::parseMappedAttribute):
2017         * ksvg2/svg/SVGTextPositioningElement.h:
2018         * ksvg2/svg/SVGTransformList.cpp:
2019         (SVGTransformList::SVGTransformList):
2020         (SVGTransformList::createSVGTransformFromMatrix):
2021         (SVGTransformList::consolidate):
2022         (SVGTransformList::concatenate):
2023         * ksvg2/svg/SVGTransformList.h:
2024         * ksvg2/svg/SVGURIReference.h:
2025         * ksvg2/svg/SVGUseElement.h:
2026         * ksvg2/svg/SVGViewElement.h:
2027
2028 2006-09-11  Adam Roben  <aroben@apple.com>
2029
2030         Rubberstamped by Adele.
2031
2032         Rename LocalGraphicsContext.{h,mm} to
2033         LocalCurrentGraphicsContext.{h,mm} to match the class name.
2034
2035         * WebCore.xcodeproj/project.pbxproj:
2036         * platform/mac/LocalCurrentGraphicsContext.mm: Added.
2037         * platform/mac/LocalCurrentGraphicsContext.h: Added.
2038         * platform/mac/LocalGraphicsContext.h: Removed.
2039         * platform/mac/LocalGraphicsContext.mm: Removed.
2040         * rendering/RenderThemeMac.mm: Fix #include to match renamed file
2041
2042 2006-09-11  Brady Eidson  <beidson@apple.com>
2043
2044         Build fix
2045
2046         * WebCore.xcodeproj/project.pbxproj:
2047
2048 2006-09-11  Kevin McCullough  <KMcCullough@apple.com>
2049
2050         Reviewed by Darin. 
2051
2052         - Implements comparePoint on the Range class
2053
2054         - Exposes RangeExceptions in JavaScript
2055
2056         * DerivedSources.make:
2057         * WebCore.xcodeproj/project.pbxproj:
2058         * bindings/js/kjs_binding.cpp:
2059         * bindings/objc/DOMInternal.mm:
2060         * dom/Range.cpp:
2061         (WebCore::Range::comparePoint):
2062         (WebCore::Range::compareNode):
2063         * dom/Range.h:
2064         (WebCore::Range::):
2065         * dom/Range.idl:
2066         * dom/RangeException.h: Added.
2067         (WebCore::):
2068         * dom/RangeException.idl: Added.
2069         * page/DOMWindow.idl:
2070
2071 2006-09-11  Adam Roben  <aroben@apple.com>
2072
2073         Reviewed by timo.
2074
2075         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10812
2076         Move LocalGraphicsContext out of RenderThemeMac
2077
2078         * WebCore.xcodeproj/project.pbxproj:
2079         * platform/mac/LocalGraphicsContext.h: Added.
2080         * platform/mac/LocalGraphicsContext.mm: Added.
2081         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
2082         (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
2083         * rendering/RenderThemeMac.mm:
2084
2085 2006-09-11  Vladimir Olexa  <vladimir.olexa@gmail.com>
2086
2087         Reviewed by Darin.
2088
2089         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10323
2090           REGRESSION: javascript: URL containing '\\' gets passed as '//'
2091
2092         Test: fast/dom/javascript-backslash.html
2093
2094         * platform/KURL.cpp: (WebCore::KURL::init): Don't do backslash
2095         substitution in JavaScript URLs.
2096
2097 2006-09-11  Sam Weinig  <sam.weinig@gmail.com>
2098
2099         Reviewed by Darin and Tim H.
2100
2101         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10792
2102         Remove the [Exclude=LANGUAGE] idiom from IDL's and code generators 
2103         for something better
2104
2105         - Replaces [Exclude=LANGUAGE] idiom with preprocessor #if defined(LANGUAGE)
2106           idiom.
2107
2108         - Assorted whitespace changes to IDL files.
2109
2110         * DerivedSources.make:
2111         * WebCore.xcodeproj/project.pbxproj:
2112         * bindings/objc/DOMEvents.h:
2113         * bindings/scripts/CodeGenerator.pm:
2114         * bindings/scripts/CodeGeneratorJS.pm:
2115         * bindings/scripts/CodeGeneratorObjC.pm:
2116         * css/CSSRule.idl:
2117         * css/CSSStyleDeclaration.idl:
2118         * css/CSSValue.idl:
2119         * dom/DOMImplementation.idl:
2120         * dom/Document.idl:
2121         * dom/Element.idl:
2122         * dom/Event.idl:
2123         * dom/KeyboardEvent.idl:
2124         * dom/MouseEvent.idl:
2125         * dom/NamedNodeMap.idl:
2126         * dom/NodeFilter.idl:
2127         * dom/UIEvent.idl:
2128         * dom/WheelEvent.idl:
2129         * html/HTMLAnchorElement.idl:
2130         * html/HTMLAreaElement.idl:
2131         * html/HTMLDocument.idl:
2132         * html/HTMLElement.idl:
2133         * html/HTMLImageElement.idl:
2134         * html/HTMLInputElement.idl:
2135         * html/HTMLLinkElement.idl:
2136         * html/HTMLOptionsCollection.idl:
2137
2138 2006-09-11  David Hyatt  <hyatt@apple.com>
2139
2140         Fix an unwitting victim of the kMin->min change.  calcBlockMinMaxWidth
2141         was accidentally renamed to calcBlominMaxWidth.
2142
2143         * rendering/RenderBlock.cpp:
2144         (WebCore::RenderBlock::calcMinMaxWidth):
2145         (WebCore::RenderBlock::calcBlockMinMaxWidth):
2146         * rendering/RenderBlock.h:
2147
2148 2006-09-10  David Hyatt  <hyatt@apple.com>
2149
2150         Rework the printer font stuff a little bit so that the Font API doesn't
2151         have to be changed.
2152
2153         Reviewed by eseidel
2154
2155         * WebCore.xcodeproj/project.pbxproj:
2156         * bridge/mac/WebCoreStringTruncator.mm:
2157         (truncateString):
2158         (+[WebCoreStringTruncator widthOfString:font:]):
2159         * platform/Font.cpp:
2160         (WebCore::Font::drawSimpleText):
2161         * platform/Font.h:
2162         * platform/TextStyle.h:
2163         (WebCore::TextStyle::TextStyle):
2164         (WebCore::TextStyle::attemptFontSubstitution):
2165         (WebCore::TextStyle::setRTL):
2166         * platform/mac/FontMac.mm:
2167         (WebCore::m_wordSpacing):
2168         (WebCore::Font::drawGlyphs):
2169         * platform/mac/ListBoxMac.mm:
2170         (itemTextRenderer):
2171         (groupLabelTextRenderer):
2172         (-[WebCoreTableView drawRow:clipRect:]):
2173         * platform/mac/PopUpButtonMac.mm:
2174         (PopUpButton::sizeHint):
2175         * platform/mac/TextFieldMac.mm:
2176         (-[NSSearchFieldCell _addStringToRecentSearches:]):
2177         * platform/mac/WebCoreTextRenderer.mm:
2178         (WebCoreDrawTextAtPoint):
2179         (WebCoreTextFloatWidth):
2180         * rendering/EllipsisBox.cpp:
2181         (WebCore::EllipsisBox::paint):
2182         * rendering/InlineTextBox.cpp:
2183         (WebCore::InlineTextBox::paint):
2184         * rendering/RenderImage.cpp:
2185         (WebCore::RenderImage::paint):
2186         * rendering/RenderListMarker.cpp:
2187         (WebCore::RenderListMarker::paint):
2188
2189 2006-09-10  Brady Eidson  <beidson@apple.com>
2190
2191         Reviewed by Maciej
2192
2193         Small cleanups + future plans
2194
2195         * loader/icon/IconDatabase.cpp:
2196         (WebCore::IconDatabase::open): path separator cleanup
2197         * platform/Image.h: 
2198      
2199 2006-09-10  Brady Eidson  <beidson@apple.com>
2200
2201         Reviewed by Maciej
2202
2203         Added specialized HashTraits
2204
2205         * platform/IntSizeHash.h:
2206
2207 2006-09-10  Brady Eidson  <beidson@apple.com>
2208
2209         Forgetting header #define protection is BAAAAAD
2210         (and re-alphabetized the project file)
2211
2212         * WebCore.xcodeproj/project.pbxproj:
2213         * platform/IntSizeHash.h:
2214
2215 2006-09-10  Brady Eidson  <beidson@apple.com>
2216
2217         Reviewed by Maciej
2218
2219         Moved the custom IntSize hash out of IconDatabase into a more generally useful file
2220
2221         * WebCore.xcodeproj/project.pbxproj:
2222         * loader/icon/IconDatabase.h:
2223         * platform/IntSizeHash.h: Added.
2224
2225 2006-09-10  David Hyatt  <hyatt@apple.com>
2226
2227         Fix for bug 10801, form controls that get styled suddenly lose their
2228         intrinsic margins.  Move the intrinsic margin addition code into
2229         adjustRenderStyle and get it out of the theme code and the old form control
2230         code.
2231
2232         Reviewed by aroben
2233
2234         * css/cssstyleselector.cpp:
2235         (WebCore::addIntrinsicMargins):
2236         (WebCore::CSSStyleSelector::adjustRenderStyle):
2237         * css/html4.css:
2238         * rendering/DeprecatedRenderSelect.h:
2239         (WebCore::DeprecatedRenderSelect::calcReplacedHeight):
2240         * rendering/DeprecatedSlider.h:
2241         * rendering/RenderFormElement.cpp:
2242         (WebCore::RenderFormElement::setStyle):
2243         * rendering/RenderFormElement.h:
2244         * rendering/RenderLayer.cpp:
2245         (WebCore::RenderLayer::resize):
2246         * rendering/RenderThemeMac.h:
2247         * rendering/RenderThemeMac.mm:
2248         (WebCore::RenderThemeMac::adjustButtonStyle):
2249         (WebCore::RenderThemeMac::adjustTextFieldStyle):
2250         (WebCore::RenderThemeMac::adjustTextAreaStyle):
2251         (WebCore::RenderThemeMac::adjustMenuListStyle):
2252         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
2253         * rendering/RenderThemeWin.cpp:
2254         (WebCore::RenderThemeWin::adjustButtonStyle):
2255         (WebCore::RenderThemeWin::adjustTextFieldStyle):
2256         (WebCore::RenderThemeWin::adjustTextAreaStyle):
2257
2258 2006-09-10  Darin Adler  <darin@apple.com>
2259
2260         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=10547
2261
2262         * manual-tests/target-test.html: Added.
2263         * manual-tests/targeted.html: Added.
2264
2265 2006-09-10  Eric Seidel  <eric@eseidel.com>
2266
2267         Reviewed by darin.
2268         
2269         Remove a bunch more NSGraphicsContext related code.
2270         Add a LocalCurrentGraphicsContext to simplify methods which need to call up into AppKit controls (and thus depend on the [NSGraphicsContext currentContext] being set correctly)
2271         Add an "isPrinting" flag to many of the text drawing functions in order to avoid the need for a GraphicsContext::isPrinting() function.
2272
2273         No tests were harmed in the making of this patch.
2274
2275         * bridge/mac/WebCoreFrameBridge.mm:
2276         (-[WebCoreFrameBridge drawRect:]):
2277         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2278         (WebCore::KRenderingDeviceContextQuartz::cgContext):
2279         (WebCore::KRenderingDeviceQuartz::isBuffered):
2280         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2281         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
2282         (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
2283         * kcanvas/device/quartz/QuartzSupport.mm:
2284         * platform/Font.cpp:
2285         (WebCore::Font::drawSimpleText):
2286         (WebCore::Font::drawText):
2287         * platform/Font.h:
2288         * platform/GraphicsContext.cpp:
2289         (WebCore::GraphicsContext::drawText):
2290         * platform/GraphicsContext.h:
2291         * platform/mac/FileButtonMac.mm:
2292         (-[WebFileChooserButton drawRect:]):
2293         * platform/mac/FontMac.mm:
2294         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
2295         (WebCore::ATSULayoutParameters::initialize):
2296         (WebCore::Font::drawComplexText):
2297         (WebCore::Font::drawGlyphs):
2298         * platform/mac/GraphicsContextMac.mm:
2299         (WebCore::GraphicsContext::drawLineForMisspelling):
2300         * platform/mac/ListBoxMac.mm:
2301         (-[WebCoreTableView drawRow:clipRect:]):
2302         * platform/mac/WebCoreTextRenderer.mm:
2303         (WebCoreDrawTextAtPoint):
2304         * rendering/EllipsisBox.cpp:
2305         (WebCore::EllipsisBox::paint):
2306         * rendering/InlineTextBox.cpp:
2307         (WebCore::InlineTextBox::paint):
2308         * rendering/RenderImage.cpp:
2309         (WebCore::RenderImage::paint):
2310         * rendering/RenderListMarker.cpp:
2311         (WebCore::RenderListMarker::paint):
2312         * rendering/RenderThemeMac.mm:
2313         (WebCore::WebCoreNSGraphicsContextBridge::WebCoreNSGraphicsContextBridge):
2314         (WebCore::WebCoreNSGraphicsContextBridge::~WebCoreNSGraphicsContextBridge):
2315         (WebCore::RenderThemeMac::paintButton):
2316         (WebCore::RenderThemeMac::paintTextField):
2317         (WebCore::RenderThemeMac::paintTextArea):
2318
2319 2006-09-09  Steve Falkenburg  <sfalken@apple.com>
2320
2321         Reviewed by aroben.
2322
2323         Fixes to work with string API changes.
2324
2325         * platform/cf/ResourceLoaderCFNet.cpp:
2326         (WebCore::arrayFromFormData):
2327         (WebCore::ResourceLoader::start):
2328         * platform/cf/StringCF.cpp:
2329         * platform/cf/StringImplCF.cpp:
2330
2331 2006-09-09  David Hyatt  <hyatt@apple.com>
2332
2333         Fix for Bugzilla bug 5500, scrollLeft/Top/Width/Height properties not supported
2334         on textarea.  Refactored the DOM getters and setters to go through the renderer
2335         instead of right to the layer.  The renderer functions are virtual so that the
2336         text control can subclass and forward to its anonymous div.
2337
2338         Fix for Bugzilla bug 10719, When positioned objects are sizing using their
2339         containing block width as a guide, they should not ever use the line width like
2340         non-positioned objects do.
2341
2342         Reviewed by aroben
2343
2344         * WebCore.xcodeproj/project.pbxproj:
2345         * dom/Element.cpp:
2346         (WebCore::Element::scrollLeft):
2347         (WebCore::Element::scrollTop):
2348         (WebCore::Element::setScrollLeft):
2349         (WebCore::Element::setScrollTop):
2350         * rendering/RenderBox.cpp:
2351         (WebCore::RenderBox::containingBlockWidthForPositioned):
2352         * rendering/RenderObject.cpp:
2353         (WebCore::RenderObject::clientWidth):
2354         (WebCore::RenderObject::clientHeight):
2355         (WebCore::RenderObject::scrollWidth):
2356         (WebCore::RenderObject::scrollHeight):
2357         (WebCore::RenderObject::scrollLeft):
2358         (WebCore::RenderObject::scrollTop):
2359         (WebCore::RenderObject::setScrollLeft):
2360         (WebCore::RenderObject::setScrollTop):
2361         (WebCore::RenderObject::hasStaticX):
2362         (WebCore::RenderObject::hasStaticY):
2363         * rendering/RenderObject.h:
2364         (WebCore::RenderObject::clientLeft):
2365         (WebCore::RenderObject::clientTop):
2366         * rendering/RenderTextControl.cpp:
2367         (WebCore::RenderTextControl::scrollWidth):
2368         (WebCore::RenderTextControl::scrollHeight):
2369         (WebCore::RenderTextControl::scrollLeft):
2370         (WebCore::RenderTextControl::scrollTop):
2371         (WebCore::RenderTextControl::setScrollLeft):
2372         (WebCore::RenderTextControl::setScrollTop):
2373         * rendering/RenderTextControl.h:
2374
2375 2006-09-09  David Hyatt  <hyatt@apple.com>
2376
2377         Implement support for the WinIE clientLeft and clientTop extensions.
2378
2379         Reviewed by aroben
2380
2381         * dom/Element.cpp:
2382         (WebCore::Element::clientLeft):
2383         (WebCore::Element::clientTop):
2384         * dom/Element.h:
2385         * dom/Element.idl:
2386         * rendering/RenderObject.h:
2387         (WebCore::RenderObject::clientLeft):
2388         (WebCore::RenderObject::clientTop):
2389
2390 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
2391
2392         Reviewed by Eric.
2393
2394         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10795
2395         Auto-generate the Objective-C DOM XPath bindings
2396
2397         - Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult.
2398
2399         * DerivedSources.make:
2400         * WebCore.xcodeproj/project.pbxproj:
2401         * bindings/objc/DOMPrivate.h:
2402         * bindings/objc/DOMXPath.h:
2403         * bindings/objc/DOMXPath.mm:
2404         * bindings/objc/PublicDOMInterfaces.h:
2405         * xml/XPathExpression.idl:
2406         * xml/XPathNSResolver.idl:
2407         * xml/XPathResult.idl:
2408
2409 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
2410
2411         Reviewed by Eric.
2412
2413         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10791
2414         Even More Objective-C DOM auto-generation cleanup
2415
2416         - Auto-generate some remaining extension methods for DOMDocument
2417           and DOMCSSStyleDeclaration.
2418
2419         - Split DOMHTMLEmbedElement into it's own files.  It can't be
2420           auto-generated yet because the Objective-C interface is significantly
2421           different from the implementation interface.  Since HTMLEmbedElement
2422           is not in the W3C spec, this is somewhat of a gray area.
2423
2424         - Auto-generate DOMEventListener protocol.
2425
2426         - Clean up the IDL files by separating the extensions from the
2427           specified methods and attributes.
2428
2429         * DerivedSources.make:
2430         * WebCore.xcodeproj/project.pbxproj:
2431         * bindings/objc/DOM.mm:
2432         * bindings/objc/DOMCSS.mm:
2433         * bindings/objc/DOMEventListener.h: Removed.
2434         * bindings/objc/DOMExtensions.h:
2435         * bindings/objc/DOMHTML.h:
2436         * bindings/objc/DOMHTML.mm:
2437         * bindings/objc/DOMHTMLEmbedElement.h: Added.
2438         * bindings/objc/DOMHTMLEmbedElement.mm: Added.
2439         (-[DOMHTMLEmbedElement align]):
2440         (-[DOMHTMLEmbedElement setAlign:]):
2441         (-[DOMHTMLEmbedElement height]):
2442         (-[DOMHTMLEmbedElement setHeight:]):
2443         (-[DOMHTMLEmbedElement name]):
2444         (-[DOMHTMLEmbedElement setName:]):
2445         (-[DOMHTMLEmbedElement src]):
2446         (-[DOMHTMLEmbedElement setSrc:]):
2447         (-[DOMHTMLEmbedElement type]):
2448         (-[DOMHTMLEmbedElement setType:]):
2449         (-[DOMHTMLEmbedElement width]):
2450         (-[DOMHTMLEmbedElement setWidth:]):
2451         * bindings/objc/DOMPrivate.h:
2452         * bindings/objc/PublicDOMInterfaces.h:
2453         * css/CSSStyleDeclaration.idl:
2454         * dom/Document.idl:
2455         * dom/KeyboardEvent.h:
2456         * dom/KeyboardEvent.idl:
2457         * dom/MouseEvent.idl:
2458         * dom/MutationEvent.idl:
2459         * dom/OverflowEvent.idl:
2460         * dom/UIEvent.idl:
2461         * dom/WheelEvent.idl:
2462         * html/HTMLEmbedElement.idl: Added.
2463
2464 2006-09-09  Eric Seidel  <eric@eseidel.com>
2465
2466         Reviewed by Tim H.
2467         
2468         Remove DeprecatedString usage and fix style.
2469         http://bugzilla.opendarwin.org/show_bug.cgi?id=10787
2470
2471         No tests were harmed in the making of this patch.
2472
2473         * kcanvas/KCanvasFilters.cpp:
2474         (WebCore::KCanvasFilterEffect::in):
2475         (WebCore::KCanvasFilterEffect::setIn):
2476         (WebCore::KCanvasFilterEffect::result):
2477         (WebCore::KCanvasFilterEffect::setResult):
2478         (WebCore::KCanvasFEMerge::externalRepresentation):
2479         * kcanvas/KCanvasFilters.h:
2480         (WebCore::KCanvasFEBlend::in2):
2481         (WebCore::KCanvasFEBlend::setIn2):
2482         (WebCore::KCanvasFEComposite::in2):
2483         (WebCore::KCanvasFEComposite::setIn2):
2484         (WebCore::KCanvasFEDisplacementMap::in2):
2485         (WebCore::KCanvasFEDisplacementMap::setIn2):
2486         (WebCore::KCanvasFEMerge::mergeInputs):
2487         (WebCore::KCanvasFEMerge::setMergeInputs):
2488         * kcanvas/KCanvasResources.cpp:
2489         (WebCore::KCanvasResource::idInRegistry):
2490         (WebCore::KCanvasResource::setIdInRegistry):
2491         (WebCore::getResourceById):
2492         * kcanvas/KCanvasResources.h:
2493         * kcanvas/RenderPath.cpp:
2494         (WebCore::RenderPath::getAbsoluteRepaintRect):
2495         (WebCore::RenderPath::paint):
2496         (WebCore::RenderPath::drawMarkersIfNeeded):
2497         * kcanvas/RenderSVGContainer.cpp:
2498         (WebCore::RenderSVGContainer::paint):
2499         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
2500         * kcanvas/RenderSVGImage.cpp:
2501         (WebCore::RenderSVGImage::paint):
2502         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
2503         * kcanvas/RenderSVGText.cpp:
2504         (WebCore::RenderSVGText::paint):
2505         * kcanvas/device/KRenderingPaintServer.h:
2506         (WebCore::KRenderingPaintServer::idInRegistry):
2507         (WebCore::KRenderingPaintServer::setIdInRegistry):
2508         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2509         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2510         (WebCore::KCanvasFilterQuartz::imageForName):
2511         (WebCore::KCanvasFilterQuartz::setImageForName):
2512         (WebCore::KCanvasFEMergeQuartz::getCIFilter):
2513         * ksvg2/css/SVGCSSStyleSelector.cpp:
2514         (WebCore::CSSStyleSelector::applySVGProperty):
2515         * ksvg2/css/SVGRenderStyle.cpp:
2516         * ksvg2/css/SVGRenderStyle.h:
2517         * ksvg2/css/SVGRenderStyleDefs.h:
2518         * ksvg2/ecma/GlobalObject.cpp:
2519         (GlobalObject::get):
2520         * ksvg2/misc/KSVGTimeScheduler.cpp:
2521         (WebCore::SVGTimer::notifyAll):
2522         * ksvg2/svg/SVGDescElement.cpp:
2523         (WebCore::SVGDescElement::SVGDescElement):
2524         (WebCore::SVGDescElement::description):
2525         * ksvg2/svg/SVGDescElement.h:
2526         * ksvg2/svg/SVGFEBlendElement.cpp:
2527         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2528         (WebCore::SVGFEBlendElement::filterEffect):
2529         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2530         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2531         (SVGFEColorMatrixElement::filterEffect):
2532         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2533         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2534         (WebCore::SVGFEComponentTransferElement::filterEffect):
2535         * ksvg2/svg/SVGFECompositeElement.cpp:
2536         (SVGFECompositeElement::SVGFECompositeElement):
2537         (SVGFECompositeElement::filterEffect):
2538         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2539         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2540         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2541         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2542         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2543         (SVGFEDisplacementMapElement::filterEffect):
2544         * ksvg2/svg/SVGFEFloodElement.cpp:
2545         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2546         (WebCore::SVGFEFloodElement::filterEffect):
2547         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2548         (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2549         (SVGFEGaussianBlurElement::filterEffect):
2550         * ksvg2/svg/SVGFELightElement.cpp:
2551         * ksvg2/svg/SVGFEMergeElement.cpp:
2552         (SVGFEMergeElement::filterEffect):
2553         * ksvg2/svg/SVGFEOffsetElement.cpp:
2554         (SVGFEOffsetElement::SVGFEOffsetElement):
2555         (SVGFEOffsetElement::filterEffect):
2556         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2557         (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2558         (SVGFESpecularLightingElement::filterEffect):
2559         * ksvg2/svg/SVGFETileElement.cpp:
2560         (WebCore::SVGFETileElement::SVGFETileElement):
2561         (WebCore::SVGFETileElement::filterEffect):
2562         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2563         (SVGFETurbulenceElement::SVGFETurbulenceElement):
2564         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2565         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2566         * ksvg2/svg/SVGFitToViewBox.cpp:
2567         (WebCore::SVGFitToViewBox::parseViewBox):
2568         (WebCore::SVGFitToViewBox::parseMappedAttribute):
2569         * ksvg2/svg/SVGFitToViewBox.h:
2570         * ksvg2/svg/SVGLinearGradientElement.cpp:
2571         (SVGLinearGradientElement::buildGradient):
2572         * ksvg2/svg/SVGPatternElement.cpp:
2573         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2574         (WebCore::SVGPatternElement::notifyAttributeChange):
2575         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
2576         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2577         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
2578         (WebCore::SVGPreserveAspectRatio::getCTM):
2579         * ksvg2/svg/SVGPreserveAspectRatio.h:
2580         * ksvg2/svg/SVGRadialGradientElement.cpp:
2581         (WebCore::SVGRadialGradientElement::buildGradient):
2582         * ksvg2/svg/SVGStyleElement.cpp:
2583         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2584         * ksvg2/svg/SVGViewElement.cpp:
2585         (WebCore::SVGViewElement::SVGViewElement):
2586         (WebCore::SVGViewElement::parseMappedAttribute):
2587         * ksvg2/svg/SVGZoomAndPan.cpp:
2588         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
2589
2590 2006-09-08  Darin Adler  <darin@apple.com>
2591
2592         Reviewed by Tim H.
2593
2594         <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
2595         
2596         Fixes the quoting logic. The previous logic did not account for the
2597         CSS tokenizer's regex character range between * and ~ as valid in URL types.
2598
2599         * css/CSSPrimitiveValue.cpp:
2600         (WebCore::isCSSTokenizerURL):
2601
2602 2006-09-09  Alexey Proskuryakov  <ap@nypop.com>
2603
2604         Reviewed by Darin.
2605
2606         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10759
2607           fast/AppleScript/array.html test failing
2608
2609         * bridge/mac/WebCoreFrameBridge.mm:
2610         (aeDescFromJSValue): Convert integer values to typeSInt32 AE descriptors.
2611
2612 2006-09-08  Eric Seidel  <eric@eseidel.com>
2613
2614         Reviewed by darin.
2615
2616         Replace incorrect fooBaseValue() calls with foo() calls instead.
2617         http://bugzilla.opendarwin.org/show_bug.cgi?id=10746
2618         
2619         With the previously broken animation system, we had both base and anim values
2620         but they were not automatically connected/disconnected when animation started and stopped.
2621         So the animVals were basically never used (since they were always wrong).
2622         Now, animVal and baseVal are handled correctly.
2623         
2624         There are only 3 places in the code where we will ever need to use the BaseValue accessor variants.
2625         1. SVGAnimated* DOM bindings
2626         2. Animation Code
2627         3. parseMappedAttribute implementations
2628
2629         * kcanvas/RenderForeignObject.cpp:
2630         (WebCore::RenderForeignObject::translationForAttributes):
2631         * kcanvas/RenderSVGImage.cpp:
2632         (WebCore::RenderSVGImage::paint):
2633         (WebCore::RenderSVGImage::relativeBBox):
2634         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
2635         (WebCore::RenderSVGImage::translationForAttributes):
2636         * kcanvas/RenderSVGText.cpp:
2637         (WebCore::RenderSVGText::translationForAttributes):
2638         * ksvg2/misc/SVGImageLoader.cpp:
2639         (WebCore::SVGImageLoader::updateFromElement):
2640         * ksvg2/svg/SVGAElement.cpp:
2641         (WebCore::SVGAElement::defaultEventHandler):
2642         * ksvg2/svg/SVGCircleElement.cpp:
2643         (SVGCircleElement::parseMappedAttribute):
2644         (SVGCircleElement::toPathData):
2645         (SVGCircleElement::pushAttributeContext):
2646         (SVGCircleElement::hasPercentageValues):
2647         * ksvg2/svg/SVGClipPathElement.cpp:
2648         (SVGClipPathElement::canvasResource):
2649         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2650         (SVGComponentTransferFunctionElement::transferFunction):
2651         * ksvg2/svg/SVGCursorElement.cpp:
2652         (SVGCursorElement::parseMappedAttribute):
2653         * ksvg2/svg/SVGEllipseElement.cpp:
2654         (WebCore::SVGEllipseElement::parseMappedAttribute):
2655         (WebCore::SVGEllipseElement::toPathData):
2656         (WebCore::SVGEllipseElement::pushAttributeContext):
2657         (WebCore::SVGEllipseElement::hasPercentageValues):
2658         * ksvg2/svg/SVGFEBlendElement.cpp:
2659         (SVGFEBlendElement::filterEffect):
2660         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2661         (SVGFEColorMatrixElement::filterEffect):
2662         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2663         (SVGFEComponentTransferElement::filterEffect):
2664         * ksvg2/svg/SVGFECompositeElement.cpp:
2665         (SVGFECompositeElement::filterEffect):
2666         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2667         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2668         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2669         (SVGFEDisplacementMapElement::filterEffect):
2670         * ksvg2/svg/SVGFEDistantLightElement.cpp:
2671         (WebCore::SVGFEDistantLightElement::lightSource):
2672         * ksvg2/svg/SVGFEFloodElement.cpp:
2673         (SVGFEFloodElement::filterEffect):
2674         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2675         (SVGFEGaussianBlurElement::filterEffect):
2676         * ksvg2/svg/SVGFEImageElement.cpp:
2677         (SVGFEImageElement::parseMappedAttribute):
2678         * ksvg2/svg/SVGFEMergeElement.cpp:
2679         (SVGFEMergeElement::SVGFEMergeElement):
2680         (SVGFEMergeElement::filterEffect):
2681         * ksvg2/svg/SVGFEOffsetElement.cpp:
2682         (SVGFEOffsetElement::filterEffect):
2683         * ksvg2/svg/SVGFEPointLightElement.cpp:
2684         (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
2685         (WebCore::SVGFEPointLightElement::lightSource):
2686         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2687         (SVGFESpecularLightingElement::filterEffect):
2688         * ksvg2/svg/SVGFESpotLightElement.cpp:
2689         (WebCore::SVGFESpotLightElement::lightSource):
2690         * ksvg2/svg/SVGFETileElement.cpp:
2691         (SVGFETileElement::filterEffect):
2692         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2693         (SVGFETurbulenceElement::filterEffect):
2694         * ksvg2/svg/SVGFilterElement.cpp:
2695         (SVGFilterElement::canvasResource):
2696         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2697         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2698         * ksvg2/svg/SVGGradientElement.cpp:
2699         (SVGGradientElement::rebuildStops):
2700         * ksvg2/svg/SVGHelper.cpp:
2701         (WebCore::SVGHelper::PercentageOfViewport):
2702         * ksvg2/svg/SVGLineElement.cpp:
2703         (SVGLineElement::toPathData):
2704         (SVGLineElement::pushAttributeContext):
2705         (SVGLineElement::hasPercentageValues):
2706         * ksvg2/svg/SVGLinearGradientElement.cpp:
2707         (SVGLinearGradientElement::buildGradient):
2708         * ksvg2/svg/SVGMarkerElement.cpp:
2709         (WebCore::SVGMarkerElement::canvasResource):
2710         * ksvg2/svg/SVGMaskElement.cpp:
2711         (WebCore::SVGMaskElement::attributeChanged):
2712         (WebCore::SVGMaskElement::drawMaskerContent):
2713         * ksvg2/svg/SVGPatternElement.cpp:
2714         (WebCore::SVGPatternElement::pushAttributeContext):
2715         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2716         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2717         (WebCore::SVGPatternElement::notifyAttributeChange):
2718         (WebCore::SVGPatternElement::getCTM):
2719         * ksvg2/svg/SVGRadialGradientElement.cpp:
2720         (WebCore::SVGRadialGradientElement::buildGradient):
2721         * ksvg2/svg/SVGRectElement.cpp:
2722         (WebCore::SVGRectElement::toPathData):
2723         (WebCore::SVGRectElement::pushAttributeContext):
2724         (WebCore::SVGRectElement::hasPercentageValues):
2725         * ksvg2/svg/SVGSVGElement.cpp:
2726         (WebCore::SVGSVGElement::viewport):
2727         (WebCore::SVGSVGElement::parseMappedAttribute):
2728         (WebCore::SVGSVGElement::getCTM):
2729         (WebCore::SVGSVGElement::getScreenCTM):
2730         (WebCore::SVGSVGElement::createRenderer):
2731         * ksvg2/svg/SVGTRefElement.cpp:
2732         (SVGTRefElement::updateReferencedText):
2733         * ksvg2/svg/SVGUseElement.cpp:
2734         (SVGUseElement::closeRenderer):
2735
2736 2006-09-08  Eric Seidel  <eric@eseidel.com>
2737
2738         Reviewed by beth.
2739
2740         Remove the last vestiges of KDOM (KDOMCSSValue and KDOMCSSValueList)
2741         http://bugzilla.opendarwin.org/show_bug.cgi?id=10778
2742
2743         * ksvg2/css/SVGCSSParser.cpp:
2744         (WebCore::CSSParser::parseSVGValue):
2745         (WebCore::CSSParser::parseSVGStrokeDasharray):
2746         (WebCore::CSSParser::parseSVGPaint):
2747         (WebCore::CSSParser::parseSVGColor):
2748
2749 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
2750
2751         Reviewed by Darin and Tim H.
2752
2753         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10774
2754         Auto-generate the Objective-C DOM Traversal bindings
2755
2756         - Auto-generates DOMNodeIterator and DOMTreeWalker.
2757
2758         - Splits out DOMNodeFilter into its own file.
2759
2760         * DerivedSources.make:
2761         * WebCore.xcodeproj/project.pbxproj:
2762         * bindings/objc/DOM.mm:
2763         * bindings/objc/DOMNodeFilter.h: Added.
2764         * bindings/objc/DOMTraversal.h:
2765         * bindings/objc/PublicDOMInterfaces.h:
2766         * bindings/scripts/CodeGeneratorObjC.pm:
2767         * dom/NodeFilter.idl:
2768         * dom/NodeIterator.idl:
2769         * dom/Range.idl:
2770         * dom/TreeWalker.idl:
2771
2772 2006-09-07  MorganL  <morlmor@yahoo.com>
2773
2774         Reviewed by Darin, landed by Adam.
2775
2776         Fixes part of bug 10743: Windows build busted.
2777
2778         * platform/win/FontCacheWin.cpp: Add missing #include, set svn:eol-style to native
2779         (WebCore::FontCache::getFontLinkInterface):
2780         (WebCore::FontCache::getFontDataForCharacters):
2781         * platform/win/FontDataWin.cpp: Ditto.
2782         (WebCore::FontData::platformWidthForGlyph):
2783         * platform/win/FontWin.cpp: Add missing #include, band-aid over const problem with GlyphBufferGlyph
2784         (WebCore::Font::drawGlyphs):
2785         * platform/win/ResourceLoaderWin.cpp: Add missing #include, change .ascii() to .latin1()
2786         (WebCore::ResourceLoaderWndProc):
2787         (WebCore::ResourceLoader::start):
2788
2789 2006-09-07  Alexey Proskuryakov  <ap@nypop.com>
2790
2791         Reviewed by Darin.
2792
2793         http://bugzilla.opendarwin.org/show_bug.cgi?id=10753
2794         REGRESSION: The beginning of a CSS file is missing
2795
2796         Test: http/tests/incremental/slow-utf8-css.pl
2797
2798         * loader/Decoder.cpp:
2799         (WebCore::Decoder::checkForCSSCharset): Use the same buffering logic as used for HTML.
2800         (WebCore::Decoder::decode):
2801         * loader/Decoder.h: Added a return value and a movedDataToBuffer parameter to
2802         checkForCSSCharset().
2803
2804 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
2805
2806         Reviewed by Darin.
2807
2808         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10766
2809         Auto-generate the Objective-C DOM Events bindings
2810
2811         - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent, 
2812           DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent.
2813           
2814         - Splits out DOMEventListener and DOMEventTarget into their own files.
2815
2816         * DerivedSources.make:
2817         * WebCore.xcodeproj/project.pbxproj:
2818         * bindings/objc/DOMEventListener.h: Added.
2819         * bindings/objc/DOMEventTarget.h: Added.
2820         * bindings/objc/DOMEvents.h:
2821         * bindings/objc/DOMEvents.mm:
2822         (-[DOMEvent WebCore::]):
2823         (-[DOMEvent _initWithEvent:WebCore::]):
2824         (+[DOMEvent _eventWith:WebCore::]):
2825         * bindings/objc/DOMEventsNonstandard.mm: Removed.
2826         * bindings/objc/DOMNode.h:
2827         * bindings/objc/PublicDOMInterfaces.h:
2828         * bindings/scripts/CodeGenerator.pm:
2829         * bindings/scripts/CodeGeneratorObjC.pm:
2830         * dom/Event.idl:
2831         * dom/EventListener.idl: Added.
2832         * dom/EventTarget.idl: Added.
2833         * dom/KeyboardEvent.idl:
2834         * dom/MouseEvent.idl:
2835         * dom/UIEvent.idl:
2836         * dom/WheelEvent.idl:
2837
2838 2006-09-07  Rob Buis  <buis@kde.org>
2839
2840         Reviewed by Maciej.
2841
2842         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
2843         SVG with width and height 100% leaves room for scrollbar on the right.
2844
2845         Relayout children of svg containers, except svg shapes that do not depend on percentages.
2846
2847         * kcanvas/RenderPath.cpp:
2848         (WebCore::RenderPath::hasPercentageValues):
2849         * kcanvas/RenderPath.h:
2850         * kcanvas/RenderSVGContainer.cpp:
2851         (WebCore::RenderSVGContainer::layout):
2852         * ksvg2/svg/SVGCircleElement.cpp:
2853         (SVGCircleElement::hasPercentageValues):
2854         * ksvg2/svg/SVGCircleElement.h:
2855         * ksvg2/svg/SVGEllipseElement.cpp:
2856         (WebCore::SVGEllipseElement::hasPercentageValues):
2857         * ksvg2/svg/SVGEllipseElement.h:
2858         * ksvg2/svg/SVGLineElement.cpp:
2859         (SVGLineElement::hasPercentageValues):
2860         * ksvg2/svg/SVGLineElement.h:
2861         * ksvg2/svg/SVGRectElement.cpp:
2862         (WebCore::SVGRectElement::hasPercentageValues):
2863         * ksvg2/svg/SVGRectElement.h:
2864         * ksvg2/svg/SVGStyledElement.h:
2865         (WebCore::SVGStyledElement::hasPercentageValues):
2866
2867 2006-09-06  Brady Eidson <beidson@apple.com>
2868
2869         Constant renamed in 16250 wasn't changed in each use
2870
2871         * platform/win/GlyphMapWin.cpp:
2872         (WebCore::GlyphMap::fillPage):
2873
2874 2006-09-06  Darin Adler  <darin@apple.com>
2875
2876         Reviewed by Tim Hatcher.
2877
2878         - fix crashes affecting editing layout tests (regressions from my vector change)
2879
2880         * editing/BreakBlockquoteCommand.cpp:
2881         (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector.
2882         * editing/InsertParagraphSeparatorCommand.cpp:
2883         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
2884
2885 2006-09-06  David Harrison  <harrison@apple.com>
2886
2887         Reviewed and tweaked by Tim H.
2888
2889         <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
2890
2891         If we don't find the font in the available fonts list, call [NSFont fontWithName:size:]
2892         to trigger a search that will include auto activation. No PLT or iBench perf impact.
2893         No layout tests affected. Not testable in an automated way that will work on all systems.
2894
2895         * platform/mac/WebFontCache.mm:
2896         (+[WebFontCache fontWithFamily:traits:size:]):
2897
2898 2006-09-06  Nikolas Zimmermann  <zimmermann@kde.org>
2899
2900         Reviewed and landed by ap.
2901
2902         Fix Qt/Linux build.
2903
2904         * CMakeLists.txt: Take out CharacterData.cpp from build / add new Text* files to build.
2905         * platform/qt/BrowserExtensionQt.cpp: Add wtf/Platform.h include.
2906         * platform/qt/FontCacheQt.cpp: Add FontData.h include.
2907         * platform/qt/FontQt.cpp:
2908         (WebCore::Font::drawGlyphs): Fix constness in reinterpret_cast.
2909         * platform/qt/FrameQt.cpp:
2910         (WebCore::FrameQt::markMisspellings): Change "SelectionController" param type to "Selection".
2911         (WebCore::FrameQt::respondToChangedSelection): Ditto.
2912         (WebCore::FrameQt::respondToChangedContents): Ditto.
2913         (WebCore::FrameQt::shouldChangeSelection): Ditto.
2914         * platform/qt/FrameQt.h: Ditto.
2915         * platform/qt/ImageQt.cpp:
2916         (WebCore::Image::supportsType): Fix String->QString conversion.
2917         * platform/qt/ResourceLoaderManager.cpp:
2918         (WebCore::ResourceLoaderManager::add): Fix String->DeprecatedString conversion.
2919         * platform/qt/ScrollViewCanvasQt.cpp:
2920         (WebCore::ScrollViewCanvasQt::handleKeyEvent): Adapt to SelectionController signature changes.
2921         * platform/qt/qt-encodings.txt: Removed.
2922
2923 2006-09-06  Darin Adler  <darin@apple.com>
2924
2925         Reviewed by Tim Hatcher.
2926
2927         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10675
2928           tweak font-related headers and convert lists to vectors
2929
2930         One major change was to greatly reduce the number of files that include Font.h.
2931         Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector.
2932
2933         * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.
2934
2935         * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
2936         Font::getNSFont since a WebCore::Font represents more than one NSFont.
2937
2938         * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector.
2939         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
2940         * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto.
2941         * css/CSSComputedStyleDeclaration.cpp:
2942         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
2943         * dom/Document.cpp:
2944         (WebCore::Document::dashboardRegions): Ditto.
2945         (WebCore::Document::setDashboardRegions): Ditto.
2946         * dom/Document.h: Ditto.
2947         * editing/ReplaceSelectionCommand.cpp:
2948         (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
2949         * html/FormDataList.h: Ditto.
2950         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto.
2951         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto.
2952         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto.
2953         * kcanvas/RenderPath.h: Ditto.
2954         * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto.
2955         * kcanvas/RenderSVGImage.h: Ditto.
2956         * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto.
2957         * kcanvas/RenderSVGText.h: Ditto.
2958         * loader/FormData.cpp:
2959         (WebCore::FormData::flatten): Ditto.
2960         (WebCore::FormData::flattenToString): Ditto.
2961         * loader/FormData.h: (WebCore::FormData::elements): Ditto.
2962         * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto.
2963         * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto.
2964         * page/Frame.h: Ditto.
2965         * page/FramePrivate.h: Ditto.
2966         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto.
2967         * rendering/InlineTextBox.h: Ditto.
2968         * rendering/InlineTextBox.cpp:
2969         (WebCore::InlineTextBox::paint): Ditto.
2970         (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
2971         * rendering/RenderContainer.h: Ditto.
2972         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto.
2973         * rendering/RenderInline.h: Ditto.
2974         * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto.
2975         * rendering/RenderObject.h: Ditto.
2976         * rendering/RenderObject.cpp:
2977         (WebCore::RenderObject::lineBoxRects): Ditto.
2978         (WebCore::RenderObject::absoluteRects): Ditto.
2979         (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto.
2980         (WebCore::RenderObject::addDashboardRegions): Ditto.
2981         (WebCore::RenderObject::collectDashboardRegions): Ditto.
2982         * rendering/RenderStyle.h: Ditto.
2983         * rendering/RenderStyle.cpp:
2984         (WebCore::RenderStyle::initialDashboardRegions): Ditto.
2985         (WebCore::RenderStyle::noneDashboardRegions): Ditto.
2986         * rendering/RenderText.h: Ditto.
2987         * rendering/RenderText.cpp:
2988         (WebCore::RenderText::absoluteRects): Ditto.
2989         (WebCore::RenderText::lineBoxRects): Ditto.
2990         * rendering/RenderView.h: Ditto.
2991         * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto.
2992
2993         * bridge/mac/FrameMac.mm:
2994         (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not
2995         depend on getNSFont on a Font.
2996         (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont.
2997         (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto.
2998         (WebCore::convertAttributesToUnderlines): Updated to use Vector.
2999         (WebCore::FrameMac::setMarkedTextRange): Ditto.
3000         (WebCore::FrameMac::dashboardRegionsDictionary): Ditto.
3001
3002         * bridge/mac/WebCoreAXObject.mm:
3003         (boundingBoxRect): Updated to use Vector.
3004         (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.
3005
3006         * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
3007         * page/Settings.h: Ditto.
3008         * platform/mac/WebCoreTextRenderer.mm: Ditto.
3009         * rendering/EllipsisBox.cpp: Ditto.
3010
3011         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
3012         Updated to use a Vector that we iterate in reverse order instead of a linked list
3013         that we reverse by prepending elements instead of adding to the end.
3014         * editing/InsertParagraphSeparatorCommand.cpp:
3015         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
3016
3017         * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.
3018
3019         * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont.
3020         * platform/Font.cpp: Changed to use const instead of #define.
3021         (WebCore::Font::width): Overloaded this so we don't have a default parameter, which
3022         eliminates the need to have TextStyle defined to compiler the Font.h header.
3023
3024         * platform/TextStyle.h: Added.
3025
3026         * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
3027         can stand alone.
3028
3029         * platform/FontFallbackList.h: Tweaks.
3030         * platform/FontFallbackList.cpp: Tweaks.
3031
3032         * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by
3033         using Shared and RefPtr, which resulted in removing many explicit functions.
3034         * platform/FontFamily.cpp: More of the same.
3035
3036         * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
3037         macros.
3038
3039         * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included
3040         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
3041         since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant
3042         to GlyphPage::size.
3043         * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into
3044         constants. Updated for cGlyphPageSize change.
3045         * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change.
3046
3047         * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included
3048         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
3049         since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant
3050         to GlyphWidthPage::size.
3051         * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change.
3052
3053         * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText
3054         function to use overloading instead of default parameters to allow TextStyle to be optional.
3055         This cuts the dependency on TextStyle.
3056         * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload.
3057
3058         * platform/Image.h: Removed unneeded forward declaration of IntSize.
3059
3060         * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
3061         Changed to not depend on Font::getNSFont.
3062         * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto.
3063         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
3064         Ditto.
3065         * rendering/RenderPopupMenuMac.mm:
3066         (WebCore::RenderPopupMenuMac::showPopup): Ditto.
3067         (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto.
3068         (WebCore::RenderPopupMenuMac::addOption): Ditto.
3069
3070         * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
3071         constants and inline functions instead.
3072
3073         * platform/mac/FontMac.mm: Fixed includes.
3074         * platform/mac/PopUpButtonMac.mm: Ditto.
3075         * rendering/RenderMenuList.cpp: Ditto.
3076         * rendering/RenderTextControl.cpp: Ditto.
3077
3078         * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
3079         compatible with all 4 of C, ObjC, C++, ObjC++.
3080
3081 2006-09-05  MorganL  <morlmor@yahoocom>
3082
3083         Reviewed/landed by aroben.
3084
3085         Fixes bug 10743: Windows build is busted.
3086
3087         * WebCore.vcproj/WebCore/WebCore.vcproj:
3088         * bridge/win/FrameWin.h:
3089         * platform/ResourceLoaderInternal.h:
3090         * platform/TextEncodingRegistry.cpp:
3091         * platform/win/ResourceLoaderWin.cpp:
3092         (WebCore::ResourceLoaderWndProc):
3093         (WebCore::ResourceLoader::start):
3094         * platform/win/TemporaryLinkStubs.cpp:
3095         (FrameWin::markMisspellings):
3096         (FrameWin::shouldChangeSelection):
3097         (FrameWin::respondToChangedSelection):
3098         (FrameWin::respondToChangedContents):
3099         (RenderThemeWin::adjustMenuListStyle):
3100
3101 2006-09-05  Darin Adler  <darin@apple.com>
3102
3103         - some quick build fixes
3104
3105         * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar.
3106         * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include
3107         of CharsetNames.h.
3108         * css/CSSGrammar.y: Remove use of WebCore::UChar.
3109         * platform/UChar.h: Back out WebCore::UChar for now.
3110
3111 2006-09-05  Darin Adler  <darin@apple.com>
3112
3113         Reviewed by Alexey.
3114
3115         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10728
3116           text encodings should work without a numeric ID
3117
3118         - includes a fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10681
3119           REGRESSION: Reproducible crash at Wikipedia
3120
3121         - fixed a bug where link elements would not set the charset properly for
3122           CSS stylesheets they loaded
3123
3124         - converted DeprecatedString code paths that are related to decoding web
3125           pages to use String instead, to ensure that conversion back and forth won't
3126           hurt performance
3127
3128         Test: fast/encoding/css-link-charset.html
3129         Test: fast/forms/form-data-encoding-normalization-overrun.html
3130
3131         Coverage for encoding issues is pretty good, so we probably don't need more
3132         tests to land this. Our existing tests did find issues with this patch while
3133         it was under development. And I suppose it would be nice to have even more tests.
3134
3135         * platform/TextEncoding.h:
3136         * platform/TextEncoding.cpp:
3137         (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese.
3138         (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and
3139         added an overload for String as well as const char*. Simplified because now the only
3140         data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function
3141         to make the name canonical (resolve aliases) and atomic (use a single pointer for each
3142         encoding name so we can compare and hash efficiently).
3143         (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top
3144         of TextDecoder that can be used when the data to decode is all present at once.
3145         (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and
3146         then uses the registry to get a codec to handle the rest.
3147         (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the
3148         name of the only encoding that uses visual ordering. We blur the concepts a bit so that
3149         we treat the visual ordering and logical ordering variations as two separate encodings.
3150         (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently
3151         determine if an encoding is Japanese.
3152         (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares
3153         with the names of the two encodings that have the strange backslash.
3154         (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only"
3155         boolean parameter to the constructor.
3156         (WebCore::ASCIIEncoding): Added.
3157         (WebCore::Latin1Encoding): Added.
3158         (WebCore::UTF16BigEndianEncoding): Added.
3159         (WebCore::UTF16LittleEndianEncoding): Added.
3160         (WebCore::UTF8Encoding): Added.
3161         (WebCore::WindowsLatin1Encoding): Added.
3162
3163         * platform/TextEncodingRegistry.h: Added.
3164         * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set
3165         aliases and names and another of all the codecs and parameters for each name.
3166
3167         * platform/TextDecoder.h: Added.
3168         * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data
3169         to the proper codec, based on code that used to be in both the ICU and Mac codecs.
3170
3171         * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename
3172         the files in a later check-in. Moved creation functions into TextEncodingRegistry.h.
3173         Added typedefs of the registrar function types so classes derived from this one
3174         can use them without including the TextEncodingRegistry header. Renamed toUnicode
3175         and fromUnicode to decode and encode. Changed the parameter and return types so that
3176         the parameters are pointers to the data and the return types are String and CString.
3177         * platform/StreamingTextDecoder.cpp:
3178         (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple
3179         classes derived from this one.
3180
3181         * platform/TextCodecLatin1.h: Added.
3182         * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding
3183         Windows Latin-1, based on code that used to be in both the ICU and Mac codecs.
3184
3185         * platform/TextCodecUTF16.h: Added.
3186         * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding
3187         UTF-16, based on code that used to be in both the ICU and Mac codecs.
3188
3189         * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename
3190         the files in a later check-in. Removed all the functions having to do with handling
3191         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
3192         because that's superseded by the registry. Added registry hook functions.
3193         * platform/StreamingTextDecoderICU.cpp:
3194         (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that
3195         ICU can handle with the "IANA" standard. Also includes a special case for a particular
3196         type of encoding for Hebrew that uses logical ordering. Also includes aliases that are
3197         not in ICU but that were historically known to WebKit for encodings that ICU handles. 
3198         (WebCore::newTextCodecICU): Added. Used by registerCodecs.
3199         (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings
3200         as above.
3201         (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the
3202         actual ICU encoding and decoding.
3203         (WebCore::TextCodecICU::~TextCodecICU): Renamed.
3204         (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function.
3205         (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and
3206         to check if the cached converter can be reused in a simpler way.
3207         (WebCore::TextCodecICU::decode): Updated for changes to types.
3208         (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization
3209         since this is now handled by the caller.
3210
3211         * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename
3212         the files in a later check-in. Removed all the functions having to do with handling
3213         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
3214         because that's superseded by the registry. Added registry hook functions.
3215         * platform/mac/StreamingTextDecoderMac.cpp:
3216         (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on
3217         the charset table generated by the make-charset-table.pl perl script.
3218         (WebCore::newTextCodecMac): Added. Used by registerCodecs.
3219         (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings
3220         as above.
3221         (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the
3222         actual TEC/CF encoding and decoding.
3223         (WebCore::TextCodecMac::~TextCodecMac): Renamed.
3224         (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function.
3225         (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function.
3226         (WebCore::TextCodecMac::decode): Updated for changes to types.
3227         (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization
3228         since this is now handled by the caller.
3229
3230         * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now
3231         only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter,
3232         which is only encodings that are not supported by ICU.
3233         * platform/make-charset-table.pl: Removed flags from output. We don't use them any more.
3234         * platform/CharsetData.h: Changed from a platform-independent header into a
3235         Macintosh-specific one. A later patch should move this and rename it. Also
3236         subsumes ExtraCFEncodings.h.
3237
3238         * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
3239         "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.
3240
3241         * loader/Decoder.h: Change the default encoding parameter to the constructor to be
3242         a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a
3243         TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions,
3244         since TextEncoding supports both directly in a straightforward way. Changed both
3245         decode and flush functions to return String instead of DeprecatedString. Added a
3246         number of private functions to factor this class a bit more so it's easier to read.
3247         Got rid of a number of redundant data members. Changed the buffer to a Vector<char>.
3248         * loader/Decoder.cpp:
3249         (WebCore::Decoder::determineContentType): Added. Used by constructor to determine
3250         the content type based on the passed-in MIME type.
3251         (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the
3252         default encoding based on the passed in default and the content type.
3253         (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed
3254         m_reachedBody to m_checkedForHeadCharset.
3255         (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather
3256         than an encoding name.
3257         (WebCore::Decoder::checkForBOM): Factored out of decode.
3258         (WebCore::Decoder::checkForCSSCharset): Factored out of decode.
3259         (WebCore::Decoder::checkForHeadCharset): Factored out of decode.
3260         (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode.
3261         (WebCore::Decoder::decode): Refactored so it's no longer one huge function.
3262         Changed to use the new Vector<char> and the new API for TextDecoder.
3263         (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in
3264         practice since we don't re-use the decoder after flushing it.
3265
3266         * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching
3267         to. We'll switch away from the ICU ::UChar type, because we don't want to be so
3268         closely tied to ICU -- include this instead of <unicode/umachine.h>.
3269
3270         * platform/PlatformString.h:
3271         * platform/String.cpp:
3272         (WebCore::String::latin1): Updated for changes to TextEncoding.
3273         (WebCore::String::utf8): Ditto.
3274         (WebCore::String::newUninitialized): Added. Gives a way to create a String and
3275         then write directly into its buffer.
3276
3277         * platform/StringImpl.h: Changed return value for charactersWithNullTermination to
3278         be a const UChar*. While it's true that this function changes the underlying
3279         StringImpl, the characters still shouldn't be modified with the returned pointer.
3280         * platform/StringImpl.cpp:
3281         (WebCore::StringImpl::charactersWithNullTermination): Updated for change above.
3282         (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl
3283         and then write directly into its buffer.
3284
3285         * platform/CString.h:
3286         * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way
3287         to create a CString and then write directly into its buffer.
3288
3289         * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced
3290         +[WebCoreFrameBridge stringWithData:textEncoding:] with
3291         -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding
3292         IDs around.
3293         * bridge/mac/WebCoreFrameBridge.mm:
3294         (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion
3295         to DeprecatedString.
3296         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3297         Ditto.
3298         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto.
3299         (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString.
3300         (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder
3301         what its encoding is, and decodes using that.
3302         (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it
3303         no longer involved a text encoding ID number.
3304         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
3305         Changed to use UChar instead of DeprecatedChar.
3306         (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed
3307         now-unneeded conversion to DeprecatedString.
3308         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto.
3309
3310         * html/HTMLFormElement.cpp:
3311         (WebCore::encodeCString): Changed parameter to CString.
3312         (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.
3313
3314         * loader/CachedCSSStyleSheet.h:
3315         * loader/CachedCSSStyleSheet.cpp:
3316         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the
3317         decoder was created without passing in the character set. Also changed from
3318         DeprecatedString to String.
3319         (WebCore::CachedCSSStyleSheet::setCharset): More of the same.
3320
3321         * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed
3322         to use String instead of DeprecatedString, UChar instead of DeprecatedChar,
3323         CString instead of DeprecatedCString, etc.
3324         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
3325         * bridge/mac/FrameMac.h: Ditto.
3326         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt):
3327         Ditto.
3328         * bridge/mac/WebCoreAXObject.mm:
3329         (-[WebCoreAXObject helpText]): Ditto.
3330         (-[WebCoreAXObject value]): Ditto.
3331         (-[WebCoreAXObject accessibilityDescription]): Ditto.
3332         (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto.
3333         * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto.
3334         Also fixed code that does a deref without a ref to use RefPtr instead.
3335         * bridge/mac/WebCoreScriptDebugger.mm:
3336         (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto.
3337         * bridge/mac/WebCoreSettings.mm:
3338         (-[WebCoreSettings setDefaultTextEncoding:]): Ditto.
3339         * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto.
3340         * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto.
3341         * dom/Document.h:
3342         * dom/Document.cpp:
3343         (WebCore::Document::setCharset): Ditto.
3344         (WebCore::Document::write): Ditto.
3345         (WebCore::Document::determineParseMode): Ditto.
3346         * dom/ProcessingInstruction.cpp:
3347         (WebCore::ProcessingInstruction::checkStyleSheet): Ditto.
3348         * dom/XMLTokenizer.h:
3349         * dom/XMLTokenizer.cpp:
3350         (WebCore::shouldAllowExternalLoad): Ditto.
3351         (WebCore::createStringParser): Ditto.
3352         (WebCore::XMLTokenizer::write): Ditto.
3353         (WebCore::toString): Ditto.
3354         (WebCore::handleElementAttributes): Ditto.
3355         (WebCore::XMLTokenizer::startElementNs): Ditto.
3356         (WebCore::XMLTokenizer::endElementNs): Ditto.
3357         (WebCore::XMLTokenizer::characters): Ditto.
3358         (WebCore::XMLTokenizer::processingInstruction): Ditto.
3359         (WebCore::XMLTokenizer::cdataBlock): Ditto.
3360         (WebCore::XMLTokenizer::comment): Ditto.
3361         (WebCore::XMLTokenizer::internalSubset): Ditto.
3362         (WebCore::getXHTMLEntity): Ditto.
3363         (WebCore::externalSubsetHandler): Ditto.
3364         (WebCore::XMLTokenizer::initializeParserContext): Ditto.
3365         (WebCore::XMLTokenizer::notifyFinished): Ditto.
3366         (WebCore::xmlDocPtrForString): Ditto.
3367         (WebCore::parseXMLDocumentFragment): Ditto.
3368         (WebCore::attributesStartElementNsHandler): Ditto.
3369         (WebCore::parseAttributes): Ditto.
3370         * html/FormDataList.h:
3371         * html/FormDataList.cpp:
3372         (WebCore::FormDataList::appendString): Ditto. Also changed to call the
3373         encoding function by its new name and with new parameters.
3374         (WebCore::FormDataList::appendFile): Ditto.
3375         * html/HTMLDocument.h:
3376         * html/HTMLDocument.cpp:
3377         (WebCore::parseDocTypePart): Ditto.
3378         (WebCore::containsString): Ditto.
3379         (WebCore::parseDocTypeDeclaration): Ditto.
3380         (WebCore::HTMLDocument::determineParseMode): Ditto.
3381         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto.
3382         * html/HTMLScriptElement.cpp:
3383         (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto.
3384         * html/HTMLTokenizer.h:
3385         * html/HTMLTokenizer.cpp:
3386         (WebCore::HTMLTokenizer::scriptHandler): Ditto.
3387         (WebCore::HTMLTokenizer::parseTag): Ditto.
3388         (WebCore::HTMLTokenizer::write): Ditto.
3389         (WebCore::HTMLTokenizer::finish): Ditto.
3390         (WebCore::parseHTMLDocumentFragment): Ditto.
3391         * loader/Cache.h:
3392         * loader/Cache.cpp:
3393         (WebCore::Cache::requestStyleSheet): Ditto.
3394         (WebCore::Cache::requestScript): Ditto.
3395         * loader/CachedResource.h: Ditto.
3396         * loader/CachedScript.h:
3397         * loader/CachedScript.cpp:
3398         (WebCore::CachedScript::CachedScript): Ditto.
3399         (WebCore::CachedScript::ref): Ditto.
3400         (WebCore::CachedScript::deref): Ditto.
3401         (WebCore::CachedScript::setCharset): Ditto.
3402         (WebCore::CachedScript::data): Ditto.
3403         (WebCore::CachedScript::checkNotify): Ditto.
3404         * loader/CachedXBLDocument.h:
3405         * loader/CachedXBLDocument.cpp:
3406         (WebCore::CachedXBLDocument::setCharset): Ditto.
3407         * loader/CachedXSLStyleSheet.h:
3408         * loader/CachedXSLStyleSheet.cpp:
3409         (WebCore::CachedXSLStyleSheet::setCharset): Ditto.
3410         * loader/DocLoader.cpp:
3411         (WebCore::DocLoader::requestStyleSheet): Ditto.
3412         (WebCore::DocLoader::requestScript): Ditto.
3413         * loader/DocLoader.h: Ditto.
3414         * loader/FormData.h:
3415         * loader/FormData.cpp:
3416         (WebCore::FormData::FormData): Ditto.
3417         (WebCore::FormData::appendFile): Ditto.
3418         (WebCore::FormData::flattenToString): Ditto.
3419         * page/Frame.h:
3420         * page/FramePrivate.h:
3421         * page/Frame.cpp:
3422         (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto.
3423         (WebCore::getString): Ditto.
3424         (WebCore::Frame::replaceContentsWithScriptResult): Ditto.
3425         (WebCore::Frame::executeScript): Ditto.
3426         (WebCore::Frame::clear): Ditto.
3427         (WebCore::Frame::write): Ditto.
3428         (WebCore::Frame::endIfNotLoading): Ditto.
3429         (WebCore::Frame::baseTarget): Ditto.
3430         (WebCore::Frame::scheduleRedirection): Ditto.
3431         (WebCore::Frame::scheduleLocationChange): Ditto.
3432         (WebCore::Frame::scheduleHistoryNavigation): Ditto.
3433         (WebCore::Frame::changeLocation): Ditto.
3434         (WebCore::Frame::redirectionTimerFired): Ditto.
3435         (WebCore::Frame::encoding): Ditto.
3436         (WebCore::Frame::submitForm): Ditto.
3437         (WebCore::Frame::referrer): Ditto.
3438         (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto.
3439         (WebCore::Frame::setEncoding): Ditto.
3440         * page/Settings.h: Ditto.
3441         * platform/SegmentedString.h: Ditto.
3442         * platform/SegmentedString.cpp: Ditto.
3443         * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto.
3444         * xml/XSLTProcessor.cpp:
3445         (WebCore::transformTextStringToXHTMLDocumentString): Ditto.
3446         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
3447         * xml/xmlhttprequest.h:
3448         * xml/xmlhttprequest.cpp:
3449         (WebCore::XMLHttpRequest::open): Ditto.
3450         (WebCore::XMLHttpRequest::send): Ditto.
3451         (WebCore::XMLHttpRequest::receivedData): Ditto.
3452
3453         * platform/DeprecatedString.cpp:
3454         (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
3455         (WebCore::DeprecatedString::utf8): Ditto.
3456
3457         * platform/KURL.h:
3458         * platform/KURL.cpp:
3459         (WebCore::KURL::KURL): Updated to overload based on presence or absence of
3460         TextEncoding rather than having a default.
3461         (WebCore::KURL::init): Moved body of constructor in here. Updated to use
3462         the new TextEncoding interface.
3463         (WebCore::KURL::decode_string): Updated to overload based on presence or
3464         absence of TextEncoding rather than having a default. Updated to use
3465         the new TextEncoding interface.
3466         (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface.
3467
3468         * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
3469         code to use U_ZERO_ERROR instead of a typecast.
3470
3471         * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
3472         * platform/GraphicsContext.h: Ditto.
3473
3474         * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
3475         * rendering/break_lines.cpp: Ditto.
3476         * xml/XMLSerializer.cpp: Ditto.
3477
3478         * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.
3479
3480         * platform/CharsetNames.h: Emptied out this file. A later patch could remove it.
3481         * platform/CharsetNames.cpp: Ditto.
3482         * platform/mac/ExtraCFEncodings.h: Ditto.
3483
3484 2006-09-05  Nikolas Zimmermann  <zimmermann@kde.org>
3485
3486         Reviewed by eseidel.  Landed by eseidel.
3487
3488         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10490
3489
3490         -> Remove all SVGAnimated* usage from ksvg2.
3491         This is all done using a set of macros which live in svg/SVGElement.h
3492         (ANIMATED_PROPERTY_DECLARATIONS / ANIMATED_PROPERTY_DEFINITIONS).
3493         Transform all properties to this new concept using Eric ruby script.
3494
3495         -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()".
3496         -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()".
3497
3498         -> Add "virtual const SVGElement* contextElement() const".
3499         This concept allows to access the document (needed to access the SVGDocumentExtensions)
3500         from lowest-base-classes like SVGURIReference / SVGExternalResourcesRequired etc.
3501
3502         These classes contain this contextElement() function as pure virtual functions.
3503         The topmost classes (like SVGCircleElement) implement this function with "return this".
3504
3505         -> Move default value initialization to constructors.
3506         As the lazy_create usage, which was involved in default property initialization,
3507         has been removed, we need to do the initialization in the constructor.
3508         
3509         This forces us to fix the SVGLength class, as calling viewportElement() from the
3510         constructor does not work. This SVGLength cleanup is one of the next things to fix.
3511
3512         * bindings/scripts/CodeGeneratorJS.pm:
3513         * kcanvas/RenderForeignObject.cpp:
3514         (WebCore::RenderForeignObject::translationForAttributes):
3515         * kcanvas/RenderSVGImage.cpp:
3516         (WebCore::RenderSVGImage::paint):
3517         (WebCore::RenderSVGImage::relativeBBox):
3518         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
3519         (WebCore::RenderSVGImage::translationForAttributes):
3520         * kcanvas/RenderSVGText.cpp:
3521         (WebCore::RenderSVGText::translationForAttributes):
3522         * ksvg2/misc/KSVGTimeScheduler.cpp:
3523         (WebCore::SVGTimer::notifyAll):
3524         * ksvg2/misc/SVGDocumentExtensions.cpp:
3525         * ksvg2/misc/SVGDocumentExtensions.h:
3526         (WebCore::SVGDocumentExtensions::baseValueMap):
3527         (WebCore::SVGDocumentExtensions::baseValue):
3528         (WebCore::SVGDocumentExtensions::setBaseValue):
3529         (WebCore::SVGDocumentExtensions::hasBaseValue):
3530         (WebCore::String):
3531         (WebCore::bool):
3532         (WebCore::double):
3533         * ksvg2/misc/SVGImageLoader.cpp:
3534         (WebCore::SVGImageLoader::updateFromElement):
3535         * ksvg2/svg/SVGAElement.cpp:
3536         (WebCore::SVGAElement::parseMappedAttribute):
3537         (WebCore::SVGAElement::defaultEventHandler):
3538