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